logo
0
0
WeChat Login
docs: 增加 npc 的使用章节

🎮 NPC Playground

我替你上班,你替我自由 —— 让 NPC 帮你处理繁琐工作,把时间留给真正重要的事

目录


🤖 什么是 NPC?

NPC 是 CNB 开源平台推出的 AI 角色功能,基于 Docker 构建,与代码仓库同源共生 —— 代码在哪里,Agent 就在哪里。你不想做的事情,NPC 帮你做。

你不想做的事NPC 帮你做
😫 重复回答相似问题🤖 自动回复 Issue 评论
😫 审查枯燥的代码🤖 自动 PR 代码审查
😫 查找文档翻半天🤖 基于知识库即时问答
😫 手动创建重复 Issue🤖 批量创建、分类管理
😫 记不住项目细节🤖 记住一切,随问随答
😫 不想写的代码🤖 NPC 帮你写

从技术角度看,NPC 是一个以 Issue / PR 事件驱动、以云原生为底座、以 Docker 为运行环境的 AI Agent。


📦 如何使用 NPC

CNB 提供了两种类型的 NPC:

类型说明运行镜像配置成本
系统 NPC(CodeBuddy)平台内置,全局可用default-codebuddy-npc零配置
当前仓库默认NPC在仓库中自定义的 NPCdefault-npc-agent需配置 .cnb/settings.yml
当前仓库自定义NPC在仓库中自定义的 NPCcnb.yml 中配置的镜像需配置 .cnb/settings.yml + .cnb.yml
别人的NPC在当前仓库使用其他仓库的 NPC由其他仓库的 NPC 定义star 仓库即可

工作流程

无论哪种 NPC,工作流程都一样:

① 在 Issue / PR 中 @NPC → ② NPC 流水线自动启动 → ③ 结果反馈到评论区

"替我上班"模式

开启 替我上班 后,NPC 流水线将获得更高的操作权限。未开启时,NPC 仅能以只读方式响应。

未开启已开启
Token 权限只读读写(可推送代码、创建 PR)
适用场景问答、知识查询写代码、自动提 PR、合并分支

📖 权限详情参见:CNB Token 权限说明

社区 优秀NPC 示例

NPC仓库功能
πnpc/pai随机召唤其他 NPC 回答问题
OpenClawBring/AGI/OpenClawOpenClaw 是一个用于构建、运行和编排 AI Agent 的通用框架,支持对话、工具调用与多模型接入
OpenCodenpc/open-code基于 OpenCode CLI 的 CNB 平台 AI Bot

使用:

@npc/pai(π) 你帮我看看

💡 浏览更多社区 NPC:https://cnb.cool/explore


🛠️ 自定义 NPC

想要一个完全符合你需求的 NPC?两步搞定。

Step 1:定义 NPC 人设

在仓库创建 .cnb/settings.yml,设定 NPC 的身份和行为:

# .cnb/settings.yml knowledgeBase: roles: - name: 小助手 avatar: src: https://cnb.cool/your-repo/-/git/raw/main/avatar.png prompt: | 你是一个友好、专业的代码助手。 擅长回答代码、Git、CI/CD 相关问题。 回答简洁准确,必要时提供代码示例。

Step 2:配置触发场景

创建 .cnb.yml,告诉 NPC 什么时候工作:

# .cnb.yml .npc_task: &npc_task - stages: - name: npc respond image: docker.cnb.cool/npc/base:latest 小助手: issue.comment@npc: *npc_task # 有人在 Issue 评论中 @小助手 pull_request.comment@npc: *npc_task # 有人在 PR 评论中 @小助手 issues@npc: *npc_task # Issue 创建时自动触发

配置完成后,在 Issue 或 PR 中 @mention 即可:

@your-repo/小助手 帮我看看这个代码有什么问题?

🎬 实战场景

场景 1:使用 NPC 来写代码

让 NPC 根据需求直接生成代码并提交 PR。

配置:

# .cnb/settings.yml knowledgeBase: roles: - name: 码农 prompt: | 你是一个高效的编程助手。 ## 职责 - 根据 Issue 描述的需求编写代码 - 代码风格遵循项目现有规范 - 编写必要的单元测试 - 提交 PR 并附上清晰的说明
# .cnb.yml .coder_task: &coder_task - stages: - name: write code image: docker.cnb.cool/npc/base:latest 码农: issues@npc: *coder_task issue.comment@npc: *coder_task

使用:

创建一个 Issue,描述你想要的功能:

@your-repo/码农 请帮我实现一个用户登录接口,要求: 1. POST /api/login 2. 支持用户名 + 密码登录 3. 返回 JWT Token

NPC 会自动阅读仓库代码、理解项目结构,然后创建 PR 提交实现代码。


场景 2:使用 NPC 来做代码 Review

每次提交 PR 时,NPC 自动审查代码质量。

配置:

# .cnb/settings.yml knowledgeBase: roles: - name: 代码审查官 prompt: | 你是一位经验丰富的代码审查专家。 ## 审查要点 - 代码逻辑正确性 - 安全漏洞(SQL 注入、XSS 等) - 性能问题和资源泄漏 - 代码风格和可读性 ## 输出格式 - 对每个问题标注严重等级:🔴 必须修复 / 🟡 建议优化 / 🟢 小建议 - 给出修复示例代码
# .cnb.yml .review_task: &review_task - stages: - name: auto review image: docker.cnb.cool/npc/base:latest 代码审查官: pull_request@npc: *review_task # PR 创建时自动审查 pull_request.comment@npc: *review_task # PR 评论中 @ 触发

效果:

每当有新 PR 创建,代码审查官会自动:

  1. 阅读 PR 的所有变更文件
  2. 逐文件给出审查意见
  3. 在 PR 评论中输出审查报告

场景 3:使用 NPC 持续写代码

NPC 不只能写一次代码——它可以根据 Review 意见持续迭代,形成 "提需求 → 写代码 → 审查 → 修改" 的自动化循环。

配置:

同时配置"码农"和"代码审查官"两个 NPC:

# .cnb.yml .coder_task: &coder_task - stages: - name: write code image: docker.cnb.cool/npc/base:latest .review_task: &review_task - stages: - name: auto review image: docker.cnb.cool/npc/base:latest 码农: issues@npc: *coder_task issue.comment@npc: *coder_task pull_request.comment@npc: *coder_task # 能响应 PR 中的修改意见 代码审查官: pull_request@npc: *review_task pull_request.comment@npc: *review_task

工作流:

你提 Issue → 码农写代码提 PR → 代码审查官自动 Review ↓ 审查意见 @ 码农 ↓ 码农修改代码推送更新 ↓ 代码审查官再次 Review ↓ ✅ 通过 → 等你合并

你只需要提一个 Issue,然后喝杯咖啡,回来看看 PR 是否满意即可。


NPC 增强

1. 添加 Skills

Skills 是 NPC 的"技能包",让 NPC 获得额外能力。

使用现有 Skill

# .cnb.yml 小助手: issue.comment@npc: - stages: - name: use skill image: docker.cnb.cool/npc/base:latest settings: SKILLS: | - https://cnb.cool/cnb/skills/cnb-skill.git

常用 Skills

Skill能力仓库
cnb-skill完整 CNB OpenAPI 交互(查项目、查用户、管理仓库)cnb/skills/cnb-skill
knowledge-base构建项目知识库,NPC 能深度理解项目cnb/plugins/knowledge-base

开发自定义 Skill

创建一个包含 SKILL.md 的仓库即可发布你的 Skill:

--- name: my-skill description: 我的自定义技能 --- ## 功能 描述这个 Skill 能做什么... ## 使用方法 提供使用示例...

2. 添加开发环境

默认 NPC 运行在基础 Docker 镜像中。如果你的项目需要特定的语言运行时、工具链或依赖,可以自定义 NPC 的开发环境。

使用预置环境镜像

# .cnb.yml 码农: issues@npc: - stages: - name: write code image: docker.cnb.cool/npc/node:latest # Node.js 环境

常用环境镜像:

镜像包含
docker.cnb.cool/npc/base:latest基础环境
docker.cnb.cool/npc/node:latestNode.js + npm/yarn
docker.cnb.cool/npc/python:latestPython + pip
docker.cnb.cool/npc/go:latestGo 工具链

自定义 Docker 镜像

需要更多工具?构建你自己的镜像:

FROM docker.cnb.cool/npc/base:latest # 安装项目需要的工具 RUN apt-get update && apt-get install -y \ postgresql-client \ redis-tools # 安装语言依赖 RUN pip install pytest black flake8 # 复制自定义脚本 COPY scripts/ /app/scripts/

.cnb.yml 中使用:

码农: issues@npc: - stages: - name: write code image: your-registry/your-npc-image:latest

📚 更多资源


💬 一句话总结

NPC 让代码仓库不再只是存代码的地方,而是一个有"人"帮你干活的智能空间。


Made with ❤️ for CNB NPC