若启动Hermes Agent报错但原因不明,应依次查看:一、hermes logs主日志;二、hermes gateway logs网关日志;三、~/.hermes/sessions/下最新JSON会话日志;四、~/.hermes/state.db中tool_calls失败记录;五、~/.hermes/audit.log审计日志。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您尝试启动 Hermes Agent,但遇到报错却无法定位具体原因,则很可能是未获取到完整的运行时错误日志。以下是查看详细错误日志的多种方法:
一、使用 hermes logs 命令实时查看主 Agent 日志
该命令直接输出 Hermes 主进程的标准错误与调试日志,适用于快速捕获启动失败时的堆栈信息和初始化异常。
1、在终端中执行 hermes logs 命令。
2、观察滚动输出的日志内容,重点关注包含 ERROR、Traceback 或 Failed to 的行。
3、按 Ctrl+C 中断日志流并退出。
二、查看网关(Gateway)服务日志
当 Hermes 与飞书、微信等外部平台集成时,网关模块独立运行,其错误不会出现在主日志中,需单独排查。
1、执行 hermes gateway logs 启动网关日志流。
2、若网关未运行,先执行 hermes gateway start 再重试。
3、检查日志中是否出现 ImportError、ConnectionRefusedError 或认证失败提示。
三、定位并读取本地会话 JSON 日志文件
所有用户交互事件、工具调用及异常均以结构化 JSON 格式持久化存储,便于离线分析和精确回溯。
1、进入日志目录:cd ~/.hermes/sessions/。
2、列出最新生成的会话文件:ls -t *.json | head -n 1。
3、用 jq 工具解析关键字段:jq '.error, .timestamp, .event_type' [filename].json。
四、检查 SQLite 状态数据库中的异常记录
hermes_state.py 定义的 SQLite 数据库存储会话元数据与工具调用结果,可辅助验证是否发生未抛出的静默失败。
1、打开数据库:sqlite3 ~/.hermes/state.db。
2、查询最近失败的工具调用:SELECT * FROM tool_calls WHERE status = 'failed' ORDER BY created_at DESC LIMIT 5;。
3、退出数据库:.quit。
五、直接读取 audit.log 审计日志
该日志专用于记录权限变更、密钥加载失败、配置校验错误等安全敏感事件,不随主日志刷新,需手动确认是否存在。
1、检查文件是否存在:test -f ~/.hermes/audit.log && echo "audit.log found" || echo "audit.log not present"。
2、若存在,使用 grep 提取错误条目:grep -i "error\|fail\|invalid" ~/.hermes/audit.log。
3、查看最近 10 行:tail -n 10 ~/.hermes/audit.log。


















