OpenCodeReview 本地代码审查教程:模型配置、Git Diff、全文件扫描与 CI 接入

阿里 OpenCodeReview 使用指南,覆盖本地安装、模型端点、Git Diff 审查、ocr scan 全文件扫描、误报处理和 CI 安全边界。

OpenCodeReview 的本篇教程围绕标题中的具体任务展开。代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

下面使用测试环境和可撤销数据演示。涉及账号、密钥、机器控制、投资或应急通信时,必须再做人工确认。

OpenCodeReview 与普通 LLM 贴代码的差异

这一节只处理“OpenCodeReview 与普通 LLM 贴代码的差异”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git diff --stat

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

安装前固定 Python 与 Git 版本

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
2
python --version
git --version

完成标准是“安装前固定 Python 与 Git 版本”得到可核验结果,而不是命令刚好没有报错。

模型配置先从低成本样本开始

检查项 通过标准 停止信号
模型配置先从低成本样本开始 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
Get-ChildItem Env: | Select-String -Pattern 'OPENAI|ANTHROPIC'

出现停止信号时先恢复,不要继续下一步。

只审查当前 Git Diff

这一节只处理“只审查当前 Git Diff”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git diff -- .

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

排除锁文件、构建产物和密钥目录

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
git status --short

完成标准是“排除锁文件、构建产物和密钥目录”得到可核验结果,而不是命令刚好没有报错。

第一次审查选择十几行改动

检查项 通过标准 停止信号
第一次审查选择十几行改动 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
git diff --numstat

出现停止信号时先恢复,不要继续下一步。

如何判断建议属于真问题

这一节只处理“如何判断建议属于真问题”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git diff --check

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

全文件扫描与 diff 扫描何时切换

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
git ls-files | Measure-Object

完成标准是“全文件扫描与 diff 扫描何时切换”得到可核验结果,而不是命令刚好没有报错。

OCR scan 命令名称如何核对

检查项 通过标准 停止信号
OCR scan 命令名称如何核对 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
ocr --help

出现停止信号时先恢复,不要继续下一步。

把严重级别映射到团队规则

这一节只处理“把严重级别映射到团队规则”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
# blocker / warning / suggestion

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

CI 中只发布摘要而不自动修改

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
git diff --exit-code

完成标准是“CI 中只发布摘要而不自动修改”得到可核验结果,而不是命令刚好没有报错。

Fork PR 为什么不能拿到生产密钥

检查项 通过标准 停止信号
Fork PR 为什么不能拿到生产密钥 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
git remote -v

出现停止信号时先恢复,不要继续下一步。

评论数量突然增加如何降噪

这一节只处理“评论数量突然增加如何降噪”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git diff --stat origin/main...HEAD

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

模型费用用哪些指标估算

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
git diff --numstat origin/main...HEAD

完成标准是“模型费用用哪些指标估算”得到可核验结果,而不是命令刚好没有报错。

审查器不可用时退回哪些检查

检查项 通过标准 停止信号
审查器不可用时退回哪些检查 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
2
git diff --check
git status --short

出现停止信号时先恢复,不要继续下一步。

合并前保留可复查的证据

这一节只处理“合并前保留可复查的证据”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git log -1 --oneline

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

二进制文件和生成文件如何排除

建议按以下顺序执行:

  1. 核对实际版本与来源。
  2. 使用测试账号、测试目录或测试设备。
  3. 执行一个可撤销动作。
  4. 保存输出、退出码或截图。
  5. 恢复修改并重新验证。
1
git diff --name-only --diff-filter=ACMRT

完成标准是“二进制文件和生成文件如何排除”得到可核验结果,而不是命令刚好没有报错。

让审查建议指向准确行号

检查项 通过标准 停止信号
让审查建议指向准确行号 输入、输出和权限范围明确 工具自动扩大操作范围
来源 能回到官方仓库或原始数据 依赖未知镜像或二手结论
安全 日志中没有秘密值 出现 Token、Cookie 或隐私数据
恢复 能回到执行前状态 没有备份或撤销方法
1
git diff --unified=3

出现停止信号时先恢复,不要继续下一步。

人工拒绝建议也要留下原因

这一节只处理“人工拒绝建议也要留下原因”。先保存当前状态,再运行最小测试,不要同时改变多个条件。

1
git status --short

对 OpenCodeReview 来说,判断结果时必须结合这一边界:代码审查输出只能作为审查线索;必须限定 diff、排除秘密文件,并用测试和人工判断验证建议。

如果结果无法重复,记录版本、输入和日志,然后缩小测试范围。

OpenCodeReview 的最终核对

  • 使用的版本和来源已经记录。
  • 测试输入与正式数据已经隔离。
  • 命令、配置和实际输出能够对应。
  • 失败路径至少主动测试过一次。
  • 密钥、账号和私人数据没有进入 Git 或日志。
  • 升级、停止和恢复都有明确动作。

如果仍无法解释结果如何产生,就继续把 OpenCodeReview 保持在测试环境,不要扩大权限或替换现有稳定流程。