分类: Hermes 上下文、流式与输出

Hermes 上下文窗口、截断、流式输出、空响应、压缩和输出长度问题。

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 中转站日志、工具调用历史清洗和协议选择排查方法。

Openclaw deepai stream true sse wrapper no display.png

OpenClaw 接入 DeepAI API 中转站:stream=true 返回单个 JSON 导致界面不显示怎么修OpenClaw 接入 DeepAI API 中转站:stream=true 返回单个 JSON 导致界面不显示怎么修

OpenClaw openai-completions Provider 默认发送 stream:true,如果自定义 OpenAI-compatible model-router 只返回单个 chat.completion JSON,界面可能沉默不显示。本文结合 OpenClaw Issue #14262,说明为什么 stream:true 必须返回 text/event-stream SSE chunk,以及 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 流式输出也会崩: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 必须稳定。

对象不是流: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 等消息平台开始流式编辑。本文解释根因、影响和修复思路。

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

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

让 Hermes 别回复却收到 Codex incomplete?空响应被重试 3 次的原因让 Hermes 别回复却收到 Codex incomplete?空响应被重试 3 次的原因

Hermes openai-codex 路径中,用户要求机器人不回复时,completed empty final answer 曾被归一化成 incomplete 并重试 3 次。本文解释空响应不等于未完成、finish_reason 误判、continuation loop 和群聊机器人“沉默成功”的重要性。

Ollama 本地模型记不住上一轮?Hermes Agent num_ctx 与 2048 上下文截断排错指南Ollama 本地模型记不住上一轮?Hermes Agent num_ctx 与 2048 上下文截断排错指南

Hermes Agent 接入 Ollama 后同一会话记不住上一轮?这可能不是 memory tool 坏了,而是 Ollama num_ctx 回落到 2048 导致历史被服务端静默截断。本文解释 context_length、ollama_num_ctx、/api/show 探测失败和 PR #19613 的修复方向。

Hermes 多模态排错:image_url 发给非视觉模型为什么会 400?Hermes 多模态排错:image_url 发给非视觉模型为什么会 400?

Hermes 接入 OpenAI-compatible API 时,图片消息会变成 image_url content part。如果当前模型不是 vision model,就可能返回 HTTP 400。本文基于 Hermes PR #23750 讲清 non-vision model、多模态和 DeepAI 接入排错。