OpenClaw 有价值应用(2026-03-28):多Agent代码审查流水线,把PR质量把关从"人工逐条"变成"系统协同"
场景演示
代码审查是每个开发团队的必经之路,但现实往往是:
- Reviewer 没时间细看,扫两眼就 approve
- 资深工程师被低质量 PR 占用大量时间,核心开发被拖累
- 安全漏洞、性能问题、风格不一——全靠人工发现,漏检率极高
- 多人 review 意见分散,没有统一标准,最后"过了"但问题还在
用 OpenClaw 多Agent协作,可以搭建一条自动化的 PR 审查流水线:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 代码拉取 │ → │ 安全扫描 │ → │ 质量评估 │
│ Agent │ │ Agent │ │ Agent │
└──────────────┘ └──────────────┘ └──────────────┘
│
┌────────────────────────┘
↓
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 审查报告 │ ← │ 逻辑审查 │ ← │ 风格规范 │
│ 汇总 Agent │ │ Agent │ │ Agent │
└──────────────┘ └──────────────┘ └──────────────┘
每个 Agent 专注一个维度,最后汇总成一份结构化的审查报告,评论到 PR 上,资深工程师只需要做最后判断。
Step by Step
第一步:配置 GitHub Token 和 OpenClaw 环境
在 .env 中配置:
HALO_API_KEY=your_halo_api_key
GITHUB_TOKEN=your_github_token
第二步:部署各个审查 Agent
根据实际需求,部署以下 Agent 角色(可并行或串行):
| Agent 角色 | 职责 | 使用的 Skill |
|---|---|---|
代码拉取 Agent | 监听 PR 事件,获取 diff 内容 | github |
安全扫描 Agent | 检测硬编码密钥、SQL 注入、XSS 等 | multi-search-engine |
风格规范 Agent | 对照团队 .editorconfig / lint 规则 | github |
逻辑审查 Agent | 分析业务逻辑是否合理、边界条件 | multi-search-engine |
报告汇总 Agent | 整合所有 Agent 意见,生成 PR 评论 | halo-backend-publisher |
第三步:设计审查触发规则
在 GitHub Actions 或 OpenClaw cron 中配置:
触发条件:
- PR opened / PR synchronized / PR review requested
- 或每日定时全量扫描主分支新合入代码
过滤条件:
- 排除 dependency updates(node_modules, vendor 等)
- 排除文档类更新(*.md)
- 超过 500 行变更的 PR 优先处理
第四步:执行审查并生成报告
每个 Agent 独立执行后,汇总 Agent 收集所有意见,生成如下结构的报告:
## 🔍 PR 审查报告
### 安全风险(高优先级)
- [ ] 第 42 行:发现疑似硬编码 API Key
- [ ] 第 88 行:用户输入未做转义,XSS 风险
### 代码质量(中等优先级)
- [ ] 第 155 行:未处理的 Promise rejection
- [ ] 第 203 行:循环内异步调用,建议改用 batch
### 风格建议(低优先级)
- [ ] 第 12 行:变量命名与团队规范不一致
- [ ] 第 310 行:缺少 JSDoc 注释
### 逻辑审查
- [ ] 第 250 行:边界条件未考虑空数组情况
---
审查耗时:4分32秒 | 发现问题:7个(高危2 / 中危3 / 低危2)
第五步:评论到 PR 并记录
将报告以 GitHub PR 评论形式提交,同时发布一份摘要到内部知识库。
可复制提示词
触发提示词(调度整个流水线)
调度代码审查工作室,任务:
1. 监听 GitHub PR #PR_NUMBER
2. 并行执行:安全扫描 / 风格审查 / 逻辑审查 / 质量评估
3. 汇总 Agent 收集所有结果,生成结构化报告
4. 将报告评论到 GitHub PR
5. 若高危问题 ≥ 2,标记需要人工重点 review
输出:PR 评论内容 + Halo 审查记录
各 Agent 子提示词示例
安全扫描 Agent:
你是安全审查专家。请分析以下 diff,识别:
1. 硬编码密钥/Token/Secret
2. SQL 注入风险(字符串拼接 SQL)
3. XSS 风险(用户输入未转义直接渲染)
4. 敏感信息泄露(手机号、邮箱、身份证等)
输出格式:
- 每条发现:文件 + 行号 + 风险等级 + 描述 + 修复建议
- 若无问题,输出"✅ 未发现安全风险"
风格规范 Agent:
你是代码风格审查专家。请对照团队 .editorconfig 和 eslint 规则,
审查以下 diff 的风格问题。
重点检查:
1. 缩进、空格、换行
2. 变量/函数命名规范
3. import 顺序
4. 注释覆盖率
输出格式:
- 每条问题:文件 + 行号 + 问题描述 + 规范依据
- 若无问题,输出"✅ 风格检查通过"
逻辑审查 Agent:
你是资深后端工程师。请分析以下 diff 的业务逻辑问题。
重点关注:
1. 边界条件处理(空值、空数组、极端值)
2. 异步操作错误处理
3. 事务一致性
4. 业务规则是否与 PRD 一致
输出格式:
- 每条发现:文件 + 行号 + 问题描述 + 修复建议
- 若无问题,输出"✅ 逻辑审查通过"
使用的 Skills
| Skill | 用途 |
|---|---|
github | 获取 PR diff、提交评论、获取团队规范文件 |
multi-search-engine | 检索 CVE 数据库、最佳实践 |
tavily-search | 搜索最新安全漏洞报道 |
halo-backend-publisher | 将审查记录归档到知识库 |
browser-automation | 有需要时访问 GitHub Web 界面 |
价值与注意事项
核心价值
- 节省资深工程师时间:他们只需要看汇总报告,不需要逐行读 PR
- 标准化审查:每次都有完整的检查维度,不会因为时间压力而漏检
- 可追溯:所有审查记录存档,后续可以统计高频问题,针对性做内部分享
- 7×24 无休:不像人工 review 会疲劳,流水线随时启动
- 高频问题早发现:在 CI 阶段就拦截,而不是等到上线后才发现
注意事项
- 误报率控制:初期需要调优规则,降低误报,避免团队对审查报告产生"狼来了"疲劳感
- 不替代人工 final review:系统审查是辅助,资深工程师的判断不可替代
- 隐私合规:审查内容可能包含业务逻辑,上传外部工具前确认合规要求
- 增量 vs 全量:日常 PR 用增量审查,重要版本合入再做全量深度扫描
- 反馈闭环:对误报的问题及时调整规则,让系统越来越准
本文使用 OpenClaw 多Agent协作流水线自动生成并发布。