Hermes 启动与运行指南
Hermes 启动与运行指南
从零开始,用几个例子跑通整个系统
1. 环境准备
# 安装 Python 依赖
pip install -e ".[dev]"
# 检查系统依赖(tmux, jq, claude CLI)
python hermes.py doctor
# 初始化目录结构(首次运行)
python hermes.py init2. 注册 Agent
系统默认已注册了 laohuang(在 config/agents.yaml),如果要加新的:
python hermes.py agent register \
--name market01 \
--role marketing_writer \
--capabilities "copywriting,seo"
python hermes.py agent list # 查看所有 agent3. 启动调度器
# 前台运行(能看到实时日志)
python orchestrator.py --poll-interval 5
# 后台运行
python orchestrator.py --poll-interval 5 &
# dry-run 模式(只观察,不实际分配)
python orchestrator.py --dry-run --poll-interval 54. 使用示例
例 1:最小闭环 — 创建一个任务,等它自动完成
# 创建任务
python hermes.py task create \
--title "Hello World" \
--owner laohuang \
--goal "在 /tmp/hello_agent.py 写入: print('hello from hermes')"
# 等几秒,Orchestrator 会自动把任务分配给 laohuang agent
# 任务从 todo → doing → review
# 查看任务状态
python hermes.py task list
# 查看执行结果
cat outbox/laohuang/<task_id>/summary.md
# 验收通过,移入 done
python hermes.py task move <task_id> done例 2:带优先级的多任务
# P1 最高优先级,会被优先分配
python hermes.py task create \
--title "紧急修复登录 bug" \
--owner laohuang \
--priority P1 \
--goal "修复用户登录页的 500 错误"
# P2 默认优先级
python hermes.py task create \
--title "优化首页加载速度" \
--owner laohuang \
--priority P2 \
--goal "将首页 LCP 从 3s 优化到 1.5s 以内"
# P3 低优先级
python hermes.py task create \
--title "更新 README" \
--owner laohuang \
--priority P3 \
--goal "更新 README.md 中的安装说明"调度顺序:P1 先执行 → P2 → P3(同优先级按创建时间 FIFO)
例 3:多 Agent 并发
# 注册第二个 agent
python hermes.py agent register \
--name market01 \
--role marketing_writer
# 给不同 agent 分配任务
python hermes.py task create \
--title "写产品文案" \
--owner market01 \
--goal "为新产品写一段 200 字的推广文案"
python hermes.py task create \
--title "开发 API 接口" \
--owner laohuang \
--goal "实现 /api/v1/users GET 接口"两个 agent 会并行执行(max_concurrent_agents: 3)
5. 调试和观察
# 看 orchestrator 在做什么
python orchestrator.py --dry-run --poll-interval 5
# 看 tmux 里的 runner pane
tmux attach -t hermes
# 查看某个任务详情
python hermes.py task show <task_id>
# 查看信号文件(Orchestrator → Runner 的通信内容)
cat signals/laohuang/current_task.json | python -m json.tool
# 手动触发 mock runner 测试
python runners/mock_runner.py signals/laohuang6. 关于 Runner 模式
当前默认走 mock_runner(离线模式,sleep 1s 后写 mock 结果),适合测试。
要切换到真实 Claude 执行:编辑 runners/runner_laohuang.sh 中的 _run_claude() 函数,去掉网络检查的 fallback,让它直接调用 claude -p。需要配置好 ANTHROPIC_API_KEY。