我替你上班,你替我自由 —— 让 NPC 帮你处理繁琐工作,把时间留给真正重要的事
NPC 是 CNB 开源平台推出的 AI 角色功能,基于 Docker 构建,与代码仓库同源共生 —— 代码在哪里,Agent 就在哪里。你不想做的事情,NPC 帮你做。
| 你不想做的事 | NPC 帮你做 |
|---|---|
| 😫 重复回答相似问题 | 🤖 自动回复 Issue 评论 |
| 😫 审查枯燥的代码 | 🤖 自动 PR 代码审查 |
| 😫 查找文档翻半天 | 🤖 基于知识库即时问答 |
| 😫 手动创建重复 Issue | 🤖 批量创建、分类管理 |
| 😫 记不住项目细节 | 🤖 记住一切,随问随答 |
| 😫 不想写的代码 | 🤖 NPC 帮你写 |
从技术角度看,NPC 是一个以 Issue / PR 事件驱动、以云原生为底座、以 Docker 为运行环境的 AI Agent。
CNB 提供了两种类型的 NPC:
| 类型 | 说明 | 运行镜像 | 配置成本 |
|---|---|---|---|
| 系统 NPC(CodeBuddy) | 平台内置,全局可用 | default-codebuddy-npc | 零配置 |
| 当前仓库默认NPC | 在仓库中自定义的 NPC | default-npc-agent | 需配置 .cnb/settings.yml |
| 当前仓库自定义NPC | 在仓库中自定义的 NPC | cnb.yml 中配置的镜像 | 需配置 .cnb/settings.yml + .cnb.yml |
| 别人的NPC | 在当前仓库使用其他仓库的 NPC | 由其他仓库的 NPC 定义 | star 仓库即可 |
无论哪种 NPC,工作流程都一样:
① 在 Issue / PR 中 @NPC → ② NPC 流水线自动启动 → ③ 结果反馈到评论区
开启 替我上班 后,NPC 流水线将获得更高的操作权限。未开启时,NPC 仅能以只读方式响应。
| 未开启 | 已开启 | |
|---|---|---|
| Token 权限 | 只读 | 读写(可推送代码、创建 PR) |
| 适用场景 | 问答、知识查询 | 写代码、自动提 PR、合并分支 |
📖 权限详情参见:CNB Token 权限说明
| NPC | 仓库 | 功能 |
|---|---|---|
| π | npc/pai | 随机召唤其他 NPC 回答问题 |
| OpenClaw | Bring/AGI/OpenClaw | OpenClaw 是一个用于构建、运行和编排 AI Agent 的通用框架,支持对话、工具调用与多模型接入 |
| OpenCode | npc/open-code | 基于 OpenCode CLI 的 CNB 平台 AI Bot |
使用:
@npc/pai(π) 你帮我看看
💡 浏览更多社区 NPC:https://cnb.cool/explore
想要一个完全符合你需求的 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 相关问题。
回答简洁准确,必要时提供代码示例。
创建 .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/小助手 帮我看看这个代码有什么问题?
让 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 提交实现代码。
每次提交 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 创建,代码审查官会自动:
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 是否满意即可。
Skills 是 NPC 的"技能包",让 NPC 获得额外能力。
# .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
| Skill | 能力 | 仓库 |
|---|---|---|
cnb-skill | 完整 CNB OpenAPI 交互(查项目、查用户、管理仓库) | cnb/skills/cnb-skill |
knowledge-base | 构建项目知识库,NPC 能深度理解项目 | cnb/plugins/knowledge-base |
创建一个包含 SKILL.md 的仓库即可发布你的 Skill:
---
name: my-skill
description: 我的自定义技能
---
## 功能
描述这个 Skill 能做什么...
## 使用方法
提供使用示例...
默认 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:latest | Node.js + npm/yarn |
docker.cnb.cool/npc/python:latest | Python + pip |
docker.cnb.cool/npc/go:latest | Go 工具链 |
需要更多工具?构建你自己的镜像:
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