Skip to content

基于 Skills + 沙箱 + 数据库存储构建自动代码评审 Agent #92

Description

@raychen911

背景和价值
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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions