Hermes-Agent 修改上下文压缩阀值当 Hermes-Agent 通过 sub2api 代理接入 GPT-5.5 时表面上模型元数据会让 Hermes 认为上下文窗口约为 1 兆 token。实际代理链路只稳定支持约 272K 上下文一旦对话继续增长到这个真实上限附近就会在上下文压缩或后续请求阶段触发 502。解决思路不是换模型而是把 Hermes-Agent 的上下文长度和压缩触发阀值改到代理真实能力以内让压缩提前发生。1. 问题现象通过 sub2api 代理 GPT-5.5 使用 Hermes-Agent长对话跑到一定长度后接口会返回 502。常见报错类似Compression summary failed HTTP 502 Bad Gateway context length exceeded / request too large这通常不是模型不可用而是 Hermes 发送的请求超过了代理侧真实上限。2. 根因判断Hermes-Agent 默认会按模型元数据识别 GPT-5.5 的超长窗口很多路由会显示约 1M 上下文。但 sub2api 代理方式不是原生 1M 通道它在实际转发时最大只支持约 272K。结果就是Hermes 以为还能继续塞上下文sub2api 却已经拒绝于是压缩摘要请求或主请求在代理层变成 502。3. 关键概念这里要区分两个配置model.context_length告诉 Hermes 当前链路真实可用的上下文上限。agent.compression.threshold上下文达到多少比例时触发自动压缩。只改 threshold 但不改 context_lengthHermes 仍可能按 1M 计算只改 context_length 但阀值太高也可能在代理边界前才开始压缩风险仍然偏大。4. 推荐配置把主模型上下文长度显式改为 272000并让压缩在 85% 左右触发model:context_length:272000agent:compression:enabled:truethreshold:0.85target_ratio:0.20这样 Hermes 会按 272K 作为真实窗口并在约 231K token 时提前压缩避免等到 sub2api 代理已经顶不住才发请求。5. CLI 修改方式如果使用 Hermes CLI可以直接执行hermes configsetmodel.context_length272000hermes configsetagent.compression.enabledtruehermes configsetagent.compression.threshold0.85hermes configsetagent.compression.target_ratio0.20修改后重启 Hermes-Agent 或重新打开会话让新配置进入当前运行进程。6. 手动编辑方式也可以编辑配置文件hermes config edit确认~/.hermes/config.yaml中存在对应配置。如果当前使用的是 profile需要编辑对应 profile 的配置目录而不是默认配置。~/.hermes/config.yaml ~/.hermes/profiles/profile/config.yaml7. 验证是否生效重启后检查启动日志或上下文状态应该看到类似Context limit: 272,000 tokens compress at 85% 231,200如果仍然显示 1,000,000 级别的 context limit说明配置没有被当前 profile 读取或配置层级写错。8. 辅助压缩模型上下文压缩本身也会调用模型生成摘要。为了稳定建议为压缩指定一个更便宜、更稳定、上下文足够的辅助模型而不是让压缩继续走同一个 sub2api GPT-5.5 代理。agent:auxiliary:compression:provider:openroutermodel:openai/gpt-4o-minicontext_length:128000如果你的 Hermes 版本使用不同配置层级以官方文档和当前版本hermes config输出为准。核心原则是压缩摘要请求不要再撞到同一个 272K 代理瓶颈。9. 常见坑第一错误地以为 GPT-5.5 一定能用 1M 上下文。模型能力和代理链路能力是两件事。第二只看到 502 就去换 API key。真实原因往往是请求体过大不是认证失败。第三修改了默认 profile但运行的是另一个 profile。profile 不同配置文件也不同。第四修改配置后没有重启。上下文压缩器在启动时读取阀值旧进程不会自动刷新所有参数。10. 最终结论sub2api 代理 GPT-5.5 时Hermes-Agent 不能继续按 1M 上下文使用。把model.context_length固定到 272000并把自动压缩阀值设置为 0.85 左右才能让压缩在真实代理上限前发生从根上规避 272K 附近的 502。