Hermes Agent(github.com/hermes-agent)是开源的多 Agent 编排框架:在同一个会话里同时调度 Planner、Coder、Reviewer、Tester 等多个角色,每个角色可绑定不同的 LLM 后端。它在"一个 prompt 多步执行"场景下特别强——比如"调研竞品 + 写对比表 + 拉 PR"这种横跨多个工具链的任务。
Hermes 默认使用 OpenAI 作为所有 Worker 的后端,但通过 ~/.hermes/config.yaml 完全可以把任意角色改指到 OpenStarry 的任意模型——比如 Planner 用 claude-opus-4-7 深度推理、Coder 用 glm-5.1 写代码、Reviewer 用 deepseek-v4-pro 做审计,每个角色独立计费。完整官方文档可参考 OpenStarry Docs · Hermes 章节。
一、为什么选 Hermes + OpenStarry
1.1 Hermes 的核心能力
- 多角色编排:一个会话里并行或串行调度 Planner / Coder / Reviewer 等子 Agent
- 异构后端:每个角色可指向不同 LLM(OpenAI / Anthropic / 自定义 OpenAI 兼容端点)
- 工具注册:可挂载
shell、browser、github、file等内置工具,也可注册自定义 MCP Server - 任务持久化:所有 Agent 执行的中间态、计划、产物自动落到
~/.hermes/sessions/,可重放、审计 - 事件总线:Agent 之间通过结构化事件通信,可被外部脚本订阅做扩展
1.2 通过 OpenStarry 的三大收益
- 不同任务用不同模型:规划用 Claude Opus、写代码用 GLM-5.1、审核用 DeepSeek V4 Pro,OpenStarry 一个 Key 全包
- 国内直连稳定:Hermes 直连 OpenAI 经常超时;走 OpenStarry 国内节点延迟稳定 30-80ms
- 统一计费:Coding Plan(星途版 ¥99/月 · 20000 次/月,计费规则)把不同模型成本打包成调用次数,对个人和小团队最省心
二、环境准备
2.1 安装 Python 3.11+(Hermes 是 Python 项目)
# macOS
brew install python@3.11
# Ubuntu / Debian
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3-pip
# 验证
python3 --version # 期望 Python 3.11.x 或更高
2.2 安装 Hermes Agent
# 创建虚拟环境(推荐,避免污染全局)
python3 -m venv ~/.hermes-venv
source ~/.hermes-venv/bin/activate
# 装 hermes
pip install hermes-agent
# 国内 PyPI 加速
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple hermes-agent
# 验证
hermes --version
# 期望:hermes 0.x.x
2.3 获取 OpenStarry API Key
- 访问 openstarry.com 注册账号
- 进入 Dashboard → API Keys → 创建新 Key,复制(
sk-开头) - 首次注册赠送 星痕版 200 次免费调用
三、配置 OpenStarry 接入
Step 1:创建配置目录
mkdir -p ~/.hermes
touch ~/.hermes/config.yaml
Step 2:写入 config.yaml
# ~/.hermes/config.yaml
# 主 Agent(默认入口,负责任务拆解 + 编排)
default_agent: orchestrator
providers:
openai_compatible:
type: openai-compatible
base_url: https://api.openstarry.com/v1
api_key: ${OPENSTARRY_API_KEY}
timeout: 60
# Agent 列表:每个角色可绑定不同模型
agents:
orchestrator:
role: "任务编排与规划"
provider: openai_compatible
model: claude-opus-4-7 # 深度推理
coder:
role: "代码生成与修改"
provider: openai_compatible
model: glm-5.1 # 中文编程首选
reviewer:
role: "代码审查与安全审计"
provider: openai_compatible
model: deepseek-v4-pro
researcher:
role: "联网调研与文档"
provider: openai_compatible
model: kimi-k2.6 # 长上下文
tester:
role: "测试用例与回归"
provider: openai_compatible
model: claude-sonnet-4-6
# 工具注册(按需启用)
tools:
shell: { enabled: true, timeout: 30 }
file: { enabled: true, max_read_bytes: 1048576 }
browser: { enabled: false } # 调研任务才打开
github: { enabled: true, token: ${GITHUB_TOKEN} }
关键字段说明:
default_agent:任务分发的入口;orchestrator 会自动决定要不要 spawn 子 agentproviders.openai_compatible:通用 OpenAI 兼容端点定义,所有 Agent 引用它即可api_key: ${OPENSTARRY_API_KEY}:从环境变量读取,配置文件不进 Gitagents.<name>.model:填模型 ID(区分大小写,详见 模型列表)
Step 3:设置环境变量
# 写入 ~/.zshrc 或 ~/.bashrc
export OPENSTARRY_API_KEY="sk-your-key-here"
# 可选:Hermes 持久化目录
export HERMES_HOME="$HOME/.hermes"
# 可选:GitHub 工具需要的 PAT(用于开 PR)
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxx"
source ~/.zshrc
echo $OPENSTARRY_API_KEY # 验证
四、第一次启动 & 多 Agent 任务
4.1 启动 Hermes TUI
source ~/.hermes-venv/bin/activate
cd ~/projects/my-app
hermes
# 或一次性任务
hermes run "对比 React 19 和 Vue 3.5 的 SSR 性能差异,输出一份 markdown 报告"
4.2 跑一次多 Agent 任务
在 TUI 中输入:
> 调研 GitHub 上 star 数 Top 10 的 React 状态管理库,
对比它们的 API 设计、bundle 体积、社区活跃度,
生成一份 markdown 报告到 ./research/state-mgmt.md
Hermes 内部执行流程:
- orchestrator(Claude Opus 4.7)拆解为 3 个子任务:联网调研、性能 benchmark、写报告
- researcher(Kimi K2.6)调用 browser/github 工具拉取数据
- coder(GLM-5.1)写 benchmark 脚本并跑测试
- orchestrator 汇总结果,调用 reviewer(DeepSeek V4 Pro)做事实核查
- tester(Claude Sonnet 4.6)检查 markdown 链接、格式
- 最终产物落到
./research/state-mgmt.md
4.3 临时切换单个 Agent 的模型
# 在 TUI 中用 /agent 命令切换角色
> /agent coder --model openstarry/glm-5-turbo
# 之后 coder 角色就改用 Turbo 模型,更快但代码能力稍弱
五、推荐的多 Agent 模型组合
| 角色 | 推荐模型 | 理由 |
|---|---|---|
| orchestrator(编排) | claude-opus-4-7 · deepseek-v4-pro | 推理深度强,复杂拆解更稳 |
| coder(编码) | glm-5.1 | 中文注释自然、Tool Calling 稳定 |
| reviewer(审查) | claude-sonnet-4-6 · deepseek-v4-pro | 细节捕获能力强 |
| researcher(调研) | kimi-k2.6 · MiniMax-m2.7 | 长上下文、价格友好 |
| tester(测试) | glm-5-turbo · deepseek-v4-flash | 高速、低价 |
| writer(文档) | qwen3.6-plus · glm-5.1 | 中英文写作能力均衡 |
完整模型 ID 与实时价格见 OpenStarry Docs · 模型列表。
六、常见问题
Q1:报错 provider not configured: openai_compatible
检查 ~/.hermes/config.yaml 中 providers 缩进和键名拼写。YAML 缩进必须一致(2 空格)。
Q2:报错 401 invalid api key
检查环境变量:echo $OPENSTARRY_API_KEY,确认 sk- 开头,长度 ≥ 30。如果用 osr- 开头的老 Key,请到 Dashboard 重新创建。
Q3:报错 404 model not found
Hermes 在解析 openai_compatible / <model> 时不会自动加上任何前缀,所以 model: glm-5.1 就是直接发给后端的 glm-5.1。注意小写、连字符。可以去 模型列表 复制准确 ID。
Q4:想让 Hermes 同时使用多家厂商怎么办?
在 providers 下定义多个 provider,例如同时配 OpenStarry 和官方 OpenAI:
providers:
openstarry:
type: openai-compatible
base_url: https://api.openstarry.com/v1
api_key: ${OPENSTARRY_API_KEY}
openai_official:
type: openai
base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
agents:
coder:
provider: openstarry
model: glm-5.1
fallback:
provider: openai_official
model: gpt-4o
Q5:单次任务被算作几次调用?
Coding Plan(按次计费)下,orchestrator 一次外部对话 = 1 次,每个子 agent 完成一次完整任务 = 1 次(含其内部所有模型调用)。Token Plan 按实际 token 计费。详见 计费说明。
总结
Hermes Agent 把"多个 AI 协作完成一件事"从论文带进了 CLI:Planner 拆任务、Coder 写代码、Reviewer 查问题、Tester 兜底,每个角色用不同模型。配合 OpenStarry,一个 sk- 开头的 API Key + 一份 YAML,就能用 Claude Opus 做编排、GLM-5.1 写代码、DeepSeek V4 Pro 审计、Kimi K2.6 做长文调研,所有模型按 星途版 ¥99/月 · 20000 次/月 统一计费。
回看 3 步:pip install hermes-agent → 写 ~/.hermes/config.yaml → export OPENSTARRY_API_KEY=sk-... → hermes。整个过程 5 分钟内完成。