代码审查
CrabCode 内置三层代码审查:本地基础 /review、云端深度 /ultrareview、专项安全 /security-review。配合 GitHub App 把结论回写到 PR。
是什么
CrabCode 把"让 AI 审一下我这段改动"做成了三个层次的命令,按耗时、深度、运行位置依次递增:
| 命令 | 跑在哪 | 耗时 | 深度 | 何时用 |
|---|---|---|---|---|
/review | 本地,当前会话 | 秒级 | 单 agent 通读 | commit / 开 PR 前自检;快速看下别人 PR |
/ultrareview | CrabCode Web(云端) | ~10–20 分钟 | 多 agent 并行 + 验证 | 高风险变更、大 PR、有 bug 嫌疑要彻查 |
/security-review | 本地,当前会话 | 中等 | 单 agent,安全聚焦 | merge 前过一遍安全口径 |
三者互补、不替代:/review 给的是"代码质量+常规问题"快照,/ultrareview 才会真去找 bug、做反例验证;/security-review 专挑可被利用的漏洞,主动滤掉 DoS / 依赖陈旧 / 速率限制等噪声。
/review [PR#] —— 本地基础审查
跑在当前会话里,单 agent 通读:
- 不带参数 → 跑
gh pr list列出未合并的 PR - 带 PR 号 →
gh pr view <n>+gh pr diff <n>拿详情和 diff - 输出一份结构化评审:概览 / 代码质量 / 改进建议 / 潜在风险
聚焦五点:代码正确性、项目惯例符合度、性能影响、测试覆盖、安全考量。
适合在你写完一段改动后让 CrabCode 自检,或快速过别人的小 PR。耗时几秒到几十秒,不离开终端。
/ultrareview [PR#] —— 云端深度审查
跟 /review 同名形态但走 CrabCode Web:本地把当前分支或目标 PR 的上下文打包上传,云端起一组 agent 并行干活:
- 找 bug——多 agent 各自跑假设、写测试反例、验证是否真能复现
- 深度阅读——不只看 diff,会读相关上下游模块
- 生成报告——附带可跟踪的远程会话链接,结论回流到本地
典型耗时 10–20 分钟。属于"我有真实顾虑、值得花订阅额度"的场景,不是日常 PR 自检。
权益闸门
/ultrareview 受订阅与额度控制,本地会先做一次预检:
- 未启用 Extra Usage → 提示
Free ultrareviews used,附 acosmi.com/settings/billing 链接 - 余额过低(< $10)→ 提示充值
- 首次走付费 → 弹一次确认对话框;确认后才正式发起,且只在没中断时持久化"以后不再问"
- Esc 取消 → 5 秒发起窗口内可中断;不会扣账、不写残留状态
只在 GitHub 仓库上跑——非 GitHub repo 直接 fail。
/security-review —— 专项安全审查
只针对当前分支相对 origin/HEAD 的 diff 跑安全审查。和通用 review 的关键区别:
- 目标:找有真实利用面的安全漏洞,不是通用代码评审
- 置信门槛:只报 > 80% 确信可利用的问题;理论性、低影响的不报
- 排除清单(硬性):DoS / 资源耗尽、磁盘上已加密的密钥、速率限制、内存安全(Rust 等内存安全语言里压根没这类问题)、纯测试文件、文档文件、CI workflow 里非可控触发面、第三方依赖陈旧(另有流程管)等
聚焦类别:输入校验类注入(SQL / 命令 / 路径穿越 / XXE 等)、认证授权绕过、加密与密钥管理、代码执行类(反序列化 / eval / XSS)、数据泄露。
输出格式固定:# Vuln N: <类别>: <文件:行> + Severity / Description / Exploit Scenario / Recommendation。
跑法:执行 /security-review 在当前分支上即可;不要求传 PR 号。
三者怎么选
- 写完一段改动准备 commit →
/review(本地快) - 开 PR 前自查 →
/review(基础)+/security-review(安全口径) - PR 里有可疑 bug、reviewer 看不出根因 →
/ultrareview(云端多 agent 验证) - merge 前最后一道闸 →
/security-review
三个命令都不互相替代——/ultrareview 不会自动覆盖 /security-review 的范围(云端 agent 关注 bug,不专做安全分类)。
把结论回写到 PR
跑完审查想把结论作为 PR 评论发出去:
- 装好 GitHub App:跑
/install-github-app,给 CrabCode 申请仓库的评论权限 - 在审查输出里挑要发的条目,用
gh pr review/gh pr comment发到 PR
或者反过来——/pr-comments 把别人留的评论拉进本地会话上下文继续讨论,详见 Git 工作流。
注意
- 三个命令都按 git 安全协议运行:不动
git config、不破坏性操作、不跳 hooks /ultrareview把当前分支或 PR 内容上传到云端会话;隐私 / 数据边界详见 Data Usage 与 Security/security-review是纯本地命令,不上传任何代码
相关
- Git 工作流 —
/review//ultrareview的输入来自这里 - CrabCode Web —
/ultrareview的云端运行环境 - Settings — review 相关配置(订阅 / 模型覆盖)
- Security —
/security-review的安全模型