Tools

Vision

Image understanding capabilities exposed to the agent.

Vision

What it is

Image understanding capabilities exposed to the agent.

In plain terms

Hermes can’t glance at a picture on its own, so when it needs to know what’s actually inside one, it calls in outside help. It downloads the image, hands it to whichever route can actually look at pictures, and gets back an answer to a specific question — what does this screenshot say, what’s in this diagram — instead of guessing from a text description alone.

Why it matters

Looking at an actual image, rather than only reasoning about a text description of one, is what the vision toolset adds — registered as a single vision_analyze tool. It complements web search and file tools in research-style workflows: fetch a screenshot or diagram, then analyze it directly instead of relying on surrounding text to describe its contents. Not every configured model supports image input, which makes this a capability gated by model choice as much as toolset configuration.

How it works

vision_analyze takes an image URL or a local file path, downloads and normalizes it — including converting SVGs to PNG — before deciding how to answer (tools/vision_tools.py). When the active main model’s provider natively accepts images inside tool results, Hermes takes a fast path: the raw image bytes get handed straight back so the main model sees the picture itself on its next turn, no extra model call involved. When it doesn’t, Hermes falls back to a separate auxiliary vision model — Gemini 3 Flash Preview via OpenRouter by default — which describes the image in text, and that description is what the main model actually reads. Downloaded images are cleaned up from a temporary cache afterward; local file paths are left untouched since they weren’t downloaded in the first place.

A concrete example

Someone pastes a link to a screenshot of a cryptic error dialog and asks what’s wrong.

  1. Hermes calls vision_analyze with the image URL and the question.
  2. If the main model can see images directly, it reads the screenshot itself on the next turn; otherwise the auxiliary vision model describes it in text first. Either way, the reply explains what the error message says and a likely cause — without the person retyping it by hand.

How it connects

This note belongs to the Tools family. Its closest neighboring concepts are: Web Search, Image Generation, Agent Runtime, Personal OS.

Source evidence

  • vendor/hermes-agent/toolsets.py#<file> — Structural Source Map fallback for toolsets.py. A core source file in the Tool Registry and Toolsets structure within Tools, Toolsets, and MCP.

Workflows

  • No first-pass workflow mapping yet; this concept still appears in the vault graph through articles and source evidence.
  • No article currently mentions this concept by name/alias often enough to qualify (see mention-mining policy).