ocra

快速上手

五分钟完成第一次审查。

安装

要求 Node.js 22.19+ 和 Git:

npm install -g @open-cr-agent/cli
ocra --version

npx 用法和从源码构建见安装。ocra 目前是早期的 0.x 版本;质量实测说明了它的审查能发现什么、会漏掉什么。

配置模型的 API key

ocra 通过 OpenCode 运行审查,OpenCode 支持的模型供应商都可以用。以 Google Gemini 为例:

export GEMINI_API_KEY="你的 key"

key 请放在 shell 配置文件或密钥管理工具里,不要放进任何仓库。

选择模型

在要审查的仓库里创建 .ocra/config.json:

{
  "models": {
    "top": "google/gemini-3.1-pro-preview",
    "standard": ["google/gemini-3.5-flash", "google/gemini-flash-lite-latest"],
    "light": "google/gemini-flash-lite-latest"
  }
}

standard 层级的模型负责审查代码,light 层级负责分组文件这类便宜的辅助工作,top 层级负责 Judge(最终裁决),每次有问题的审查调用一次。写成列表就是降级链。

开始审查

cd your-repository
ocra review                  # 未提交的改动,包括未跟踪的文件
ocra review --from main      # 当前分支从 main 分叉以来的改动
ocra review --commit HEAD    # 单个 commit

运行过程中 ocra 会打印进度,最后输出结论和按文件分组的报告。每条问题都标明是否经过核查确认,并带一个可用于 ocra memory 的编号:

Review: Working tree changes
Risk tier: lite · 2 reviewed · 0 failed · 0 excluded
Verdict: approved with comments
  1 finding(s): 0 critical, 1 warning, 0 suggestion.

src/list.ts
  warning    L4        lastItems returns n + 1 items [verified] #3f9a1c2e
    slice(list.length - n - 1) starts one element too early.
    Suggestion: return list.slice(-n);

1 finding(s) (0 critical, 1 warning, 0 suggestion) · tokens: 8023 in (0 cached), 285 out, 0 reasoning · $0.0031
Session: .ocra/sessions/20260924T225539Z-aa9790

存在经核查确认的 critical 问题时,退出码为 1。请把它当作给审查者的参考意见,而不是安全门禁:模型会读到被审查的改动,也可能被它误导。详见 CLI 参考。

在 GitHub 上编辑

本页目录