Hermes 视觉方案实战:YAML 配置让 DeepSeek 也学会看懂图片


#HermesAgent #DeepSeek #ClaudeHaiku #视觉方案
长话短说
DeepSeek 推理强、成本低、中文丝滑,但不支持多模态。Hermes Agent 的 auxiliary.vision 可在不换主模型前提下,把视觉外包给 Claude Haiku——纯 YAML 配置,零代码侵入。本文完整记录配置路径、踩坑点和验证方法。
用 Hermes Agent 有一段时间了。主模型选的 DeepSeek v4 pro,推理强、成本低、中文丝滑,各方面都很满意,直到我需要它「看」一张图。
一、Error 400:纯文本模型的边界
当你用 vision_analyze 向 DeepSeek 传图时,API 直接拒绝:
Error 400: unknown variant `image_url`, expected `text`不是配置问题。DeepSeek v4 pro 本身不支持多模态——它的 API 协议中 content 只接受 text 类型。换一个多模态模型(GPT-4o 或 Claude Sonnet)当然可以,但代价是你要为一个偶尔的需求,每天都在更贵的模型上跑所有文本推理。多数时候你只写代码、读文档、聊天——视觉月使用率可能不到 5%。
二、核心思路:大脑和眼睛,本就不是一个器官
Hermes Agent 架构中有一个被忽略的关键特性:主模型和辅助视觉模型可以分开配置。
●model.provider——日常文本推理、写代码、对话
●auxiliary.vision——看图,仅当需要视觉时激活
两者互不干扰。你用 vision_analyze 工具或浏览器截图分析时,Hermes 自动把图片发给 vision provider,拿到文字描述后再交还给主模型。**DeepSeek 继续做文本推理,看图外包给 Claude Haiku。**大脑负责推理,眼睛负责感知——生物学基本常识,却被大多数 AI 框架忽略了。
三、配置步骤:4 步,零代码
▸Step 1:找 Anthropic 兼容的 API 中转
Claude Haiku 使用 Anthropic Messages API 格式。有直连 Anthropic Key 可跳过此步。在国内可用支持 anthropic_messages 的中转平台,如 Dragon Code(dragoncode.codes)。准备:base_url、api_key、模型 ID(claude-haiku-4-5-20251001)。
▸Step 2:config.yaml 加 custom_providers
custom_providers:
- name: custom-dragoncode-codes
base_url: https://dragoncode.codes
api_key: sk-your-api-key-here
api_mode: anthropic_messages
models:
- claude-haiku-4-5-20251001FIX踩坑
api_mode 必须写 anthropic_messages,不是 openai。Anthropic 请求体结构与 OpenAI 完全不同。Hermes 在 anthropic_messages 模式会自动转换。写错了直接 400。
api_key_env 不稳定,直接写 api_key 字段更稳妥。
▸Step 3:配置 auxiliary.vision
auxiliary:
vision:
provider: custom-dragoncode-codes
model: claude-haiku-4-5-20251001同样可用 CLI:hermes config set auxiliary.vision.provider custom-dragoncode-codes
▸Step 4:禁用 smart_model_routing
否则 Hermes 可能自动切模型,打破成本隔离。
smart_model_routing:
enabled: false四、验证方案:三阶段测试
●curl 直测 API — 发一条普通文本请求,确认能正常返回。
●curl 测 vision — 发含 image_url 的请求,确认返回正确描述。
●Hermes 内实测 — /reset 后问「看看这张图里有什么」。成功描述而非抛 400,配置生效。
五、为什么这个设计聪明
成本隔离 DeepSeek 处理 95% 文本任务,Haiku 仅在需要视觉时介入。两者走不同 API 计费,互不干扰。
模型解耦 文本和视觉模型可独立升级。明天出了更好的视觉模型,改 auxiliary.vision.provider 即可。
零代码 纯 YAML 配置。不改一行源码,不写一段脚本。
Hermes 的 auxiliary 体系不止服务于视觉。web_extract、compression、session_search 同样可配置独立辅助模型。这是「主模型做决策,专用模型做执行」的架构范式。
六、常见误区
FIX避坑汇总
api_mode 写错 — anthropic_messages 不是 openai,写错 400。
provider name 不匹配 — auxiliary.vision.provider 必须等于 custom_providers.name。
忘关 smart_model_routing — 成本隔离失效。
配置后需要 /reset — 不是 restart gateway,是会话内 /reset 重建 session。
api_key_env 不稳定 — 直接写 api_key 字段。
"最好的架构不是功能最多的,是选择最清晰的那一个。"
SOURCES
Bridge Wang (@qc777qc) — Hermes 视觉方案实战 (2026-05-15). X/Twitter Thread
Nous Research — Hermes Agent Documentation. hermes-agent.nousresearch.com