分类: Hermes 模型与 Provider API

Hermes Agent 中模型选择、Provider、OpenAI-compatible API、认证、参数兼容等文章。

Hermes agent deepai responses empty tool name 400.png

Hermes Agent 接入 DeepAI API 中转站:Responses API 空工具名 input[n].name 400 排查Hermes Agent 接入 DeepAI API 中转站:Responses API 空工具名 input[n].name 400 排查

Hermes Agent 使用 custom GPT-5 OpenAI-compatible 网关时,多轮会话可能因历史里出现空 function_call.name 或空 tool_call_id,触发 Responses API 400:Invalid input[n].name empty string。本文结合 Hermes Agent Issue #11411,整理 DeepAI API 中转站日志、工具调用历史清洗和协议选择排查方法。

Hermes agent deepai gpt5 custom endpoint api mode codex responses.png

Hermes Agent 接入 DeepAI API 中转站:gpt-5 自定义端点被强制走 codex_responses 怎么排查Hermes Agent 接入 DeepAI API 中转站:gpt-5 自定义端点被强制走 codex_responses 怎么排查

Hermes Agent 使用自定义 OpenAI-compatible 端点接入 API 中转站时,如果模型名以 gpt-5 开头,即使显式设置 api_mode=chat_completions,也可能被运行时强制切到 codex_responses,导致响应变慢或卡住。本文结合 Hermes Agent Issue #10473,整理 DeepAI API 中转站场景下的协议选择、模型命名和排查方法。

Hermes agent deepai custom endpoint model lock.png

Hermes Agent 接入 DeepAI API 中转站:自定义端点多模型被锁定怎么排查Hermes Agent 接入 DeepAI API 中转站:自定义端点多模型被锁定怎么排查

Hermes Agent 使用自定义 OpenAI-compatible 端点接入多模型 API 中转站时,如果 hermes model 总是锁定第一次选择的模型,根因可能是 custom_providers[].model 已保存导致提前返回,不再探测 /v1/models。本文结合 Hermes Agent Issue #6862,整理 DeepAI API 中转站多模型路由场景下的排查和修复思路。

Hermes agent deepai max tokens context compression.png

Hermes Agent 接入 DeepAI API 中转站:max_tokens 400 与上下文压缩失败排查Hermes Agent 接入 DeepAI API 中转站:max_tokens 400 与上下文压缩失败排查

Hermes Agent 自动上下文压缩时,辅助模型请求因 max_tokens 参数被新模型拒绝并返回 400,导致 fallback context marker 和上下文丢失怎么办?本文结合 Hermes Agent GitHub 已关闭 Issue,整理 DeepAI API 中转站、多模型路由、max_completion_tokens 和辅助任务参数兼容排查方法。

Hermes agent deepai custom provider auxiliary.png

Hermes Agent 接入 DeepAI API 中转站:custom Provider 辅助任务走错端点怎么排查Hermes Agent 接入 DeepAI API 中转站:custom Provider 辅助任务走错端点怎么排查

Hermes Agent 使用 custom OpenAI-compatible Provider 时,主模型能用但 approval、compression、title generation 等辅助任务 fallback 到错误端点怎么办?本文结合 Hermes Agent GitHub 已关闭 Issue,整理 DeepAI API 中转站接入、config.yaml 显式配置和日志排查方法。

只有思考没有正文,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 的认证链路断掉。

对象不是流: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 形态为什么不能靠猜。

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

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