Hermes Agent日志分五类:一、会话级JSON日志存于~/.hermes/sessions/;二、元数据存于~/.hermes/state.db;三、安全审计日志为~/.hermes/audit.log;四、运行时日志默认输出到终端,可重定向;五、各工具模块支持独立调试日志,通过环境变量启用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您尝试分析Hermes Agent的运行状态或排查异常行为,但无法定位其日志输出位置,则可能是由于日志路径未被明确识别或日志级别配置过低。以下是定位与查看Hermes Agent运行日志的具体步骤:
一、确认会话级JSON日志存储路径
会话级完整交互日志以结构化JSON格式保存在用户主目录下的~/.hermes/sessions/子目录中,每个文件对应一次独立会话,包含时间戳、事件类型、工具调用链及错误详情,是还原用户操作流的核心依据。
1、打开终端,执行cd ~切换至用户主目录。
2、运行ls -la ~/.hermes/sessions/列出全部会话日志文件。
3、使用head -n 5 ~/.hermes/sessions/session_*.json快速预览任一JSON文件前五行内容,验证其是否含timestamp与event_type字段。
4、若目录为空,检查run_agent.py中verbose_logging是否设为True,并确认代理已实际启动过至少一次会话。
二、检查SQLite结构化元数据库
会话元数据(如会话ID、创建时间、关联工具调用记录)持久化存于~/.hermes/state.db SQLite数据库中,该库由hermes_state.py定义表结构,适用于批量查询与关系分析。
1、执行sqlite3 ~/.hermes/state.db ".tables"列出所有可用数据表。
2、运行sqlite3 ~/.hermes/state.db "SELECT COUNT(*) FROM sessions;"确认sessions表中是否存在记录。
3、执行sqlite3 ~/.hermes/state.db "SELECT session_id, created_at FROM sessions ORDER BY created_at DESC LIMIT 3;"提取最近三次会话ID及其创建时间。
4、若报错no such table: sessions,说明数据库尚未初始化,需重新运行agent初始化流程或手动执行迁移脚本。
三、定位安全审计日志audit.log
所有权限变更、技能安装/卸载、访问拒绝等安全敏感操作均写入独立的audit.log文本文件,该文件默认位于~/.hermes/目录下,采用结构化纯文本格式,便于grep快速筛选。
1、执行ls -l ~/.hermes/audit.log确认文件存在且权限为可读(-rw-r--r--)。
2、运行tail -n 20 ~/.hermes/audit.log查看最近20行审计事件。
3、使用grep -E "(install|deny|fail|permission)" ~/.hermes/audit.log | tail -10提取近十条高风险操作记录。
4、若返回No such file or directory,请检查环境变量HERMES_AUDIT_LOG_PATH是否被覆盖,或确认hermes_state.py中审计日志开关enable_audit_logging为True。
四、捕获Python运行时控制台日志
Hermes Agent通过Python logging模块输出DEBUG/INFO/WARNING/ERROR级别日志,默认发送至标准输出(终端),也可重定向至RotatingFileHandler指定的文件,用于追踪启动失败、模块加载异常等底层问题。
1、启动Agent时添加2>&1 | tee agent_runtime.log将控制台输出同时保存至本地文件。
2、查阅gateway/run.py中RotatingFileHandler初始化代码,提取filename参数值,例如hermes_gateway.log。
3、执行ps aux | grep run_agent.py确认进程是否正在运行,并观察其启动命令是否含--log-level DEBUG参数。
4、若日志无ERROR输出但功能异常,临时设置环境变量export PYTHONASYNCIODEBUG=1并重启Agent,以捕获异步任务挂起线索。
五、启用工具级独立调试日志
各功能模块(如web_tools、vision_tools、image_generation_tool)支持通过环境变量激活专属调试日志,输出粒度细至单次HTTP请求头、图像处理中间态等,适用于模块级深度排障。
1、在启动前执行export WEB_TOOLS_DEBUG=true启用网页工具链详细日志。
2、运行export VISION_TOOLS_DEBUG=true开启视觉识别模块日志。
3、启动Agent后,观察终端是否出现形如[web_tools] GET https://api.example.com/health status=200的标记行。
4、若未生效,检查对应工具模块源码中DebugSession实例化语句,确认环境变量名称与文档一致,例如env_var="VISION_TOOLS_DEBUG"而非"VISION_DEBUG"。


















