Hermes多agent协同

Thron0C 2026-05-28 10:41 1

佬们,大家有用多agent进行端到端研发吗?


背景:


领导已经不满足我们使用codex、cc、cursor此类工具进行人机协同研发了,理想很美好:希望就是随时随地都能进行开发,然后下班前扔一个需求给他,明天过来它就开发好了。其次领导想要代码更可控,代码熵要做好管控,所以对每一个阶段的产物要沉淀下来。目前openclaw和hermes对接飞书就是最合适的,因此对hermes的多agent协同进行了研究。


过程:


架构图:


我使用了hermes的kanban多profile协同,编写了workflow和router,没有使用任何第三方skill,比如superpower、openspec等等。拆分了几个agent:


prod-main 生产入口 / PRD 任务创建 / 用户主动请求时的手动路由

prod-prd 生产 PRD / 创建 prod-architect child

prod-architect 技术方案 / 详细设计 / 创建 prod-coder child

prod-coder 生产开发 / 自测 / review-required handoff / 等待 tester approve

prod-tester 实现验收 / 通过后 unblock coder / 失败时缺陷报告


然后自定义了轻量的 Manual SDD 、handoffs、skill,每个agent规定了产物,用于下一个agent使用。

然后对接飞书,拉到一个群里,按prod-main->prod-prd->prod-architect->prod-coder->prod-tester这个链路自动化干活。


现状:


研究hermes多agent协同已经一周多了,也跑了两个需求了

1:第一个需求是同事近期使用codex耗时两周vibe已经开发好的一个全新系统,然后我反向拆解成需求文档,扔给我这套hermes自动化去跑,然后对比效果,细节肯定是比不上,因为使用codex他也是一点点调出来的,我自动化跑的话耗时差不多就几个小时,所以第一版效果就50%,只有形似,经不起推敲的,还有就是高保真问题,即使使用了stitch的mcp有原型组件代码,也只能还原80%,还有很多功能性问题,就是很粗糙


2:第二个需求就是这两天跑的一个存量简单需求,跑了6个小时吧,文档输出耗时了1个小时半,效果还行,完成了80%的要求,还有一些细节问题然他去修复。文档内容是很详细,但是核对内容也成为了一个成本耗时,加大了难度,即使我让ai自己去核对,还是需要我们人工再去核对一遍,因为prd和设计都不对的前提下,那coder开发就跟着偏了。


思考:


1、我认为codex或者cc开发效率肯定是最高,无论质量还是速度,但是无法沉淀下来一套稳定的工作流,就感觉就是纯vibe,一次性开发。


2、使用hermes还是openclaw的多agent协同,有好有坏吧,定义看起来是很合理的,agent干自己的活,干完可以自己沉淀下来,就类似一个prd实习生需求干多了就成为一个资深的prd,然后coder实习生干到后面成为了资深经验丰富的代码专家了。(领导也是看重这一点,想要的就是要有沉淀,要有经验,而不是开发完一个项目就完了,要有提效成功经验,你的提效要和推广给大家复用来提效,而不是纯vibecoding),就比如我研究这套机制的全过程踩坑和经验都要沉淀下来给别人学习。坏处:感觉代码研发更加黑盒了


3、vibe自己的项目没啥问题,企业的项目还是要进行熵管控,去年我们还在使用cursor(也是纯vibeCoding),也制定了很多rule和skill对标公司的代码规范来熵管控,比如:我们已经存在一个日期工具类或者已经有了日期转换的方法,AI就不能再给我们生成一个日期类或者一样的方法。


目前我看市场上也有挺多这种多agent协同的产物了,不知道效果怎么样


所以大家是怎么看待codex直接开发和多agent协同按照稳定工作流开发的?大家企业项目是怎么去开发的?

最新回复 (19)
  • littlerookie 05-28 10:59
    2

    没有一个需求沟通的过程嘛,直接把需求文档给Hermes?

  • Thron0C 楼主 05-28 11:02
    3

    扔给他拆解,有疑问的地方多轮交互,然后对产物进行稽核。用codex也差不多吧,直接把需求扔给他,进行多轮交互后输出方案。

  • 无花僧 05-28 11:31
    4

    以前openclaw测试过多agent,没跑通,容易出现agent间沟通断档,直接整个任务卡住,陷入无限等待子agent回复等情况。

  • Thron0C 楼主 05-28 11:59
    5

    对,之前本来是让我同事用openclaw去验证这条链路的,他搞了几周遇到很多问题,就有你说的这些,后面就让我用hermes去验证这条路。最近听那个同事说新版龙虾解决了之前的大部分问题。

  • 无花僧 05-28 12:01
    6

    但是以我现在使用hermes的体感,hermes在多agent模式,其实并不是很合适。

    看你提到的是多profile的方式建立不同的agent来实施,你现在多agent间的通话是采用什么方式?

  • 青玉白露 05-28 12:40
    7

    各个大厂内部其实都在做ai自动化开发需求的事情。


    从我自己体验来看:软件开发就是一个解决模糊的过程


    在实际开发过程中,你会遇到很多需要找其他人对齐等问题。


    所以,prd和技术方案阶段,目前必须有人参与,否则后面一路都是偏的。


    那么什么时候才可以完全不需要人参与?


    代码重构、所有历史上下文可以查询,那个时候,可能ai自动化才有可能。

  • 卡农 05-28 13:01
    8

    现代 软件工程 是 以人的因素 为首要考量慢慢迭代进化来的;agent 一上来就复用 以人为主的 工程配置和角色, 我是感觉有些浪费资源 和 冗余 ,agent 之间还是应该有自己的一套协议和标准; 需求文档、设计文档 全都是为了给人看的,纯浪费 token ^-^

  • Thron0C 楼主 05-28 16:17
    9

    对啊,目前prd和设计的产物都需要人来核验的。

  • superloki7 05-28 16:19
    10

    我推荐一个项目,叫做Fusion,目前这个项目还非常早期,但是看下来觉得非常有潜力,目前它也是在自己迭代自己

  • Thron0C 楼主 05-28 16:20
    11

    agent 之间还是应该有自己的一套协议和标准



    agent 之间还是应该有自己的一套协议和标准 现在是这样,但是我觉得prd和设计的产物是为了更好的研发,就跟codex为啥要有plan一样,不把需求谈好,不把计划任务拆解好,coder那一步就会偏离。

  • Thron0C 楼主 05-28 16:22
    12

    直接使用hermes的kanban来交接任务接力干活,我看了很多目前ai军团的产物,里面都用到了kanban

  • Thron0C 楼主 05-28 16:24
    13

    可以的,我去搜搜看学习下,目前看了挺多AI军团产物,大多都会使用到kanban,那这一点感觉方向是没问题的。

  • 无花僧 05-28 16:25
    14

    我以前想到的解决方式是通过notion和obsidian进行任务看板管理。

    原本我多agent团队管理的理念是:

    所有任务/handoff/交付物/报告都文档化,保证整个过程可追溯可审计。

    可惜作为门外汉,只能说有这种想法,但是实现下来,还是没达成体系化。后面就放弃了

  • Thron0C 楼主 05-28 16:27
    15

    所有任务/handoff/交付物/报告都文档化,保证整个过程可追溯可审计。



    对的,我现在基本就是按照这个思路实现的,所有任务/handoff/交付物/报告都文档化,保证整个过程可追溯可审计。保证上下游交接清楚,使用文档来交接,而不是口头交接。

  • 宫野しほ 05-28 16:36
    16

    佬 现在市面上有没有满足这种需求的开源项目可以学习的呀 之前找了好久没找到合适的

  • Thron0C 楼主 05-28 16:37
    17



    你看看,这是我搜索到的,我也还没去看。

  • mumong 05-29 14:55
    18

    佬友请教个问题

    我用hemres创建了几个profile怎么能像langchian langgraph构建一个稳定可复用的工作流?还是hermes原生不支持只能通过自然语言对话来调度?

  • 可惜就是你 05-29 15:18
    19

    浪费token也没办法,还是要审一审,不然很容易跑偏

  • Thron0C 楼主 05-29 15:23
    20

    Hermes Kanban 多 Agent 对接飞书生产实践指南



    适用目录:/home/fd/.hermes




    当前版本:2026-05-19




    适用场景:用 Hermes Kanban 编排 prod-mainprod-prdprod-architectprod-coderprod-tester,通过飞书作为用户入口、当前负责 agent 交互层和状态展示层,完成从需求输入、PRD、设计、实现、验收、交付完成通知到用户决策返工的生产链路。




    安全原则:任何 API Key、App Secret、Token、Cookie、访问票据、真实密钥都不能写入 Kanban 任务、评论、结果、metadata、日志、飞书消息或本文档。



    1. 核心结论


    Hermes 生产链路不是让多个机器人在飞书里互相 @ 来猜下一步,而是把 Kanban DB 作为唯一事实源和状态机。


    当前生产链路采用轻量 Manual SDD / Spec Lite:PRD、设计、数据库 DDL、API 设计、实现 handoff、测试报告是人和 Agent 的共同协议。OpenSpec / GitHub Spec Kit 只作为思想参考,不作为默认运行依赖。


    当前生产链路:



    用户 / 飞书群

    -> prod-main 接收需求、原型图、文件路径、业务输入

    -> prod-main 在 prod board 创建 prod-prd PRD 任务

    -> prod-prd 写可执行 PRD,并创建 prod-architect child task

    -> prod-architect 写技术设计,必要时通过 Architecture Approval Gate 确认技术栈/架构/数据库/API,再创建 prod-coder child task

    -> prod-coder 通过 Windows Codex CLI 完成主要代码实现,自测后 review-required block

    -> monitor 识别 review-required,创建独立 prod-tester implementation-review task

    -> prod-tester 使用 Windows Chrome MCP 做真实用户路径验收

    -> prod-tester pass 则 comment source coder 并 unblock;fail 则 block tester 写缺陷

    -> prod-coder 被 unblock 后 complete

    -> monitor 发送交付完成通知,不创建 prod-main review task

    -> 用户自行验收;如需返工或恢复,可直接 @ 当前负责 agent 或 @prod-main 手动路由


    一句话分层:



    Feishu = 用户与当前负责 agent 的交互层 + 状态展示

    Kanban = 调度事实源 + 状态机

    Agent = 分角色执行

    Monitor = 事件通知 + PRD/设计审批通知 + tester review 创建器

    Codex = prod-coder 的代码实现工具

    Chrome MCP = prod-tester 的浏览器验收工具


    2. 控制面目录


    关键目录和文件:



    /home/fd/.hermes

    ├── AGENTS.md

    ├── MULTI_AGENT_ROUTER.md

    ├── MULTI_AGENT_WORKFLOW.md

    ├── HERMES_KANBAN_MULTI_AGENT_FEISHU_ULTIMATE_GUIDE.md

    ├── kanban_feishu_monitor_prod.yaml

    ├── kanban/boards/prod/kanban.db

    ├── scripts/

    │ ├── restart_prod_stack.sh

    │ ├── kanban_feishu_monitor.py

    │ └── codex_windows_exec.sh

    ├── team/

    │ ├── workflows/prod-dev.yaml

    │ └── handoffs/*.md

    └── profiles/

    ├── prod-main/

    ├── prod-prd/

    ├── prod-architect/

    ├── prod-coder/

    └── prod-tester/


    职责边界:




    • AGENTS.md:全局生产规则。




    • MULTI_AGENT_ROUTER.md:跨 Agent 路由、正常路径、异常路径。




    • team/workflows/prod-dev.yaml:机器可读工作流合同。




    • team/handoffs/*.md:上下游任务 body / summary 模板。




    • profiles/prod-*/AGENTS.md:每个生产角色的硬规则。




    • profiles/prod-*/SOUL.md:角色身份、语气、沟通风格,不负责调度行为。




    • kanban_feishu_monitor_prod.yaml:monitor 监听、飞书通知、review task 创建配置。




    • scripts/restart_prod_stack.sh:生产栈统一重启入口。




    • scripts/codex_windows_exec.shprod-coder 调 Windows Codex CLI 的唯一生产 wrapper。




    SOUL.mdAGENTS.md / MULTI_AGENT_ROUTER.md / prod-dev.yaml 冲突时,以后者为准。


    2.1 Manual SDD / Spec Lite


    Hermes 不默认引入 OpenSpec / GitHub Spec Kit,也不要求每个项目初始化外部 SDD 目录。默认方案是把 SDD 思想嵌入现有五角色链路:



    prod-main 锁定意图、范围、授权、技术偏好和成功标准

    prod-prd 输出 Requirement Spec / docs/PRD.md

    prod-architect 输出 Implementation Spec / docs/DESIGN.md + 条件设计文件

    prod-coder 按规格实现,提交 Spec Trace / Acceptance Trace

    prod-tester 按验收矩阵和设计契约验收,失败输出 defect contract


    硬原则:




    • Spec as Source of Truth:PRD、Design、DDL、API Design、Test Plan、handoff、TEST_REPORT 是共同事实源。




    • Gate Before Handoff:每个角色满足门禁后才能交给下游。




    • Spec Trace:每个验收项必须能追踪到设计、实现、自测和测试报告。




    • No Guessing:需求、代码现状、PRD、设计冲突时必须 block 或请求澄清。




    • Record Decisions:技术栈、数据库、架构、API、风险取舍、人工确认必须留痕。




    2.2 Architecture Approval Gate


    架构确认点放在 prod-architect -> prod-coder 之间。太早确认技术细节信息不足,太晚到 coder 再确认返工成本高。


    必须确认:




    • 新项目或从零初始化。




    • 技术栈、数据库、部署方式未指定或互相冲突。




    • 存在多个合理架构方案且成本/风险不同。




    • 数据库/schema/API/权限/安全/部署/外部服务/支付/上传/任务队列变化。




    • 跨模块重构或高影响风险取舍。




    可跳过确认:




    • 已有项目内的小 bugfix、样式小改、文案调整、局部修复。




    • 不改变技术栈、架构、API、数据库、schema、部署。




    • prod-architect 在设计中写明 approval_required: false 和原因。




    需要确认时,prod-architect 先写设计草案,再 block:



    error_type: design-approval

    summary:

    attempted:

    recommended_next_action:


    用户确认后,prod-architect 才能创建 exactly one prod-coder child task。


    2.3 数据库设计标准


    涉及持久化、结构化后端数据、schema、seed/demo 数据时,必须先确定数据库引擎和 SQL 规范来源:



    docs/DATABASE_DESIGN.md

    docs/DATABASE_DDL.sql


    优先级:



    existing project convention > explicit user requirement > approved architecture decision > documented default profile


    docs/DATABASE_DDL.sql 必须按已确认的数据库 profile 生成。MySQL 8.x 只是可选 profile,不是全局默认;Oracle、PostgreSQL 或项目自定义 SQL 规范必须在设计中显式记录。


    数据库设计必须包含表关系、表清单、字段、主键、唯一约束、索引、外键或逻辑关系、状态枚举、时间字段、软删除策略、初始化数据、迁移/兼容说明。已有项目如果明确使用某种数据库,prod-architect 不得静默切换,必须走 design-approval


    3. 生产角色


    生产 assignee 只允许:



    prod-main

    prod-prd

    prod-architect

    prod-coder

    prod-tester


    角色职责:


    | Profile | 职责 | 允许创建下游任务 | 关键产物 |


    | — | — | — | — |


    | prod-main | 飞书入口、需求澄清、PRD task 创建、用户主动请求时的手动路由 | 正常路径只创建 prod-prd | PRD task、手动路由结论 |


    | prod-prd | 写可执行 PRD、页面清单、验收矩阵 | 必须创建 exactly one prod-architect child | docs/PRD.md |


    | prod-architect | 写技术设计、确认技术栈/架构/数据库/API、接口/数据/视觉/测试策略 | 通过必要确认后创建 exactly one prod-coder child | docs/DESIGN.md 及条件设计文件 |


    | prod-coder | 调 Windows Codex CLI 实现、自测、review-required handoff | 不创建 tester | 代码变更、自测证据、handoff comment |


    | prod-tester | 实现验收、真实浏览器测试、缺陷报告 | 不创建修复或 review task | docs/TEST_REPORT.md |


    4. Board 和命令硬规则


    所有生产 Kanban 命令必须显式使用:



    hermes kanban --board prod ...


    不要在生产链路里使用 default board。


    生产任务 body 应以 Workflow Header frontmatter 开头:



    ---

    workflow_id: prod-dev

    workflow_version: 2

    stage: prd

    root_task_id:

    source_task_id:

    workspace: dir:/home/fd/projects/example

    contract: /home/fd/.hermes/team/workflows/prod-dev.yaml

    ---


    常用 stage:



    prd

    architect

    coder

    implementation-review

    manual-routing


    5. 正常路径


    5.1 prod-main


    prod-main 是生产入口。


    必须做:




    • 接收飞书用户需求、原型图、文件路径、授权边界。




    • 需求不清楚时先追问,不创建模糊任务。




    • 将原型图识别结果沉淀成文字规格,不把图片本身当最终实现合同。




    • 正常路径只创建 prod-prd PRD task。




    禁止做:




    • 不直接创建 architect/coder/tester 任务。




    • 不让飞书 bot-to-bot @ 承担生产路由。




    • 不把 secret 写进任务。




    PRD task 需要包含:



    user_request

    workspace

    authorization

    expected_result

    prototype_inventory

    unresolved_images

    prototype_reference_pack

    acceptance_criteria

    visual_acceptance_criteria

    required_workspace_artifacts

    router


    5.2 prod-prd


    prod-prd 必须写:



    docs/PRD.md


    PRD 应覆盖:



    背景

    目标

    功能范围

    非目标范围

    页面原型映射

    用户故事

    页面清单

    可执行验收矩阵

    验收标准

    视觉验收标准

    测试要求

    安全边界


    完成 PRD 后,prod-prd 必须创建 exactly one prod-architect child task:



    hermes kanban --board prod create \

    --assignee prod-architect \

    --parent <prd_task_id> \

    --workspace <workspace> \

    --title "设计:<title>" \

    --body-file <architect_task_body.md>


    PRD 缺少可执行验收矩阵时,后续 coder/tester 会变成靠猜,生产链路会变慢。


    5.3 prod-architect


    prod-architect 必须写:



    docs/DESIGN.md


    按需写:



    docs/DATABASE_DESIGN.md

    docs/API_DESIGN.md

    docs/VISUAL_SPEC.md

    docs/TEST_PLAN.md


    触发条件:




    • 持久化/表/seed/demo 数据变化:写 DATABASE_DESIGN.md




    • HTTP/API 合同新增或变化:写 API_DESIGN.md




    • UI、原型、视觉验收、响应式、浏览器行为:写 VISUAL_SPEC.md




    • 复杂验证路径或关键风险:写 TEST_PLAN.md




    设计输出应覆盖:



    技术方案

    模块边界

    数据与接口设计

    路由/API/数据契约

    原型引用

    视觉规格

    文件组织

    实现计划

    Required Codex Implementation

    测试策略

    页面驱动验收计划

    风险和取舍


    完成设计后,prod-architect 必须创建 exactly one prod-coder child task:



    hermes kanban --board prod create \

    --assignee prod-coder \

    --parent <architect_task_id> \

    --workspace <workspace> \

    --title "实现:<title>" \

    --body-file <coder_task_body.md>


    5.4 prod-coder


    prod-coder 是实现 worker,但不是任意手工写代码的 worker。


    当前生产规则:



    Windows Codex CLI 是 prod-coder 代码变更任务的默认实现引擎。

    唯一生产入口是 /home/fd/.hermes/scripts/codex_windows_exec.sh。

    Codex 只做代码实现,不创建、完成、block、review Kanban 任务。

    Kanban 生命周期仍由 prod-coder 负责。


    执行顺序:




    1. 读 task body、父 PRD、父设计、comments、Router、workflow contract。




    2. 进入 task workspace。




    3. 读取 docs/PRD.mddocs/DESIGN.md




    4. 按需读取 DATABASE_DESIGN.mdAPI_DESIGN.mdVISUAL_SPEC.mdTEST_PLAN.md




    5. 如果 docs/PRD.mddocs/DESIGN.md 缺失,block handoff-incomplete,不实现。




    6. 准备 Codex prompt。




    7. 调用 Windows Codex wrapper。




    8. 审查 Codex 输出和 workspace 变更。




    9. 只做小范围 follow-up edits。




    10. 跑自测。




    11. 写 review-required handoff comment。




    12. block review-required: <summary>




    推荐 Codex 调用:



    /home/fd/.hermes/scripts/codex_windows_exec.sh "<workspace_path>" "<implementation prompt>"


    原型图任务:



    /home/fd/.hermes/scripts/codex_windows_exec.sh "<workspace_path>" \

    --image "<prototype_image_1>" \

    --image "<prototype_image_2>" \

    "<implementation prompt>"


    必须使用 Windows Codex CLI 的条件:




    • 任何代码变更任务,默认使用。




    • 高保真 UI / 原型图实现。




    • 预计改 10 个以上文件。




    • 前后端都可能改。




    • 需要浏览器证据、截图、视觉验收。




    • 预计超过 20 分钟或 30 tool turns。




    • task body 含 ## Required Codex Implementation




    如果 wrapper、Windows cmd.exe、Windows Codex CLI 启动失败,或者 Codex 在实现前退出:



    error_type: env-missing

    summary: Windows Codex CLI is required for this implementation task but the wrapper could not start it.

    attempted: include the wrapper command and error.

    recommended_next_action: fix WSL/Windows interop or Codex CLI availability, restart prod-coder if needed, then retry/unblock.


    如果 Codex 已启动,但模型、网络、工具短暂失败:



    error_type: retryable


    两种情况都不能 fallback 到 Hermes 大范围手工实现。


    prod-coder 自测应覆盖:



    success_path:

    - core action succeeds

    - data is persisted or reflected

    - list/detail/readback confirms the result

    failure_path:

    - required fields empty

    - min/max length or format invalid

    - API 400/401/403/404/422/500 handled

    - network/upload failure handled when relevant

    user_feedback:

    - no [object Object]

    - no raw JSON object exposed

    - no raw framework/Pydantic text exposed

    - visible field/global error

    - loading/disabled state during mutation

    - failure leaves input recoverable

    page_driven:

    - route/page shell reachable

    - primary content/control present

    - API-backed data renders non-empty when API returns non-empty

    - mutation readback exists


    真实浏览器交互、截图、DOM snapshot、console 检查、响应式视觉验收属于 prod-tester,不属于 prod-coder


    review-required handoff comment 模板:



    review-required handoff:

    changed_files:

    docs_read:

    codex_invocation:

    verification:

    interfaces_verified:

    page_driven_self_checks:

    functional_paths_verified:

    failure_paths_verified:

    mutation_readback_verified:

    error_feedback_verified:

    visual_spec_coverage:

    prototype_reference_images:

    test_instructions:

    residual_risk:

    workspace:


    然后:



    hermes kanban --board prod block <coder_task_id> "review-required: <implementation summary and review need>"


    5.5 monitor 创建 implementation-review


    prod-coder 不创建 prod-tester task。


    monitor 识别:



    assignee = prod-coder

    block reason prefix = review-required:


    然后创建:



    assignee: prod-tester

    review_type: implementation-review

    title_prefix: implementation-review:

    source_task_id: <coder_task_id>


    这个 tester task 是独立任务,不对 blocked coder 使用硬 parent link。


    5.6 prod-tester


    prod-tester 是实现 reviewer,不是全站无限探索 QA。


    必须做:




    • 读取 source coder handoff、PRD、DESIGN、TEST_PLAN、VISUAL_SPEC。




    • docs/TEST_REPORT.md




    • UI/browser 验收使用已批准的生产浏览器验证适配器;当前 Windows 环境通常是 Windows Chrome chrome-devtools-win MCP。




    • 通过后 comment source coder 并 unblock source coder。




    • 失败时 block tester task,写清楚缺陷、证据、复现步骤、建议下一步。




    推荐 tester 策略:



    信任 prod-coder 已明确记录且证据充分的 pytest/build/API smoke。

    只做必要轻量复核和关键浏览器/视觉/user-path 验收。

    如果证据缺失、过期、高风险,才重跑更广验证。

    命中阻塞缺陷后,快速收敛:截图/DOM/Network/Console/最小复现,然后 block。

    不要在发现一个明确阻塞缺陷后继续做无边界全站探索。


    浏览器环境不可用时:



    error_type: env-missing

    summary: chrome-devtools-win or Windows Chrome 9222 is unavailable.

    attempted: include bounded connection attempts and exact missing prerequisite.

    recommended_next_action: start Windows Chrome with remote debugging or fix MCP config, then retry.


    通过时:



    hermes kanban --board prod comment <source_coder_task_id> "<tester pass summary>"

    hermes kanban --board prod unblock <source_coder_task_id>

    hermes kanban --board prod complete <tester_task_id> "<tester summary>"


    失败时:



    hermes kanban --board prod block <tester_task_id> "error_type: test-failed

    summary: ...

    attempted: ...

    recommended_next_action: ..."


    prod-tester 不创建修复任务、不创建 review task。


    5.7 prod-coder 完成


    tester pass 并 unblock source coder 后,prod-coder 才 complete。


    完成 summary 应包含:



    实现内容:

    修改文件:

    文档读取确认:

    Codex 调用:

    验证:

    接口自测:

    页面驱动自测:

    功能和失败路径自测:

    变更读回自测:

    错误提示自测:

    tester approval evidence:

    风险/备注:


    5.8 交付完成通知


    tester pass 并 unblock source coder 后,prod-coder complete。monitor 发送 [交付完成] 飞书通知,不创建 prod-main review task。


    通知和 coder summary 应包含:



    实现内容

    修改文件

    验证结果

    tester approval evidence

    运行方式

    风险/备注

    后续建议


    6. Artifact Contract


    工作流合同:



    /home/fd/.hermes/team/workflows/prod-dev.yaml


    必需落盘文件:



    prod-prd:

    docs/PRD.md

    prod-architect:

    docs/DESIGN.md

    prod-tester:

    docs/TEST_REPORT.md


    条件文件:



    docs/DATABASE_DESIGN.md

    docs/API_DESIGN.md

    docs/VISUAL_SPEC.md

    docs/TEST_PLAN.md


    硬规则:




    • Kanban comments、summary、metadata 不能替代 workspace artifact。




    • metadata 推荐写,但不是链路推进前置条件。




    • 稳定 handoff 依赖 task body、comments、summary、result、parent/child links。




    • 如果 metadata 为 null,后续 agent 必须从稳定记录恢复上下文。




    7. 原型图处理


    原型图是输入材料,不是最终实现合同。


    prod-main 是默认识图入口:




    • 不限制图片数量。




    • 图片很多时,分批识别,最后合并成文字规格。




    • 识别失败的图片记录到 unresolved_images




    • 下游默认消费文字规格,而不是反复调用 vision。




    稳定字段:



    prototype_inventory

    prototype_reference_pack

    unresolved_images

    page_structure

    visual_spec

    visual_acceptance_criteria


    高保真 UI 任务必须明确:



    page_identity:

    - 页面名称

    - route

    - active nav

    - first viewport content

    layout:

    - 信息层级

    - 栅格/列表/卡片

    - 响应式断点

    visual:

    - color

    - typography

    - spacing

    - states

    acceptance:

    - desktop

    - mobile

    - interaction

    - data rendering

    - error states


    下游注意:




    • 如果 prototype 是首页,不要默默实现成案例页。




    • 如果 prototype active nav 是 案例广场,除非任务明确改动,否则保持页面身份。




    • 视觉验收应根据 visual_specvisual_acceptance_criteria,不是凭印象自由发挥。




    8. Feishu 设计


    推荐生产模式:



    一个用户入口:prod-main

    多个生产 profile:prod-prd / prod-architect / prod-coder / prod-tester

    一个 monitor:监听 Kanban 并向飞书群通知


    飞书用途:




    • 用户提交需求。




    • 展示 created/claimed/commented/completed/blocked/crashed/timed_out/gave_up/spawn_failed。




    • 展示 implementation-review task 创建、交付完成通知和异常决策提示。




    • 异常时向用户请求决策。




    飞书不做:




    • bot-to-bot 调度协议。




    • Agent 间可靠状态机。




    • secret 存储。




    每个 profile 可有独立 .env



    profiles/prod-main/.env

    profiles/prod-prd/.env

    profiles/prod-architect/.env

    profiles/prod-coder/.env

    profiles/prod-tester/.env


    不要把真实 .env 内容复制到任务或文档。


    9. Monitor 配置


    生产配置:



    /home/fd/.hermes/kanban_feishu_monitor_prod.yaml


    关键配置:



    home: /home/fd/.hermes

    board: prod

    db_path: /home/fd/.hermes/kanban/boards/prod/kanban.db

    poll_interval_seconds: 15

    implementation_review:

    enabled: true

    source_assignee: prod-coder

    reviewer_assignee: prod-tester

    reason_prefix: "review-required:"

    title_prefix: "implementation-review:"

    review:

    enabled: true

    create_tasks: false

    create_for_kinds: []

    create_for_leaf_completed: false

    implementation_review:

    enabled: true

    approval_notice:

    enabled: true


    monitor 负责:




    • 监听 Kanban 事件并推送飞书。




    • prod-coderreview-required: block 转成独立 prod-tester implementation-review。




    • PRD/设计进入审批 gate 时发送审批通知和产物预览。




    • 将 blocked/crashed/timed_out/gave_up/spawn_failed 发送为 [任务异常,需要用户决策],不自动创建 prod-main task。




    • prod-coder complete 发送为 [交付完成],不自动创建 final review。




    10. 异常路径


    异常事件:



    blocked

    spawn_failed

    gave_up

    crashed

    timed_out


    例外:



    prod-coder block reason prefix = review-required:


    这个不是异常,而是正常 implementation-review gate。


    其他异常只进入飞书通知,等待用户决策。


    异常处理原则:




    • 必须获得用户明确决策后才能 retry/unblock、provide-input、repair、accept-risk、terminate。




    • 用户可以直接 @ 当前负责 agent 继续、修改或补充信息。




    • 如果需要重新路由或创建返工任务,用户可以 @ prod-main 手动处理。




    允许恢复动作:



    retry -> unblock source task

    provide-input -> comment user input on source task, then unblock

    repair -> create focused remediation task

    accept-risk -> continue/finalize with stated risk

    terminate -> stop chain and explain


    11. Windows Codex CLI


    prod-coder 调用 Windows Codex CLI 的唯一生产入口:



    /home/fd/.hermes/scripts/codex_windows_exec.sh


    wrapper 职责:




    • 从 WSL 调 Windows Codex CLI。




    • 固定 Hermes prod-coder policy。




    • 允许 approved workspace/image roots。




    • 使用 --skip-git-repo-check 支持非 git workspace。




    • 支持 --image <wsl_image_path>




    • /mnt/c/Windows/System32/cmd.exe 降低 PATH 敏感度。




    强制规则:



    For prod-coder, Windows Codex CLI is mandatory for the primary implementation step of code-changing tasks. If no Codex-produced implementation exists in the current run, direct prod-coder edits must not satisfy a code-changing task.


    Codex prompt 应包含:



    workspace

    scope

    files allowed / files forbidden

    docs read

    implementation requirements

    visual_spec / acceptance criteria

    verification commands

    Kanban prohibition: do not create/complete/block/review tasks


    UI/UX 任务应要求 Codex 使用 Windows 侧 UI skill:



    C:\Users\18196\.codex\skills\ui-ux-pro-max\SKILL.md


    Codex 不能做:




    • Kanban 命令。




    • 任务 triage。




    • 浏览器 review。




    • 最终 pass/fail 判断。




    • review-required handoff 写入。




    12. Windows Chrome MCP


    prod-tester 的浏览器验收工具:



    chrome-devtools-win


    推荐配置:



    mcp_servers:

    chrome-devtools-win:

    command: /mnt/c/Windows/System32/cmd.exe

    args:

    - /c

    - cd /d C:\Windows && npx -y chrome-devtools-mcp@latest --browserUrl http://127.0.0.1:9222 --no-usage-statistics --no-performance-crux

    enabled: true


    Windows Chrome 需要以 remote debugging 方式运行:



    Start-Process "chrome.exe" "--remote-debugging-port=9222 --user-data-dir=C:\tmp\chrome-devtools-hermes"


    WSL 内检查:



    curl -sS --max-time 5 http://127.0.0.1:9222/json/version

    curl -sS --max-time 5 http://127.0.0.1:9222/json/list


    如果出现:



    MCP server 'chrome-devtools-win' keepalive failed, triggering reconnect


    这通常是连接抖动。判断是否致命,应看后续 MCP tool 是否还能成功执行 list_pagesnavigate_pagetake_snapshotclicklist_console_messages


    如果 Chrome 9222 不通,tester 必须快速 block env-missing,不要改用 WSL Chromium、Playwright Chromium、Hermes built-in browser fallback。


    13. 启动和检查


    一键重启生产栈:



    cd /home/fd/.hermes

    bash scripts/restart_prod_stack.sh


    脚本会启动:



    prod-main gateway + dashboard

    prod-prd gateway + dashboard

    prod-architect gateway + dashboard

    prod-coder gateway + dashboard

    prod-tester gateway + dashboard

    kanban_feishu_monitor.py --daemon --config kanban_feishu_monitor_prod.yaml


    Dashboard:



    prod-main http://127.0.0.1:9130

    prod-prd http://127.0.0.1:9131

    prod-architect http://127.0.0.1:9132

    prod-coder http://127.0.0.1:9133

    prod-tester http://127.0.0.1:9134


    进程检查:



    ps -eo pid,etime,cmd | grep -E "hermes -p prod-|kanban_feishu_monitor.py" | grep -v grep


    Dashboard HTTP 检查:



    python3 - <<'PY'

    import urllib.request

    for port in [9130, 9131, 9132, 9133, 9134]:

    try:

    r = urllib.request.urlopen(f"http://127.0.0.1:{port}/", timeout=5)

    print(port, r.status)

    except Exception as exc:

    print(port, "ERR", repr(exc))

    PY


    Kanban 检查:



    hermes kanban boards list

    hermes kanban --board prod list

    hermes kanban --board prod assignees


    日志位置:



    profiles/prod-main/logs/gateway.supervisor.log

    profiles/prod-prd/logs/gateway.supervisor.log

    profiles/prod-architect/logs/gateway.supervisor.log

    profiles/prod-coder/logs/gateway.supervisor.log

    profiles/prod-tester/logs/gateway.supervisor.log

    profiles/prod-tester/logs/mcp-stderr.log

    kanban/feishu_monitor_prod.log

    kanban/feishu_monitor_prod.out


    14. systemd


    systemd unit 位于:



    /home/fd/.hermes/systemd/


    包括:



    hermes-prod-main-gateway.service

    hermes-prod-prd-gateway.service

    hermes-prod-architect-gateway.service

    hermes-prod-coder-gateway.service

    hermes-prod-tester-gateway.service

    hermes-prod-main-dashboard.service

    hermes-prod-prd-dashboard.service

    hermes-prod-architect-dashboard.service

    hermes-prod-coder-dashboard.service

    hermes-prod-tester-dashboard.service

    hermes-kanban-feishu-monitor-prod.service


    当前日常推荐仍是:



    bash /home/fd/.hermes/scripts/restart_prod_stack.sh


    systemd 可作为长期守护部署选项,但启停前要确认 WSL/systemd 状态和 PATH 是否包含 Windows interop 路径。


    15. WSL + Windows 注意事项


    需要 Windows interop 的组件:




    • prod-coder → Windows Codex CLI。




    • prod-tester → Windows Chrome + chrome-devtools-mcp。




    PATH 至少需要包含:



    /mnt/c/Windows/system32

    /mnt/c/Windows

    /mnt/c/Windows/System32/WindowsPowerShell/v1.0

    /mnt/d/nodejs

    /mnt/c/Users/18196/AppData/Roaming/npm


    Windows cmd.exe 不支持 UNC 当前目录。MCP 配置里用:



    cd /d C:\Windows && npx ...


    这是为了避免 \\wsl.localhost\...cmd.exe 当成无效 cwd。


    16. 安全规范


    禁止写入以下内容到任务、评论、summary、metadata、飞书、日志、文档:



    API Key

    App Secret

    Access Token

    Refresh Token

    Cookie

    Session

    Private Key

    OAuth ticket

    Webhook secret

    真实数据库密码


    生产代码修改边界:




    • 只能修改 task workspace。




    • 修改 .hermes 控制面需要用户明确授权。




    • Codex wrapper 虽然使用高权限运行,但 prompt 必须明确 workspace 和文件范围。




    17. 常见问题


    17.1 Coder 没调用 Codex


    判断:




    • coder task 是代码变更任务。




    • session/handoff 没有 codex_invocation




    • workspace 变更主要由 Hermes 直接写入。




    处理:




    • 如果还未 review-ready,block 或 retry,让 prod-coder 使用 /home/fd/.hermes/scripts/codex_windows_exec.sh




    • 如果任务 body 包含 ## Required Codex Implementation,这是硬违反,不能靠手工实现过关。




    17.2 Tester 跑很久


    先分清:




    • Kanban task 处于 blocked,但 run 早已结束。




    • 还是 task_runs.status = running 的真实运行。




    blocked task 没有 completed_at,看起来会像“跑了几小时/几天”,但实际测试可能只跑了几分钟。


    建议:




    • tester 命中阻塞缺陷后,最小复现 + 证据 + block。




    • 不要在失败后继续全站探索。




    • 默认信任 coder 明确记录的 build/pytest/API smoke,除非证据缺失或高风险。




    17.3 Chrome MCP 抖动


    看到:



    keepalive failed, triggering reconnect


    不一定是失败。检查:



    curl http://127.0.0.1:9222/json/version


    并查看 tester session 是否后续成功调用 MCP tools。


    17.4 Coder 90 轮耗尽


    prod-coder 必须保留 Kanban closure budget:




    • 接近 70/90 turns,停止扩大实现。




    • 接近 75/90 turns,准备 handoff 或 abnormal block。




    • 结束前必须 Kanban comment + block/complete,不能只给文本总结。




    17.5 Child missing


    如果:




    • prod-prd complete 后未创建 prod-architect child。




    • prod-architect complete 后未创建 prod-coder child。




    monitor 可以发送 [下游任务缺失] 通知,但不自动创建 prod-main review task。


    prod-coder completion 是正常交付完成,应触发 [交付完成] 通知。


    18. 最小验证任务


    飞书里给 prod-main 的最小请求建议包含:



    workspace:

    authorization:

    goal:

    acceptance:

    constraints:


    示例:



    @prod-main

    在 /home/fd/projects/demo-app 中实现一个最小 Todo 页面。

    允许创建和修改该 workspace 内文件。

    验收标准:可以新增 todo、切换完成状态、刷新后数据仍在本地存储中。

    要求走 prod 多 Agent 链路,不跳过 PRD、设计、coder review-required、tester 验收。


    预期链路:



    prod-main creates prod-prd

    prod-prd creates prod-architect

    prod-architect creates prod-coder

    prod-coder calls codex_windows_exec.sh and blocks review-required

    monitor creates prod-tester implementation-review

    prod-tester pass/unblock or block defects

    prod-coder complete after unblock

    monitor sends delivery-complete notice

    user accepts or asks the responsible agent / prod-main for follow-up


    19. 最佳实践




    • 入口统一:用户只找 prod-main




    • 调度统一:所有生产任务只走 prod board。




    • 角色纯粹:main 不写代码,prd 不设计实现,architect 不编码,coder 不建 tester,tester 不建修复任务。




    • 产物落盘:PRD、DESIGN、TEST_REPORT 是硬产物。




    • 原型转文字:图片先变成 prototype_inventoryvisual_specvisual_acceptance_criteria




    • Codex 强制:prod-coder 的主要实现走 Windows Codex wrapper。




    • 验收聚焦:prod-tester 做关键用户路径和视觉验收,不重复无限全量测试。




    • 异常要用户决策:retry/repair/accept-risk 等动作不能自动冒进。




    • metadata 推荐但不强依赖:body/comments/summary/result/links 才是稳定交接底座。




    • 永不泄密:任务、评论、日志、飞书、文档都不能出现真实 secret。




    20. 当前权威文件索引


    日常排查以这些文件为准:



    /home/fd/.hermes/AGENTS.md

    /home/fd/.hermes/MULTI_AGENT_ROUTER.md

    /home/fd/.hermes/MULTI_AGENT_WORKFLOW.md

    /home/fd/.hermes/team/workflows/prod-dev.yaml

    /home/fd/.hermes/team/handoffs/*.md

    /home/fd/.hermes/kanban_feishu_monitor_prod.yaml

    /home/fd/.hermes/profiles/prod-main/AGENTS.md

    /home/fd/.hermes/profiles/prod-prd/AGENTS.md

    /home/fd/.hermes/profiles/prod-architect/AGENTS.md

    /home/fd/.hermes/profiles/prod-coder/AGENTS.md

    /home/fd/.hermes/profiles/prod-tester/AGENTS.md


    如果本文与上述规则文件冲突,以 AGENTS.mdMULTI_AGENT_ROUTER.mdteam/workflows/prod-dev.yaml 和 profile-specific AGENTS.md 为准,并更新本文。

* 帖子来源Linux.do
返回