剪藏#剪藏#极客BIM设计工坊

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

2026 年 8 月 18 日1 分钟
分享Twitter / XTelegram微博
Hermes 视觉方案实战:YAML 配置让 DeepSeek 也学会看懂图片 封面

Notion image

#HermesAgent #DeepSeek #ClaudeHaiku #视觉方案

长话短说

DeepSeek 推理强、成本低、中文丝滑,但不支持多模态。Hermes Agent 的 auxiliary.vision 可在不换主模型前提下,把视觉外包给 Claude Haiku——纯 YAML 配置,零代码侵入。本文完整记录配置路径、踩坑点和验证方法。

用 Hermes Agent 有一段时间了。主模型选的 DeepSeek v4 pro,推理强、成本低、中文丝滑,各方面都很满意,直到我需要它「看」一张图

一、Error 400:纯文本模型的边界

当你用 vision_analyze 向 DeepSeek 传图时,API 直接拒绝:

JAVASCRIPT
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

JAVASCRIPT
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-20251001

FIX踩坑

api_mode 必须写 anthropic_messages,不是 openai。Anthropic 请求体结构与 OpenAI 完全不同。Hermes 在 anthropic_messages 模式会自动转换。写错了直接 400。

api_key_env 不稳定,直接写 api_key 字段更稳妥。

Step 3:配置 auxiliary.vision

JAVASCRIPT
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 可能自动切模型,打破成本隔离。

JAVASCRIPT
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

原文地址: https://mp.weixin.qq.com/s?__biz=MzI2MjA3ODk0OQ==&mid=2648117530&idx=1&sn=730e14edf95c2c10e8d5313663698177&chksm=f370b30e095acd04dc142973708fcaa979d4301c21515dab22d4c049f85f8b60139802c96397&mpshare=1&scene=1&srcid=05150ZVNcW5mnuHGfm7a4ouX&sharer_shareinfo=23b94976c105de81ad2c3031b2b05ecc&sharer_shareinfo_first=23b94976c105de81ad2c3031b2b05ecc#rd

相关文章