基于 CNB 平台的多 Agent 协作工作流仓库,通过 5 个角色化 NPC Agent 实现「需求拆解 → 开发 → 评审 → 测试 → 验收」的全流程自动化。
用户提交父 Issue(待完善)
│
▼
┌─────────┐
│ 张姐-PM │ 分析需求 → 拆解子 Issue → 设置依赖与验证契约
└────┬─────┘
│ 子 Issue(待处理)
▼
┌──────────────┐
│ CodeBuddy Code │ 编码实现 → 自验证 → 提交 PR(待评审)
└──────┬────────┘
│ PR(待评审)
▼
┌──────────────┐
│ 老李-评审员 │ 代码评审 → 合并 PR → 推进 Issue(待测试)
└──────┬────────┘
│ Issue(待测试)
▼
┌──────────┐
│ 小美-测试 │ 执行验证契约 → 回写测试结果
└──────┬────┘
│ Issue(测试通过/不通过)
▼
┌───────────────┐
│ 老推-流程推进 │ 中间层晋升 → 依赖放行 → 根 Issue 验收
└───────────────┘
| 角色 | NPC 名称 | 职责 | Agent 规范 | CI 唤醒规范 |
|---|---|---|---|---|
| 项目经理 | 张姐-PM | 需求分析、拆解父 Issue、创建子 Issue、管理依赖与标签 | spec/agent/pm.md | spec/ci/pm-call.md |
| 开发者 | CodeBuddy Code | 编码实现、自验证、提交 PR | spec/agent/dev.md | spec/ci/dev-call.md |
| 评审员 | 老李-评审员 | PR 代码评审、合并、Issue 状态推进 | spec/agent/reviewer.md | spec/ci/reviewer-call.md |
| 测试者 | 小美-测试 | 执行验证契约、回写结构化测试结果 | spec/agent/tester.md | spec/ci/tester-call.md |
| 验收者 | 老推-流程推进 | 中间层晋升、依赖放行、根 Issue 验收 | spec/agent/checker.md | spec/ci/checker-call.md |
仓库使用 树形 Issue 结构 管理需求拆解:
每个叶子 Issue 正文包含以下结构化字段:
节点类型: 叶子节点
父节点: #[父 Issue 编号]
依赖项: none / #[依赖 Issue 编号]
变更范围: 模块/目录范围
执行边界: 仅按当前 Issue 范围执行
解锁条件: 测试通过
构建验证: [可执行命令]
启动命令: [可执行命令]
探活地址: [URL]
期望状态码: [HTTP 状态码]
接口冒烟: [验证命令]
界面冒烟: [验证命令]
Docker构建命令: [构建命令]
待完善 → 完善中 → 处理中 → 汇总中 → 待验收
完善中 → 待处理 → 开发中 → 待评审 → 评审中 → 待测试 → 测试中 → 测试通过
↘ 测试不通过 → 开发中(返工)
完善中 → 阻塞中,依赖满足后由 Checker 放行至 待处理无需处理完整标签定义与操作规范见 spec/shared/label-rules.md。
CI 通过定时巡检(每 5 分钟)扫描仓库 Issue/PR 状态,识别需要处理的节点,并通过 scripts/post_issue_comment.sh 发送唤醒评论触发对应 NPC Agent:
待完善 的父 Issue → 唤醒张姐-PM待处理 / 开发中 / 测试不通过 的叶子 Issue → 唤醒 CodeBuddy Code待评审 / 评审中 的 PR → 唤醒老李-评审员待测试 / 测试中 的叶子 Issue → 唤醒小美-测试处理中 / 汇总中 的中间层/根节点 → 唤醒老推-流程推进CI 侧仅做轻量判断与唤醒,不执行任何业务逻辑。所有 Agent 被唤醒后自行做状态检查与幂等检查。
XX状态: 运行中 作为占位锁,防止 CI 重复唤醒.
├── .cnb/
│ └── settings.yml # NPC 角色定义(名称、头像、Prompt)
├── .cnb.yml # CI/CD 流水线 + NPC 触发配置
├── assets/ # NPC 角色头像
│ ├── pm.png
│ ├── dev.png
│ ├── reviewer.png
│ ├── tester.png
│ └── checker.png
├── scripts/
│ └── post_issue_comment.sh # NPC 唤醒评论发送脚本(设置 work_mode)
└── spec/
├── agent/ # Agent 执行规范(各角色的完整工作流)
│ ├── pm.md
│ ├── dev.md
│ ├── reviewer.md
│ ├── tester.md
│ └── checker.md
├── ci/ # CI 唤醒规范(轻量判断 + 触发逻辑)
│ ├── pm-call.md
│ ├── dev-call.md
│ ├── reviewer-call.md
│ ├── tester-call.md
│ └── checker-call.md
└── shared/
└── label-rules.md # 标签操作公共规范(状态定义、流转、API 映射)
Fixes #<叶子Issue编号>,禁止引用中间层或根节点完善中 / 阻塞中 / 处理中 / 测试通过 / 无需处理