hermes doctor命令可5秒完成基础健康检查,验证【Model: connected】、【Memory: initialized】、【Tools: enabled】三项状态是否全为绿色,仅校验本地配置加载、SQLite可写及工具文件权限,不依赖网络或模型响应。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要快速判断 Hermes Agent 是否配置正确、依赖完整、服务就绪,而不是反复重启或盲目修改配置文件。基础健康检查仅需5秒就能确认核心组件是否就绪,深度诊断则能定位技能失效、缓存污染或记忆模块异常——所有操作都基于终端命令,无需打开日志文件或进入数据库交互界面。
执行基础健康检查确认核心组件就绪
在终端任意目录下运行 hermes doctor。
观察输出中三项关键状态:【Model: connected】、【Memory: initialized】、【Tools: enabled】——三者必须全部显示绿色;缺一不可。
若任一项为红色 error 或 missing,说明底层未通过初始化校验,后续所有操作都可能失败。这一步不依赖网络代理或模型实际响应,只验证本地配置加载、SQLite 记忆库可写、内置工具二进制文件存在且有执行权限。
运行深度诊断排查技能与缓存异常
方法一:全量扫描技能与依赖完整性
执行 hermes doctor --deep。该命令会逐个读取 ~/.hermes/skills/ 下每个技能的 manifest.yaml,校验字段完整性、Python 依赖声明、入口函数签名,并检测是否存在已卸载但残留元数据的“幽灵技能”。
方法二:强制跳过缓存,验证真实配置状态
添加 --no-cache 参数:hermes doctor --deep --no-cache。避免因 stale cache 导致的模型配置误判——比如你刚改了 config.yaml,但 hermes doctor 仍显示旧模型,就是缓存未刷新所致。
方法三:聚焦记忆模块时间戳与摘要一致性
执行 hermes doctor --target memory。它直接读取 ~/.hermes/state.db,输出最近 5 条会话摘要及对应时间戳,用于排查跨会话记忆丢失、时间倒流(如系统时钟被手动调整)等异常。
验证端口与服务连通性
第一步:确认 Hermes 正在监听指定端口
先确保 Hermes 已启动(例如执行过 hermes --tui 或 hermes start),再运行 hermes doctor --port 3000(若你配置的是其他端口,请替换为实际值)。
第二步:区分两类失败原因
Hermes Agent 若提示 Connection refused,说明 Hermes 进程未绑定该端口,需检查 hermes config 中 server.port 设置,或确认是否误用了 --no-server 启动参数;若提示 Connection timeout,则大概率是防火墙拦截或 Docker 网络桥接未开放端口。
第三步:验证绑定地址是否为 localhost
默认情况下 Hermes 只监听 127.0.0.1。若你在远程服务器部署并希望从外部访问,必须显式配置 server.host: "0.0.0.0" 并重新启动。
实时监控活跃会话与连接状态
① 打开新终端窗口,执行:tail -f ~/.hermes/sessions/latest/session.log。
② 触发一次工具调用:hermes tools call http --url https://httpbin.org/get。
③ 观察日志中是否出现 tool_call_success 或 tool_call_failed 事件;若连续 30 秒无任何输出,可能表示代理已停止接收新请求。
④ 若发现大量 tool_call_failed,立即执行:sqlite3 ~/.hermes/state.db 'SELECT COUNT(*) FROM sessions WHERE updated_at > datetime("now", "-5 minutes");'。返回结果为 0 表明过去 5 分钟内无任何会话更新,代理可能处于挂起或崩溃状态。


















