关于 hermes-dojo
Hermes Dojo 是用于训练 Hermes Agent 的技能,通过分析历史会话识别薄弱环节,并创建或改进技能。它还会复测表现、保存指标并追踪变化趋势。
主要功能
- 01分析会话中的工具成败与错误模式
- 02识别用户纠正和技能缺口
- 03修补或创建技能以应对弱项
- 04运行自我进化并复测指标
- 05保存性能指标并查看历史
适用场景
- 01查找 Agent 反复遇到的工具错误
- 02为经常需要的任务创建技能
- 03比较技能改进前后的表现
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yonkoo11/ hermes-dojo --skill hermes-dojo安装后在 Claude Code 中输入/hermes-dojo确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreinstall.shLICENSEREADME.mddocs/index.htmlreferences/failure_patterns.mdscripts/analyzer.pydemo.pymonitor.pyfixer.pyseed_demo_data.pytracker.pyreporter.py详细介绍
概览
Hermes Dojo 是 Agent 的训练场。它会读取过去的会话,找出 Agent 遇到困难的地方,创建或改进技能来弥补这些弱点,并跟踪随时间推移的改进情况。
核心循环:衡量 → 找出弱点 → 修复 → 进化 → 验证 → 报告
命令
/dojo或/dojo analyze— 分析近期会话中的失败模式/dojo improve— 修复最突出的弱点(修补技能 + 运行自我进化)/dojo report— 显示当前性能指标和改进历史/dojo history— 显示随时间变化的学习曲线/dojo auto— 设置隔夜 cron:在早上 6 点进行分析、改进并生成报告/dojo status— 快速概览 Agent 的运行状况
工作流
第 1 步:分析
运行 python3 ~/.hermes/skills/hermes-dojo/scripts/monitor.py 扫描近期会话。
它会读取 ~/.hermes/state.db,并生成一份 JSON 报告,其中包含:
- 各工具的成功率和失败率
- 错误模式(按工具和错误类型分组)
- 用户纠正信号(包含 "no,"、"wrong"、"I meant"、"not what I" 的消息)
- 技能缺口检测(反复出现但没有对应技能的手动任务)
- 会话级指标(每个会话的工具调用次数、重试模式)
将结果整理成清晰的仪表板:
=== Hermes Dojo Analysis ===
Sessions analyzed: 23 (last 7 days)
Total tool calls: 156
Overall success rate: 78%
Top Weaknesses:
1. terminal_run: 73% success (12 failures) — common error: "command not found"
2. web_extract: 81% success (4 failures) — common error: "timeout"
3. No skill for: CSV parsing (requested 4 times)
User Corrections Detected: 7
- 3x wrong file path
- 2x wrong command syntax
- 2x misunderstood request
第 2 步:改进
针对识别出的每个弱点,确定修复方法:
A)现有技能失效 → 修补技能:
- 阅读当前技能的 SKILL.md
- 分析第 1 步中的失败模式
- 使用
skill_manage,并将 action 设为 "patch",以添加错误处理、更完善的说明或边缘情况覆盖 - 记录此次更改
B)反复出现的需求没有对应技能 → 创建技能:
- 分析需要此能力的会话模式
- 使用
skill_manage,并将 action 设为 "create",以创建新技能 - 根据过去会话中的有效做法,添加具体说明
- 记录此次创建
C)已有技能但需要进一步改进 → 运行自我进化:
- 运行:
cd ~/.hermes/hermes-agent-self-evolution && .venv/bin/python3 -m evolution.skills.evolve_skill --skill <name> --hermes-repo ~/.hermes --iterations 5 --eval-source synthetic - 这会使用 GEPA 分析执行轨迹,并提出有针对性的改进建议
- 检查进化输出——如果分数有所提升,则接受
- 记录改进前后的分数
第 3 步:验证
改进后:
- 重新运行
monitor.py,计算新的指标 - 比较改进前后的成功率
- 如果提升幅度小于 5%,标记以供人工审查
- 将结果存入指标历史记录
第 4 步:报告
运行 python3 ~/.hermes/skills/hermes-dojo/scripts/reporter.py 生成报告。
Telegram 发送格式:
🥋 Hermes Dojo — Overnight Report
📊 Analyzed: 23 sessions, 156 tool calls
📈 Overall: 78% → 85% (+7%)
✅ Improved:
• terminal_run: 73% → 96% (added PATH check)
• web_extract: 81% → 95% (added retry + timeout)
🆕 New skill created:
• csv-handler: for CSV parsing you keep asking about
⚠️ Still working on:
• File path resolution (need more examples)
📉 Learning curve: 71% → 78% → 85% (3 days)
第 5 步:跟踪
运行 python3 ~/.hermes/skills/hermes-dojo/scripts/tracker.py save 持久化保存指标。
运行 python3 ~/.hermes/skills/hermes-dojo/scripts/tracker.py history 显示学习曲线。
设置隔夜 Cron
当用户说 /dojo auto 时:
设置一个每天早上 6:00 运行的 cron 任务: "Run /dojo analyze, then /dojo improve on the top 3 weaknesses, then send the report to my home channel."
这样一来,Agent 就能在你睡觉时不断改进。
重要说明
- 切勿修改捆绑技能(位于 hermes-agent/skills/ 中)。只能修改 ~/.hermes/skills/ 中的用户技能
- 自我进化要求已克隆 ~/.hermes/hermes-agent-self-evolution
- 指标存储在 ~/.hermes/skills/hermes-dojo/data/metrics.json
- 每次分析运行都会记录时间戳,以便跟踪数天或数周内的改进情况