Server Connection and Debugging Issues
诊断结果
实例1(讯飞 API - astron-code-latest)
核心问题:API URL 路径重复
config.yaml 中 base_url 设置为 https://maas-coding-api.cn-huabei-1.xf-yun.com/v2,但 Claude Code SDK 会自动在 base_url 后追加 /v1/messages,导致实际请求路径变成了 /v2/v1/messages——这是一个错误的路径。
调试日志明确显示:[API REQUEST] /v2/v1/messages source=sdk[ERROR] Stream completed without receiving message_start event
另外,实例1 的 Hermes Gateway 进程目前没有正常运行,只剩一个空壳 bash wrapper。
实例2(meai.cloud API - claude-sonnet-4-6)
核心问题:辅助任务全部超时
主 API(meai.cloud)本身是通的,但所有辅助任务(上下文压缩、记忆刷新、会话搜索)使用 provider: auto,自动回退到讯飞 API(astron-code-latest),而讯飞 API 响应极慢导致连锁超时:Auxiliary compression: connection error on auto (Request timed out.)Failed to generate context summary: Request timed out.
最终导致:
- 达到最大迭代次数 60/60,被强制停止
- 会话被压缩2次,精度严重下降
- 出现未知工具错误 (
Unknown tool 'runbook_generator',Unknown tool 'list')
修复方案
需要修改两处配置。你要我现在直接上服务器修复吗?具体修复步骤:
实例1
- 修改
base_url,去掉末尾的/v2,改为https://maas-coding-api.cn-huabei-1.xf-yun.com - 同时重启 Gateway
- 修改
实例2
- 在 config.yaml 中将辅助任务的 provider 指向 meai.cloud 而非 auto(避免回退到讯飞),同时重启 Gateway
重新启动两个实例的 Hermes Gateway 进程
当前问题诊断
结合我刚才查看服务器的结果:
实例1(Hermes Gateway,讯飞 API)
- Gateway 进程基本是挂掉的状态,只剩一个空壳 bash wrapper
- 日志显示讯飞 API 的 auxiliary 任务(压缩、记忆刷新)频繁超时
Request timed out
实例2(Telegram Bot,meai.cloud API)
- 上次会话最后 bot.py 被 sed 搞乱了,重写没完成
- 日志同样有大量
ReadTimeout和APITimeoutError - 达到了 60 次迭代上限被强制停止
要我现在开始修复吗?需要做的事情:
- 实例2 bot.py — 检查/修复上次被 sed 搞乱的代码
- 重启实例1的 Hermes Gateway
- 重启实例2的 Hermes Gateway
- 检查讯飞 API 超时问题 — 可能需要调大 auxiliary 任务的 timeout 配置
问题汇总
一共有 5 个问题:
| # | 问题 | 影响 |
|---|---|---|
| 1 | 实例1 Hermes Gateway 进程已死,只剩空壳 bash wrapper | 实例1 完全不工作 |
| 2 | 实例2 Hermes Gateway 迭代耗尽(60/60),功能异常 | 实例2 卡死 |
| 3 | 实例2 bot.py 没在运行(上次会话 sed 搞乱了代码,重写后没完成重启) | 实例2 Telegram Bot 不工作 |
| 4 | 两个实例的 auxiliary 任务(压缩/记忆/搜索)全部超时 — provider: auto 回退到讯飞 API,讯飞响应慢导致连锁超时 |
上下文压缩失败,会话越来越大直到崩溃 |
| 5 | 讯飞 API 的 cron 定时任务 401 "apikey not found" 错误(19次) | 定时任务全部失败 |
修改说明
实例1(讯飞为主):
| 配置 | 作用 |
|---|---|
fallback_providers → meai.cloud |
讯飞失败/超时时,自动切换到 meai.cloud 继续回答,不会卡死 |
auxiliary.compression → meai.cloud |
上下文压缩用快的 API(60秒超时),不再等讯飞 300 秒 |
api_max_retries → 1 |
讯飞失败一次就切 fallback,不傻等 3 次重试 |
实例2(meai.cloud 为主):
| 配置 | 作用 |
|---|---|
fallback_providers → 讯飞 |
meai.cloud 挂了时切到讯飞 |
api_max_retries → 1 |
快速切换 |
总结与建议
要继续观察刚才配置的 fallback + 辅助任务走 meai.cloud 后,稳定性是否改善。如果讯飞持续不稳定,考虑将主模型也换成 meai.cloud,保持 128K 但用刚才的早压缩策略,让讯飞始终在其能力范围内工作。