自动安装最怕半路要密码:Hermes 在 Playwright 步骤卡住 sudo 的半成品安装坑自动安装最怕半路要密码:Hermes 在 Playwright 步骤卡住 sudo 的半成品安装坑

Hermes 安装器在非 sudo 服务用户下运行 Playwright Chromium --with-deps 时会卡在 sudo 密码提示,且发生在 setup_path 之前,导致 hermes 命令和 hermes doctor 都没创建。本文复盘 #25816:为什么可选浏览器步骤不应阻断核心安装。

安全过滤器把注释也当命令了:Hermes 终端误杀 setsid / nohup 的坑安全过滤器把注释也当命令了:Hermes 终端误杀 setsid / nohup 的坑

Hermes terminal safety filter 曾用简单正则扫描 nohup/disown/setsid,导致 git commit message、PR body、Python -c 代码和 echo 文本里的关键词也被当作真实后台命令拦截。本文复盘 #20064:为什么安全过滤不能只靠关键词扫描。

只有思考没有正文,Hermes 流式输出也会崩:Gemini reasoning-only delta 的 .content 空洞只有思考没有正文,Hermes 流式输出也会崩:Gemini reasoning-only delta 的 .content 空洞

Gemini Code Assist streaming 中 reasoning-only delta 先于正文到达,Hermes 旧版 _make_stream_chunk 没有补 content=None,导致 downstream 访问 delta.content 时报 AttributeError。本文复盘 #24974:为什么流式 chunk schema 必须稳定。

模型需要 max_completion_tokens,Hermes 却按网址猜参数:自定义 OpenAI 兼容端点的 400 坑模型需要 max_completion_tokens,Hermes 却按网址猜参数:自定义 OpenAI 兼容端点的 400 坑

Hermes 在自定义 OpenAI-compatible endpoint 上只按 URL host 判断 max_tokens / max_completion_tokens,导致 gpt-4o、gpt-4.1、gpt-5、o-series 模型返回 unsupported_parameter 400。本文复盘 #13901,并说明 DeepAI API 中转站场景该如何排查。

少了一个 api_mode,模型目录就串台:Hermes 自定义 Provider 为什么把 Anthropic 当 OpenAI 校验少了一个 api_mode,模型目录就串台:Hermes 自定义 Provider 为什么把 Anthropic 当 OpenAI 校验

Hermes 自定义 provider 明明配置了 api_mode: anthropic_messages,/model 校验却丢掉 api_mode,导致按 OpenAI catalog 探测并提示 gpt-5-pro 等相似模型。本文复盘 #9146:为什么协议模式必须贯穿 validate_requested_model、probe_api_models 与 fetch_api_models。

模型明明能用,菜单里却没有: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() 才是真正根因。