分类: Hermes Agent 教程

Hermes Agent 接入 DeepAI、OpenAI Compatible API、自定义模型端点、部署和排错教程。

模型明明能用,菜单里却没有:Hermes Copilot /model 选择器为什么藏起新模型模型明明能用,菜单里却没有:Hermes Copilot /model 选择器为什么藏起新模型

Hermes Copilot /model 选择器只查 COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN,没 fallback 到 auth.json 里的 OAuth access_token,导致 claude-opus-4.7、gpt-5.5 等模型能直接输入使用,却不出现在菜单里。本文复盘 #16708。

钥匙明明在 .env,Hermes 却说找不到:credential_pool 只摸口袋不看保险箱钥匙明明在 .env,Hermes 却说找不到:credential_pool 只摸口袋不看保险箱

Hermes 把 API key 放在 ~/.hermes/.env 里却仍报 No API key found?本文复盘 #15932:credential_pool._seed_from_env 只看 os.environ,auth 解析也没有 fallback 到 credential pool,导致 OpenAI-compatible provider 的认证链路断掉。

9000 轮配置,为什么跑着跑着又变成 90?Hermes Gateway 被旧 .env 反杀的配置优先级坑9000 轮配置,为什么跑着跑着又变成 90?Hermes Gateway 被旧 .env 反杀的配置优先级坑

Hermes Gateway 中 agent.max_turns 写成 9000,却在长任务心跳里显示 iteration X/90。本文复盘 #19158:为什么旧 .env 里的 HERMES_MAX_ITERATIONS=90 会通过 dotenv reload 覆盖 config.yaml,以及如何排查配置优先级。

你以为传进 Docker 的变量,其实从没上车:Hermes docker_env 配置为何失效你以为传进 Docker 的变量,其实从没上车:Hermes docker_env 配置为何失效

Hermes 的 terminal.docker_env 写在 config.yaml 里却没有进入 Docker 容器,根因是 env_mappings 缺少 docker_env 到 TERMINAL_DOCKER_ENV 的映射。本文复盘 #20537:为什么配置看似存在,运行时却只拿到默认空 dict。

没装 Claude,Agent 却偏要调用 Claude:Hermes delegate_task 的“示例诱导”问题没装 Claude,Agent 却偏要调用 Claude:Hermes delegate_task 的“示例诱导”问题

Hermes delegate_task 在工具 schema 中把 claude 和 Claude Code 写成显眼示例,可能诱导 Agent 在未安装 Claude 的环境里尝试 Claude ACP。本文复盘 #22013:为什么工具说明本身也是 prompt surface,以及如何用环境检测和 schema gating 降低误调用。

你明明发过,session_search 却说没见过:Hermes 记忆检索少了哪一块你明明发过,session_search 却说没见过:Hermes 记忆检索少了哪一块

Hermes session_search 能搜到 messages.content,却搜不到 tool_calls 和 tool_name。本文复盘 #16751:为什么工具参数、函数名和工具轨迹明明存进数据库,却在 FTS 检索里消失,以及该如何修复索引结构。

一个工具会失败,两个工具反而可能成功:Hermes Memory 调度路径的反直觉 bug一个工具会失败,两个工具反而可能成功:Hermes Memory 调度路径的反直觉 bug

Hermes Honcho memory tools 在单工具调用时返回 Unknown tool,但多工具并发路径有时正常。本文复盘 #15118:schema 已注入不代表执行层会路由成功,sequential dispatch 漏掉 MemoryManager.has_tool() 才是真正根因。

对象不是流:Copilot ACP 把 SimpleNamespace 塞进迭代器后的连锁崩溃对象不是流:Copilot ACP 把 SimpleNamespace 塞进迭代器后的连锁崩溃

Hermes copilot-acp 使用 claude-opus-4.7 时出现 SimpleNamespace object is not iterable,不是模型或 API Key 问题,而是 ACP adapter 把对象当成 stream iterable 处理。本文复盘 #16271,解释 acp://copilot 的 response 形态为什么不能靠猜。

长任务最怕的不是中断,而是压缩时悄悄失忆长任务最怕的不是中断,而是压缩时悄悄失忆

Hermes 长任务遇到 incomplete chunked read 时,context compression 可能插入 static fallback marker 并移除中间 turns,却没有生成真实摘要。本文复盘 #18458:为什么压缩摘要失败比普通中断更危险,以及 retry/fallback 应该如何设计。

一个终端开关,为什么会让 Discord 消息开始流式编辑?一个终端开关,为什么会让 Discord 消息开始流式编辑?

Hermes issue #8338 暴露了一个配置优先级反转:display.streaming 本应只控制 CLI 终端显示,却错误覆盖了 Gateway 的 streaming.enabled: false,让 Discord、Telegram 等消息平台开始流式编辑。本文解释根因、影响和修复思路。

Copilot 接入里最隐蔽的坑:模型目录、Token 与企业端点其实是同一条链Copilot 接入里最隐蔽的坑:模型目录、Token 与企业端点其实是同一条链

Hermes Copilot provider 的问题不只是 context window 写错:静态模型目录、原始 GitHub token、OAuth client ID、企业 endpoint 是同一条能力发现链。本文复盘 #7731 与 #15114,解释为什么 Copilot 不能当普通 OpenAI-compatible 接口处理。

1M 上下文不是越大越好:Hermes 在 Claude Pro 上踩到的 200K 限制1M 上下文不是越大越好:Hermes 在 Claude Pro 上踩到的 200K 限制

Hermes 默认 1M context window 看似更强,但 Claude Pro 账号实际常见限制是 200K,GPT 与本地 Ollama 也可能被错误报大。本文复盘 #3577:为什么上下文窗口不是越大越好,而是越准确越好。