591 字约 2 分钟
借助 AI 能力,你可以让流水线自动对 PR(Pull Request)进行代码评审,快速发现潜在问题、提升代码质量。
云原生构建支持两种方式实现 AI 代码评审:
| 对比项 | AI 评审插件 | NPC 事件 |
|---|---|---|
| 触发方式 | PR 事件时流水线自动触发 | 在 PR 评论中提及 NPC 按需触发 |
| 适用场景 | 每次 PR 都自动评审 | 按需评审,灵活控制 |
| 配置方式 | 当前仓库 .cnb.yml | 无需配置(自定义 NPC 在 NPC 仓库定义) |
两种方式均使用 CNB_TOKEN 环境变量调用平台 API,提及自定义 NPC 角色时该令牌代表被提及的角色身份。
使用 AI 评审插件
使用 cnbcool/code-review 插件,在 PR 事件触发时自动进行代码评审。该插件基于 CodeBuddy CLI,支持多种编程语言,自动过滤非代码文件,并将评审结果以评论形式提交到 PR。
配置示例
.cnb.yml
main:
pull_request:
- stages:
- name: 代码评审
image: cnbcool/code-review:latest
settings:
comment: true
max_comments: 10
fail_on_critical: false更多参数配置请参考 cnbcool/code-review 插件详情。
通过 NPC 事件触发
在 PR 评论中提及 NPC 角色,触发 pull_request.comment@npc 事件,由 NPC 流水线执行 AI 评审。
触发方式
- 系统 NPC:在 PR 评论中提及
@CodeBuddy:
@CodeBuddy 代码评审- 自定义 NPC:先配置自定义 NPC 角色,然后在 PR 评论中提及:
@cnb/feedback(评审专家) 代码评审工作原理
- PR 评论中提及 NPC 时,触发
pull_request.comment@npc事件。 - 系统加载 NPC 所属仓库的
.cnb.yml,执行对应的事件流水线。 - 流水线使用
CNB_TOKEN调用 AI 能力进行评审,结果以 NPC 身份提交到 PR 评论。
详细配置参考 NPC 文档。
注意事项
- 两种方式都需要确保流水线有权限访问代码仓库和提交评论。
- NPC 事件触发时,TOKEN 权限仅限于当前仓库。
- 如需在评审过程中修改代码,可开启 NPC 工作模式。