Repository navigation
基于 Skills + 沙箱 + 数据库存储构建自动代码评审 Agent #92
Description
背景和价值
tRPC-Agent 的 Skill 体系可以把可复用工作流封装为 SKILL.md、文档和脚本,并通过 skill_load、skill_run 在隔离 workspace 中执行。CodeExecutor 支持本地、容器和 Cube/E2B 沙箱,Session / Memory / SQL 存储可以持久化审查任务、代码片段、诊断结果和历史经验,Filter 和 Telemetry 可以记录审查链路中的拦截、耗时、异常和风险分布。把这些能力组合起来,可以构建一个面向真实工程场景的自动 CR Agent:读取 diff,识别风险,必要时在沙箱中运行静态检查或测试,把结论结构化落库,并支持后续评测、监控和回放。
该题难点在于它不是“让 LLM 评论代码”,而是要把 Skills、沙箱执行、数据库、Filter 治理、审查规则、结果结构化、监控审计和安全边界串成一个可验证系统。不同贡献者可以在规则引擎、沙箱策略、数据库 schema、评审指标、Filter 策略和 Agent 编排方式上采用不同方案。
任务描述
设计并实现一个自动代码评审 Agent 原型。输入一个 git diff、PR patch 或本地变更目录,Agent 通过代码评审 Skill 加载规则和脚本,在 Filter 策略允许后进入沙箱执行必要检查,把发现的问题按严重级别、文件、行号、证据和修复建议结构化输出,并将审查任务、拦截记录、监控摘要和结果写入数据库或可替代的持久化存储。
具体要求
系统至少包含以下能力:
1.CR Skill:提供一个 code-review Skill,包含 SKILL.md、规则文档、脚本目录和使用说明。规则至少覆盖安全风险、异步错误、资源泄漏、测试缺失、敏感信息泄漏、数据库事务或连接生命周期问题中的 4 类。
2.沙箱执行:支持通过 Container 或 Cube/E2B workspace runtime 执行静态检查脚本、单元测试、diff 解析脚本或自定义规则脚本;本地环境只能作为开发 fallback,不能作为默认生产方案。
3.输入解析:支持读取 unified diff、文件路径列表或 git 工作区变更,提取变更文件、hunk、上下文和候选行号。
4.结构化审查结果:输出 findings,字段至少包含 severity、category、file、line、title、evidence、recommendation、confidence、source。
5.数据库存储:设计并实现最小 schema,用于保存 review task、input diff 摘要、sandbox run、finding、最终报告。可以使用 SQLite 作为默认实现,但接口应保留切换 SQL 后端的空间。
6.去重和降噪:同一文件同一行同一类问题不能重复报;低置信度问题应进入 warnings 或 needs_human_review,不能混入高置信 findings。
7.安全边界:沙箱执行需要有超时、输出大小限制、环境变量白名单、敏感信息脱敏和失败记录。
8.Filter 治理:对高风险脚本、禁止路径、非白名单网络访问、超预算执行进行前置拦截,并把拦截原因写入审查报告和数据库。
9.监控审计:记录每次 review 的总耗时、沙箱执行耗时、工具调用次数、拦截次数、finding 数量、各 severity 分布、异常类型分布。
输入输出要求:
●输入支持 --diff-file、--repo-path 或测试 fixture。
●输出 review_report.json 和 review_report.md。
●数据库中可查询每次 review 的任务状态、执行日志摘要、Filter 拦截记录、监控摘要、findings 和最终结论。
●支持 dry-run / fake model 模式,保证没有真实模型 API Key 时也能测试解析、沙箱和落库链路。
交付物
●新增示例目录,例如 examples/skills_code_review_agent/。
●skills/code-review/SKILL.md、规则文档、沙箱执行脚本和 Agent 入口。
●数据库 schema、存储实现和迁移或初始化脚本。
●至少 8 条测试样例:无问题 diff、安全问题、异步资源泄漏、数据库连接生命周期问题、测试缺失、重复 finding、沙箱执行失败、敏感信息脱敏。
●review_report.json 示例输出和 README。
●一份 300 – 500 字方案设计说明,解释 Skill 设计、沙箱隔离策略、Filter 策略、监控字段、数据库 schema、去重降噪和安全边界。
验收标准
1.公开提供的 8 条 diff 样本必须全部可运行并生成审查报告。
2.隐藏样本上高危问题检出率 ≥ 80%,误报率 ≤ 15%。
3.数据库必须能完整记录 task、sandbox run、finding 和 report,并支持按 task id 查询。
4.沙箱执行必须具备超时控制和输出大小限制;超时或失败不能导致整个评审任务崩溃。
5.敏感信息脱敏检出率 ≥ 95%,报告和数据库中不能出现明文 API Key、token、password。
6.dry-run / fake model 模式下完整评审流程耗时 ≤ 2 分钟。
7.高风险脚本必须先经过 Filter 决策,deny / needs_human_review 不能直接进入沙箱执行。
8.报告必须包含 findings 摘要、严重级别统计、人工复核项、Filter 拦截摘要、监控指标、沙箱执行摘要和可执行修复建议。
本issue为2026犀牛鸟开源人才培养活动专属issue,仅供已报名参与犀牛鸟活动的同学认领
【认领时间】7月1日~7月31日(7月1日前认领视为无效❗)
【认领方式】在本issue评论区回复“已认领本任务”,即视为认领成功
【活动报名】需提前完成犀牛鸟报名问卷,问卷将用于活动登记和奖励发放:https://wj.qq.com/s2/26888567/gh2q
Activity
lyra-planet commentedon Jun 30, 2026
已认领本任务
Spock12138 commentedon Jun 30, 2026
已认领本任务
k0mondor commentedon Jun 30, 2026
已认领本任务
ha0924 commentedon Jun 30, 2026
已认领本任务
Violet2314 commentedon Jul 1, 2026
已认领本任务
Eternally72 commentedon Jul 2, 2026
已认领本任务
douzhenyu commentedon Jul 2, 2026
已认领本任务
CheShiping commentedon Jul 3, 2026
已认领本任务
Acture commentedon Jul 3, 2026
已认领本任务
YAO-001 commentedon Jul 4, 2026
已认领本任务
examples: skip the code-review tests when their optional deps are absent
examples: assemble the DB connection URL in the redaction corpus from…
examples: harden secret redaction to >=95% in code-review agent
39 remaining items
FeatherCheung commentedon Jul 27, 2026
已认领本任务
AsyncKurisu commentedon Jul 28, 2026
已认领本任务
feat: 基于 Skills + 沙箱 + 数据库存储构建自动代码评审 Agent(trpc-group#92)
zhangfan-x commentedon Jul 29, 2026
已认领本任务
examples: add skills-based automatic code review agent
examples: 新增基于 Skills 的自动代码评审 Agent 示例
heguang-mercy commentedon Jul 30, 2026
已认领本任务
xiyue1753 commentedon Jul 30, 2026
已认领本任务
ggopsadqw commentedon Jul 31, 2026
已认领本任务
CyberX0725 commentedon Jul 31, 2026
已认领本任务
bingqin2 commentedon Jul 31, 2026
已认领本任务
raychen911 commentedon Aug 5, 2026
@Eternally72 @EricChan2028 完成任务并获奖
raychen911 commentedon Aug 5, 2026
@Acture @zzp1221 @xyxhhhhh @douzhenyu @March-77 @wzxsdf @k0mondor 完成任务
feat: 新增 Skills+沙箱+DB 自动代码审查智能体示例 (trpc-group#92)