logo
0
2
WeChat Login
docs: enhance README — add NPC exception handling, security best practices, related docs, fix pitfall count

AI Pipeline Factory

CNB AI 流水线工厂 Skill — 从需求到上线的全自动 NPC 协作工作流。

流水线

cnbdocs(PRD) → cnbuu(UI) → cnbvv(前端) → cnbmm(后端) → cnbyy(管理后台) → cnbnn(集成) → 部署
组织NPC产出work_mode
① PRDcnbdocs@codebuddy(glm-5.1)PRD 文档不需要
② UIcnbuu@npc/ui-ux-pro-max设计系统 + 原型图不需要
③ 前端(用户端)cnbvv@codebuddy用户端前端代码需要
④ 后端cnbmm@tencent/cloud/cloudbase/community(云开发工程师)CloudBase 云函数需要
⑤ 管理后台cnbyy@codebuddyAdmin 后台前端需要
⑥ 集成cnbnn@codebuddy完整可部署 monorepo需要

判断口诀:NPC 要不要动代码?要动 → work_mode: true

核心理念

  • 同仓同域:一个仓库、一个域名,前端 / + 管理后台 /admin + 后端 API /api
  • 省资源:不拆仓库、不拆域名、不买额外服务器
  • 6站流水线:每站一个 NPC,产出滚入下一站

版本

  • v2.0 (2026-05-14): 6站流水线 + 管理后台 + 同域部署 + 自定义域名绑定
  • v1.1 (2026-05-06): 基于 EdgeOne Dashboard 完整实战打磨,补充 22 条踩坑记录

前置条件

依赖环境变量/工具用途
CNB TokenCNB_TOKENAPI 认证(需权限:repo-manage:rw, repo-code:rw, group-manage:rw, group-resource:rw
腾讯云凭证TENCENTCLOUD_SECRET_ID + TENCENTCLOUD_SECRET_KEYCloudBase API
EdgeOne CLInpm i -g edgeone@latest(≥1.2.30)前端部署
tcb CLInpm i -g @cloudbase/cliCloudBase 云函数部署
curl + python3系统自带API 调用

使用

安装到 OpenClaw workspace:

npx skills add cnbll/ai-pipeline-factory -y

或直接复制 skills/ai-pipeline-factory/~/.openclaw/workspace/skills/

快速启动

老板说"帮我做{项目名}"时,按以下顺序执行:

1. 创建仓库(cnbdocs)→ 推 .cnb.yml + .cnb/settings.yml
2. 开 PRD Issue → 等 NPC 完成(~8min)
3. transfer → cnbuu → 开 UI Issue(含管理后台页面) → 等 NPC 完成(~10min)
4. transfer → cnbvv → 开前端 Issue(work_mode:true)→ 等 NPC 完成(~10min)
5. 合并前端 PR → transfer → cnbmm → 开后端 Issue(含admin接口,work_mode:true)→ 等 NPC 完成(~8min)
6. 合并后端 PR → transfer → cnbyy → 开管理后台 Issue(work_mode:true)→ 等 NPC 完成(~10min)
7. 合并管理后台 PR → transfer → cnbnn → 开集成 Issue(work_mode:true)→ 等 NPC 完成(~10min)
8. 合并集成 PR → CloudBase 部署云函数 + 数据库 → EdgeOne Pages 部署前端(用户端+管理后台合并)

总预期时间: 60-80分钟(含等待 NPC)

仓库结构约定(最终产物)

{项目名}/
├── client/              # 用户端前端(React + Vite)
│   ├── src/
│   ├── public/
│   └── package.json
├── admin/               # 管理后台前端(React + Vite + Ant Design Pro)
│   ├── src/
│   ├── public/
│   └── package.json
├── server/              # CloudBase 云函数
│   ├── {函数1}/
│   ├── {函数2}/
│   ├── shared/
│   ├── types/
│   └── package.json
├── cloudbaserc.json
├── PRD.md
├── README.md
├── .cnb.yml
└── .cnb/settings.yml

路由约定:

  • 用户端:/ → client/ 的构建产物
  • 管理后台:/admin → admin/ 的构建产物
  • 后端 API:/api/* → CloudBase 云函数(HTTP 触发)

CodeBuddy 模型选择指南

模型@方式适合场景性价比
glm-5.1@codebuddy(glm-5.1)PRD、架构决策、复杂推理、多方案权衡★★★★
glm-5.0-turbo@codebuddy(glm-5.0-turbo)常规代码、CRUD、日常任务、默认选择★★★★★
deepseek-v4-flash@codebuddy(deepseek-v4-flash)快速小活、格式化、简单修改★★★★★
不指定模型@codebuddy使用 defaultRole(glm-5.0-turbo)★★★★★

踩坑清单

仓库 Transfer

#解法
1errcode 9 "management rules"组织保护开着:PUT /{slug}/-/settings {"group_protection":0}
2"target slug already exists"目标组织有同名仓库残留,先 DELETE
3"parameter source is invalid"source 要完整路径 org/repo,target 只要 org slug
4仓库转移后两边都找不到确认 DELETE 的是目标组织的同名仓库,不是源
5Token 报 bill authorization scope环境变量未 export,检查 echo $CNB_TOKEN

NPC 相关

#解法
6NPC 说"没有 repo-code:rw 权限"Issue/评论请求体加 "work_mode": true
7NPC 不触发/无反应@格式不完整:必须 @仓库路径(角色名)
8.cnb.yml 写了 npc.work_mode: true 无效work_mode 不是 yml 配置,是 API 参数
9NPC 第一次说做完但没推代码可能没传 work_mode,重新评论触发
10.cnb.yml 格式报错严格参照 CodeBuddy 仓库格式:$: 通配 + 各模型独立段
11UI NPC 只输出整体风格不输出独立页面Issue 中明确要求"每个页面一张独立SVG(375×812px)+ 真实数据"

CloudBase 相关

#解法
12tcb login 失败tcb login --apiKeyId $ID --apiKey $KEY
13cloudbaserc.json envId 为 "your-env-id"手动替换为真实环境 ID
14tcb fn deploy 找不到 functions/--dir 指定函数目录:tcb fn deploy {fn} --env-id {id} --dir server/{fn}
15创建集合权限不足@cloudbase/node-sdk + tccli 凭证
16node-sdk 报 missing secretId代码里显式传 secretId/secretKey,不要依赖环境变量自动注入

EdgeOne Pages 相关

#解法
17直接访问 /profile 路径 404/401SPA 需要 public/_routes.json 做路由 fallback
18eo_token 过期(401 UNAUTHORIZED)重新 edgeone pages deploy 获取新 token
19管理后台 /admin 白屏admin 的 vite.config.ts 必须设 base: '/admin/'
20EdgeOne Pages CLI 版本低npm install -g edgeone@latest,要求 ≥1.2.30

NPC 异常处理

NPC 产出异常(声称完成但未提交代码、构建失败、功能遗漏)时的处理:

场景操作
代码构建失败/功能遗漏在 Issue 下追加评论明确指出问题重新触发
NPC 无响应(>20min)评论追加 @codebuddy(glm-5.1) 请确认收到任务并立即开始执行。
回滚git log --oneline -10 找到安全点 → git reset --hard {hash}git push --force
多次失败跳过手动完成该工位 → git add && git commit && git push → 继续下一步 transfer

完整异常处理流程详见 SKILL.md

安全最佳实践

文件用途处理方式
~/.tccli/default.credential腾讯云 API 密钥⚠️ 不要提交到 Git,权限设为 600
~/.edgeone/.tokenEdgeOne Pages 部署自动保存,加入 .gitignore
CNB_TOKENCNB API仅环境变量,不落盘
.env项目环境变量加入 .gitignore

.gitignore 模板已包含在仓库中,覆盖 node_modules/dist/.env*.edgeone/.tcclicloudbaserc.local.json

相关文档

文档内容
SKILL.md完整执行流程(Step 0-7)、各站提示词模板、NPC 配置模板、部署全流程、监控脚本
ADR.md架构决策记录:同仓同域方案选择依据、CloudBase 选型理由、迁移路径
CHANGELOG.md版本变更历史(v1.0 → v2.0)
check-env.sh环境预检脚本(Token、CLI 版本、云 API 可用性一键校验)

包含

  • 完整执行流程(Step 0-7)
  • 各站提示词模板(PRD/UI/前端/后端/管理后台/集成)
  • NPC 配置模板(.cnb.yml + .cnb/settings.yml)
  • 仓库转移脚本(transfer_repo)
  • NPC 进度监控脚本
  • 20 条踩坑清单(Transfer 5 + NPC 6 + CloudBase 5 + EdgeOne Pages 4)
  • CodeBuddy 模型选择指南
  • 部署全流程(CloudBase + EdgeOne Pages + 自定义域名)
  • NPC 异常处理(回滚/重试/跳过)
  • 安全最佳实践(凭证管理 + .gitignore 模板)

About

CNB AI 流水线工厂 — 从需求到上线的全自动 NPC 协作工作流 Skill

124.00 KiB
Skills
0 forks2 stars1 branches0 TagREADME
Language
Shell100%