调试技巧
环境变量
Hermes Agent 的调试行为主要由环境变量控制:
日志级别
bash
# 开启详细日志(包含工具调用详情、API 请求/响应)
export HERMES_LOG_LEVEL=DEBUG
# 只看 warning 及以上
export HERMES_LOG_LEVEL=WARNINGDebug 模式
bash
# 开启 debug 模式 — 输出更多内部状态
export HERMES_DEBUG=1轨迹保存
bash
# 保存完整的对话轨迹(JSON 格式)
export HERMES_SAVE_TRAJECTORIES=1轨迹文件保存在 ~/.hermes/trajectories/ 目录下,每个会话一个 JSON 文件,包含:
- 所有消息(system/user/assistant/tool)
- 工具调用的参数和返回值
- API 调用的 token 使用量
- 时间戳和延迟信息
日志文件位置
~/.hermes/logs/
├── hermes.log # 主日志
├── gateway.log # 网关日志
├── mcp-<server>.log # MCP 服务器日志
└── trajectory-<id>.json # 对话轨迹常用调试场景
工具调用不生效
检查工具是否被注册:
bashHERMES_DEBUG=1 hermes chat -q "list tools"检查工具的
check_fn是否返回True(可能缺少 API key 或依赖)查看日志中的
Tool not found或Tool unavailable信息
上下文压缩问题
- 开启 debug 日志查看压缩决策过程
- 检查
context.engine配置是否正确 - 查看压缩前后的 token 数量对比
多平台消息问题
- 检查平台适配器的连接状态:
/status - 查看网关日志中的消息路由信息
- 验证 SessionKey 的构建是否正确
模型调用失败
- 确认 API key 已设置:
hermes doctor - 查看 error_classifier 的分类结果
- 检查是否触发了 rate limit
性能分析
Token 使用分析
使用 /usage 命令查看当前会话的 token 使用情况:
/usage上下文大小检查
使用 /compress 手动触发压缩,观察压缩效果:
/compress使用 insights 分析
/insights --days 7查看过去 7 天的 API 调用量、token 消耗、模型使用分布等。