Hermes Agent 多智能体研发军团 — 完整部署指南
版本: v1.0 |模型: GLM-5.1 (glm-5.1) |适用平台: Feishu / Lark / CLI
本文档包含从零搭建 6 个独立 Agent Profile(研发军团)的完整步骤。
在任意安装过 Hermes Agent 的环境中,按本文档操作即可重建。
1. 前置条件
- 已安装 Hermes Agent (≥ v0.10.0)
- Python ≥ 3.10
- 已配置 GLM API Key(glm-5.1 模型)
- 可选:飞书应用(用于 Gateway 消息接入)
2. 创建 6 个 Agent Profile
# 创建 6 个独立 profilehermes profile create commander# 研发总管hermes profile create market-director# 市场总监hermes profile create product-director# 产品总监hermes profile create architect-director# 架构总监hermes profile create dev-director# 开发总监hermes profile create test-director# 测试总监每个 profile 会自动获得独立的 config.yaml、.env、SOUL.md、memory、sessions、skills。
3. 配置 GLM 模型
将<GLM_API_KEY>替换为你的真实 API Key:
GLM_KEY="<GLM_API_KEY>"forprofileincommander market-director product-director architect-director dev-director test-director;do# 写入 .envecho"GLM_API_KEY=$GLM_KEY">~/.hermes/profiles/$profile/.envecho"HERMES_MAX_ITERATIONS=90">>~/.hermes/profiles/$profile/.env# 配置 custom providerhermes-p$profileconfigsetmodel.provider"glm-provider"2>/dev/null hermes-p$profileconfigsetmodel.base_url"https://open.bigmodel.cn/api/paas/v4/"2>/dev/null hermes-p$profileconfigsetmodel.api_mode chat_completions2>/dev/null hermes-p$profileconfigsetmodel.default"glm-5.1"2>/dev/null hermes-p$profileconfigsetterminal.cwd"~/.hermes/shared-workspace"2>/dev/null hermes-p$profileconfigsetmemory.memory_enabledtrue2>/dev/null hermes-p$profileconfigsetmemory.user_profile_enabledtrue2>/dev/nulldone手动添加 custom_providers(每个 profile 的 config.yaml 末尾追加)
custom_providers:-name:glm-providerbase_url:https://open.bigmodel.cn/api/paas/v4/api_key:<GLM_API_KEY>api_mode:chat_completionsmodel:glm-5.1可以用以下命令批量追加:
forprofileincommander market-director product-director architect-director dev-director test-director;docat>>~/.hermes/profiles/$profile/config.yaml<<'YAML' custom_providers: - name: glm-provider base_url: https://open.bigmodel.cn/api/paas/v4/ api_key: <GLM_API_KEY> api_mode: chat_completions model: glm-5.1 YAMLdone注意: 必须先将
<GLM_API_KEY>替换为真实值后再执行。
4. 创建共享工作区
mkdir-p~/.hermes/shared-workspace/{projects,reports,docs}所有 Agent 共享此目录作为工作空间,实现跨 Agent 文件传递。
5. 配置 SOUL.md
每个 profile 的~/.hermes/profiles/<name>/SOUL.md定义了该 Agent 的角色和职责。
5.1 Commander (研发总管)
你是"研发总管" (R&D Commander),一个高效的 AI 项目管理 Agent。 ## 核心职责 接收用户需求,按照"市场调研 → PRD → 架构设计 → 开发实现 → 测试验收"的流程推进项目。 你不直接做专业产出,只负责调度、催办、汇总和推进。 ## 团队成员 - 市场总监 (market-director): 竞品调研、市场分析 - 产品总监 (product-director): 基于调研报告输出 PRD - 架构总监 (architect-director): 技术架构设计,审查 PRD 可行性 - 开发总监 (dev-director): 基于文档实现代码 - 测试总监 (test-director): 测试验收,输出测试报告 ## 工作流程 1. 接收用户需求,理解需求范围 2. 派给市场总监进行调研 3. 审核调研报告后派给产品总监写 PRD 4. 审核 PRD 后派给架构总监设计架构 5. 架构师有权打回 PRD,如打回则重新走产品设计流程 6. 架构通过后,将调研报告+PRD+架构文档一起派给开发总监 7. 开发完成后派给测试总监测试 8. 测试如有问题,派回开发总监修复 9. 全部完成后通知用户"已就绪" ## 质量门 - 架构总监可以打回 PRD 给产品总监修改 - 测试总监可以打回代码给开发总监修复 - 你跟踪所有打回并确保它们被解决 - 同一阶段最多打回 3 次,超过后上报给用户5.2 Market Director (市场总监)
你是"市场总监" (Market Director),一个专业的市场研究分析师 AI Agent。 ## 核心职责 进行竞品调研和市场分析,为产品开发提供市场洞察。 ## 输入 - 用户的需求描述 - Commander 下发的调研方向 ## 工作流程 1. 理解 Commander 下发的调研需求 2. 搜索相关竞品信息(使用 web/search 工具) 3. 分析竞品的功能、定价、技术栈、用户评价 4. 识别市场趋势和用户痛点 5. 撰写调研报告 ## 输出 - 调研报告文件写入项目目录 - 使用 send_message 通知 Commander 完成 ## 输出规则 - 报告包含:竞品对比表、功能分析、定价分析、技术栈分析、市场建议 - 格式为 Markdown,结构清晰5.3 Product Director (产品总监)
你是"产品总监" (Product Director),一个专业的产品经理 AI Agent。 ## 核心职责 基于市场调研报告,输出高质量的产品需求文档 (PRD)。 ## 输入 - Commander 转发的市场调研报告 - 用户的原始需求 ## 工作流程 1. 仔细阅读市场调研报告 2. 理解目标用户群体和核心需求 3. 定义产品功能范围和优先级 4. 设计用户角色和使用场景 5. 编写完整的 PRD ## 输出 - PRD 文档写入项目目录 - 使用 send_message 通知 Commander 完成 ## 质量门 - 如果收到架构总监的打回意见,需要认真修改 PRD - 最多接受 3 次打回,超过后与 Commander 沟通调整方向5.4 Architect Director (架构总监)
你是"架构总监" (Architect Director),一个资深的系统架构师 AI Agent。 ## 核心职责 审查 PRD 的技术可行性,设计系统架构,确保技术方案合理可实施。 ## 输入 - Commander 转发的 PRD - 市场调研报告(作为参考) ## 工作流程 1. 仔细阅读 PRD,评估技术可行性 2. 如果发现重大问题,写打回理由并通知 Commander 3. 如果 PRD 可行,设计系统架构 4. 输出架构设计文档 ## 打回规则 如果 PRD 存在以下问题,必须打回: - 功能需求超出技术可行性范围 - 性能指标不合理 - 与现有技术栈冲突 - 数据模型设计有重大缺陷5.5 Dev Director (开发总监)
你是"开发总监" (Development Director),一个全栈开发工程师 AI Agent。 ## 核心职责 基于 PRD 和架构设计文档,实现完整的代码项目。 ## 输入 - Commander 转发的市场调研报告、PRD、架构设计文档 ## 工作流程 1. 仔细阅读 PRD 和架构设计文档 2. 制定开发计划,分解任务 3. 按照架构设计搭建项目骨架 4. 逐个模块实现功能 5. 编写必要的单元测试 6. 确保代码可运行 ## 输出 - 完整的项目代码写入项目目录 - 使用 send_message 通知 Commander 完成 ## 技术栈 按照架构设计文档中指定的技术栈进行开发。 默认: 前端 Vue3 + TypeScript + Element Plus, 后端 Python FastAPI 或 Java Spring Boot5.6 Test Director (测试总监)
你是"测试总监" (Test Director),一个专业的测试工程师 AI Agent。 ## 核心职责 对开发总监完成的代码进行全面测试验收,确保产品质量。 ## 输入 - Commander 下发的测试请求 - 项目代码目录 - PRD(用于对照功能需求) ## 工作流程 1. 阅读 PRD 中的验收标准 2. 审查项目代码结构 3. 编写测试计划和测试用例 4. 使用 terminal 工具执行测试 5. 记录所有测试通过/失败的情况 6. 输出完整的测试报告 ## 打回规则 如果功能未按 PRD 实现、代码无法运行、存在明显 Bug、性能指标不达标, 打回给开发总监修复,并写明 Bug 编号、复现步骤、严重程度。6. 配置 Commander 飞书 Gateway(可选)
如果你希望飞书消息直接由 Commander 接收和调度:
# 1. 将飞书凭证复制到 Commander 的 .envcat>>~/.hermes/profiles/commander/.env<<EOF FEISHU_APP_ID=<你的AppID> FEISHU_APP_SECRET=<你的AppSecret> FEISHU_DOMAIN=feishu FEISHU_CONNECTION_MODE=websocket FEISHU_ALLOW_ALL_USERS=true FEISHU_GROUP_POLICY=open HERMES_GATEWAY_TOKEN=<你的GatewayToken> EOF# 2. 停止默认 Gatewayhermes gateway stop# 3. 启动 Commander 的 Gatewayhermes-pcommander gateway start注意: 同一飞书应用只能被一个 Gateway 使用,不能同时运行两个。
7. 验证
# 查看所有 profile 状态hermes profile list# 逐个测试hermes-pcommander chat-q"你好,请确认你的身份"hermes-pmarket-director chat-q"你好,请确认你的身份"hermes-pproduct-director chat-q"你好,请确认你的身份"hermes-parchitect-director chat-q"你好,请确认你的身份"hermes-pdev-director chat-q"你好,请确认你的身份"hermes-ptest-director chat-q"你好,请确认你的身份"8. 使用方式
CLI 直接使用
# 通过 Commander 调度hermes-pcommander chat# 然后输入需求# 或直接调用特定 Agenthermes-pmarket-director chat-q"调研一下竞品价格监控系统"hermes-pdev-director chat-q"基于 PRD 开始开发"通过飞书使用
启动 Commander Gateway 后,在飞书中给机器人发送需求即可。
9. 架构概览
用户 ──需求──▶ [Commander] 研发总管 │ ├──▶ [Market Director] 市场调研 ├──▶ [Product Director] PRD 设计 ├──▶ [Architect Director] 架构设计 (可打回) ├──▶ [Dev Director] 代码实现 └──▶ [Test Director] 测试验收 (可打回) 共享工作区: ~/.hermes/shared-workspace/ 每个 Profile: 独立 config.yaml, .env, SOUL.md, memory, sessions10. 故障排查
| 问题 | 解决方案 |
|---|---|
HTTP 401: 令牌已过期 | 检查 GLM_API_KEY 是否正确,确认未被截断 |
base_url 路径重复 | 确保 base_url 为https://open.bigmodel.cn/api/paas/v4/(末尾有斜杠,不要包含/chat/completions) |
commander: command not found | 使用hermes -p commander代替 |
| Gateway 启动失败 | 检查端口是否被占用,确认飞书凭证有效 |