# Vision Configuration (auxiliary vision) Hermes uses the `auxiliary.vision` config section for image analysis, not the top-level `vision` section. This was discovered after multiple failed attempts to configure vision using `hermes config set vision.provider` — those changes set the wrong key and had no effect. ## Working Configuration ```yaml auxiliary: vision: provider: admin-ai model: gemini-flash-latest timeout: 120 ``` ## Set via CLI ```bash hermes config set auxiliary.vision.provider "admin-ai" hermes config set auxiliary.vision.model "gemini-flash-latest" ``` ## Gateway Restart Required Changes to `auxiliary.*` take effect ONLY after a gateway restart. The `/restart` command from within a Telegram session works for this — it gracefully drains active runs and restarts. ## Common Mistakes | Wrong | Right | |-------|-------| | `hermes config set vision.provider admin-ai` | `hermes config set auxiliary.vision.provider admin-ai` | | Setting it but not restarting the gateway | Run `/restart` after changing | | Using a model name that the provider doesn't support | List available models first: `curl -s https://admin-ai.itpropartner.com/v1/models` | | Expecting local file paths to work | The vision provider fetches images via HTTP URL. Local files in /root/.hermes/cache/images/ need to be served or copied to a public URL first | ## Testing ```bash # After restart, send an image via Telegram or use: vision_analyze(image_url="https://example.com/image.jpg", question="What's in this image?") ```