coderev-cli
v1.1.0
Published
Multi-agent AI code review for git -- parallel agents with confidence scoring
Maintainers
Readme
coderev-cli
多智能体 AI 代码审查工具 — Security / Bug / Quality 三个 Agent 并行审查,带置信度评分和自动修复。
🌟 Support coderev! If you find this tool useful, consider sponsoring on GitHub or buying me a coffee.
如果这个工具对你有帮助,可以考虑在 GitHub 上赞助支持持续开发!
目录
项目介绍
coderev 是什么?
coderev(Code Review 缩写)是一个多智能体 AI 代码审查 CLI 工具。你扔给它一段代码 diff,它会并行启动 3 个 AI Agent,从安全、缺陷、质量三个维度审查,然后汇总成结构化的审查报告。
为什么要用 coderev?
| 场景 | 不用 coderev | 用 coderev | |------|-------------|-----------| | 每次提交前 | 凭肉眼检查或忘了检查 | 自动跑三个维度审查 | | 审查同事的 PR | 逐行看,容易漏 | AI 先扫一遍,你只看高置信度 issue | | 安全审计 | 依赖经验,覆盖不全 | OWASP 级别检查 | | 项目代码质量把控 | 看个人标准和心情 | 统一的规则引擎 + 置信度评分 |
适用人群
- 独立开发者 — 提交前自动把关,减少 Bug
- 团队/开源维护者 — PR 接入 AI 初审,提高审查效率
- CI/CD 流水线 — 集成到 CI,自动拦截高风险代码
安装
全局安装(推荐)
npm install -g coderev-cli要求 Node.js >= 18,可使用
node -v检查版本。
验证安装
coderev --help看到命令列表则安装成功。
更新
npm update -g coderev-cli快速上手
第 1 步:初始化
在项目目录中执行,生成默认配置:
coderev init会在当前目录创建 .coderevrc.json 配置文件。
第 2 步:设置模型和 API Key
coderev 内置了 11 个热门模型模板,只需选择模板 + 设置 API Key 即可:
# 查看所有可用模型
coderev models
# 选择 DeepSeek(推荐,性价比最高)
coderev setup --model deepseek
# 设置 API Key
# Windows PowerShell:
$env:DEEPSEEK_API_KEY="***"
# Linux / macOS:
export DEEPSEEK_API_KEY="***"支持所有主流 AI 提供商(见 coderev models 章节)。
第 3 步:运行审查
审查暂存区变更(最常用的方式)
git add .
coderev review审查当前分支的未提交变更
coderev review --diff审查某个 commit
coderev review --commit HEAD~1审查 PR
coderev review --pr 42第 4 步:查看报告
审查结果会直接输出在终端。如果开启 HTML 模式,可以生成可视化报告:
coderev review --output html > report.html
# 浏览器打开 report.html命令详解
coderev review(核心审查)
作用:审查代码差异并输出审查报告。这是 coderev 最核心的命令。
使用方式:
coderev review [选项]默认可选参数:
| 参数 | 说明 | 示例 |
|------|------|------|
| --diff | 审查当前分支未提交的变更(与最近 commit 对比) | coderev review --diff |
| --commit <ref> | 审查指定 commit | coderev review --commit abc123 |
| --staged | 审查暂存区(默认行为) | coderev review |
| --single | 单 Agent 模式(只用 1 个 Agent,省 token,v0.2 兼容) | coderev review --single |
| --min-confidence <0-100> | 置信度阈值,低于此值的结果不显示(默认 60) | coderev review --min-confidence 80 |
| --no-cache | 跳过缓存,强制重新审查 | coderev review --no-cache |
| --format <format> | 输出格式:terminal(终端) / json / html / markdown | coderev review --format json |
| --output <type> | 输出方式:terminal(终端)/ json / html / markdown | coderev review --output html |
| --audit | 安全审计模式,重点关注安全问题 | coderev review --audit |
| --incremental | 增量模式,只审查 diff 中新增和变更的行(忽略删除的行) | coderev review --incremental |
| --interactive | 交互式模式,逐条审查 issue 并选择是否修复 | coderev review --interactive |
| --ci | CI 模式,发现问题时以非零退出码终止 | coderev review --ci |
| --pr <value> | 审查 Pull Request,格式 owner/repo#number 或仅 number(自动检测仓库) | coderev review --pr jishuanjimingtian/coderev#42 |
| --post | 审查 PR 后自动回贴评论(需配合 --pr) | coderev review --pr 42 --post |
| --inline | 审查 PR 后以行内方式回贴评论(需配合 --pr) | coderev review --pr 42 --inline |
使用示例:
# 最简用法:审查暂存区
coderev review
# 审查某个 PR 并回贴评论
coderev review --pr jishuanjimingtian/coderev#42 --post
# 终端输出 + 高置信度要求(减少误报)
coderev review --min-confidence 80
# CI 中使用,发现问题就报错
coderev review --ci --min-confidence 70
# 生成 HTML 报告
coderev review --format html > review-report.html
# 交互式审查并修复
coderev review --interactive
# 只审查新增的代码(增量模式)
coderev review --incremental
# 通过管道传入 diff(支持任意 diff 输入)
git diff main | coderev review--interactive 交互式修复详解
作用:逐条展示每个审查发现的问题,让你决定是否用 AI 生成补丁自动修复。
工作流程:
coderev review --interactive终端会依次展示每个 issue:
Issue #1 of 3
● [high] [error] SQL injection risk in query construction
File: src/db.js:42
Suggestion: Use parameterized queries
[a]pply fix / [s]kip / [q]uit > a交互选项:
| 按键 | 作用 |
|------|------|
| a | Apply fix — AI 生成补丁并应用到文件 |
| s | Skip — 跳过当前 issue |
| q | Quit — 退出交互模式 |
--ci CI 模式详解
作用:专为 CI/CD 管道设计。如果代码中发现任何 issue(且置信度高于阈值),coderev 以非零退出码退出,中断管道执行。
# 常规使用
coderev review --ci
# 配合高阈值,只拦截确定严重的问题
coderev review --ci --min-confidence 80
# 结合 JSON 输出,供上游 CI 脚本处理
coderev review --ci --format json在 CI 配置中的用法(例如 GitHub Actions):
- name: coderev check
run: |
git fetch origin main
git diff origin/main...HEAD | coderev review --ci--incremental 增量审查详解
作用:默认情况下,coderev 会审查整个 diff 的上下文。增量模式下,只关注新增和修改的行,忽略被删除的旧代码。适用于:
- 大型代码库重构,不想看大段删除
- 只想关注"引入的新代码"是否有问题
- PR 审查时快速聚焦变更内容
coderev review --incrementalHTML 报告
作用:生成可视化的 HTML 审查报告,支持深色/浅色模式自动适配,方便分享或归档。
coderev review --output html > report.htmlcoderev fix(自动修复)
作用:根据审查结果生成补丁文件,或直接应用到代码中。
coderev fix --file <diff文件>| 参数 | 说明 | 示例 |
|------|------|------|
| --file <path> | 必填,指定包含 diff 的文件路径 | coderev fix --file changes.diff |
| --apply | 生成补丁后直接应用到文件 | coderev fix --file changes.diff --apply |
使用示例:
# 先生成 diff
git diff > changes.diff
# 审查并生成修复建议(不自动应用)
coderev fix --file changes.diff
# 审查并直接应用补丁
coderev fix --file changes.diff --applycoderev hook(Git Hooks)
作用:安装 Git hooks,让你在 git 操作时自动触发代码审查。支持 pre-commit(提交前)和 pre-push(推送前)。
coderev hook install [hook类型] [选项]| 参数 | 说明 | 示例 |
|------|------|------|
| install | 安装 hook | coderev hook install |
| install pre-commit | 安装 pre-commit hook(提交前审查) | coderev hook install pre-commit |
| install pre-push | 安装 pre-push hook(推送前审查) | coderev hook install pre-push |
| --min-score <number> | 设置最低置信度阈值 | coderev hook install pre-commit --min-score 70 |
| remove | 移除已安装的 hook | coderev hook remove |
使用示例:
# 安装默认 hook(pre-commit)
coderev hook install
# 安装 pre-commit,设置置信度 70
coderev hook install pre-commit --min-score 70
# 安装 pre-push
coderev hook install pre-push
# 移除所有 hook
coderev hook remove安装后效果:
git commit时 → 自动审查暂存区代码,发现问题会阻止提交git push时 → 自动审查将要推送的变更
coderev stats(统计看板)
作用:查看代码审查的历史统计,包括审查次数、发现的 issue 数量、类型分布等。
coderev stats [周期]| 参数 | 说明 | 示例 |
|------|------|------|
| (无参数) | 查看总体统计数据 | coderev stats |
| week | 本周统计 | coderev stats week |
| month | 本月统计 | coderev stats month |
输出示例(实际内容取决于缓存数据):
📊 coderev 统计
═══════════════════
总审查次数: 47
总发现 issue: 156
安全: 23 (14.7%)
缺陷: 67 (42.9%)
质量: 66 (42.3%)
═══════════════════coderev cache(缓存管理)
作用:管理审查结果缓存,避免重复审查相同的代码。
coderev cache <子命令>| 子命令 | 说明 | 示例 |
|--------|------|------|
| status | 查看缓存状态(缓存条目数、过期时间) | coderev cache status |
| clear | 清空所有缓存 | coderev cache clear |
缓存机制:
- 基于代码 diff 的 SHA256 哈希值
- 缓存有效期 24 小时
- 同段代码反复审查时直接返回缓存结果,节省 API 调用
coderev config(配置管理)
作用:查看或管理当前配置。
coderev config <子命令>| 子命令 | 说明 | 示例 |
|--------|------|------|
| show | 显示当前生效的完整配置 | coderev config show |
coderev init(初始化)
作用:在当前项目目录生成 .coderevrc.json 配置文件。
coderev init生成的文件内容:
{
"ai": {
"provider": "deepseek",
"temperature": 0.3,
"maxTokens": 4096
},
"rules": {
"maxLineLength": 100,
"predefined": ["security", "performance", "style"]
}
}如果项目已有配置文件,执行 coderev init 会提示是否覆盖。
coderev serve(GitHub App 自动审查)
作用:启动 webhook 服务器,监听 GitHub App 的 pull_request 事件,自动对每个新 PR 进行代码审查。
适用场景:团队仓库每个 PR 自动审查 / 开源项目自动反馈 / CI/CD 增强
参数:
| 参数 | 说明 | 示例 |
|------|------|------|
| --port | 服务器端口(默认 3000) | --port 8080 |
| --app-id | GitHub App ID | --app-id 123456 |
| --private-key | GitHub App 私钥 PEM | --private-key "$(cat key.pem)" |
| --webhook-secret | Webhook 签名密钥 | --webhook-secret xxx |
| --review-mode | 审查模式(comment/inline/check) | --review-mode inline |
| --auto-approve | 无问题 PR 自动 approve | --auto-approve |
| --min-confidence | 最低置信度阈值 | --min-confidence 70 |
示例:
# 启动服务器
coderev serve --app-id 123456 --webhook-secret mysecret --private-key "$(cat /path/to/key.pem)"
# 使用环境变量
GITHUB_APP_ID=123456 GITHUB_APP_WEBHOOK_SECRET=mysecret coderev serve事件处理:
pull_request.opened— 新 PR 自动审查pull_request.synchronize— PR 更新时重新审查pull_request.reopened— 重新审查- Draft PR 和 Bot PR 默认跳过
输出:审查完成后自动:
- 发布 PR review comment(Markdown 格式)
- 设置 commit status(pending → success/failure/neutral)
- 可选 auto-approve(无问题的 PR)
完整部署指南见 docs/github-app.md
coderev models(模型模板)🆕 v1.0.24
作用:列出所有内置的 AI 模型模板及其配置。只需选择一个模板并设置对应的 API Key 即可使用。
coderev models内置模板清单:
| 模板 | 提供商 | 默认模型 | API Key 环境变量 | 说明 |
|------|--------|---------|-----------------|------|
| ⭐ deepseek | DeepSeek | deepseek-chat | DEEPSEEK_API_KEY | 国产高性价比,¥1/百万token |
| 🧠 deepseek-r1 | DeepSeek | deepseek-reasoner | DEEPSEEK_API_KEY | 推理增强,适合复杂漏洞分析 |
| openai | OpenAI | gpt-4o | OPENAI_API_KEY | GPT-4o 多模态旗舰 |
| 🧠 openai-o3 | OpenAI | o3-mini | OPENAI_API_KEY | 推理型,速度快 |
| qwen | 阿里云 | qwen-plus | DASHSCOPE_API_KEY | 中文能力强,¥0.8/百万token |
| ⭐ qwen-coder | 阿里云 | qwen-coder-plus | DASHSCOPE_API_KEY | 代码专精,¥2/百万token |
| claude | Anthropic | claude-sonnet-4-20250514 | ANTHROPIC_API_KEY | 代码理解深度最强 |
| gemini | Google | gemini-2.5-pro | GEMINI_API_KEY | 100万token上下文 |
| zhipu | 智谱 AI | glm-4-plus | ZHIPU_API_KEY | 国产强推理 |
| moonshot | 月之暗面 | moonshot-v1-8k | MOONSHOT_API_KEY | 长文本处理强 |
| codestral | Mistral | codestral-latest | MISTRAL_API_KEY | 专注代码生成与审查 |
⭐ = 推荐 | 🧠 = 推理增强型
coderev setup(模型配置)🆕 v1.0.24
作用:一键配置 AI 模型,支持主模型、从模型(fallback)、以及不同 Agent 使用不同模型。
coderev setup [选项]参数:
| 参数 | 说明 | 示例 |
|------|------|------|
| --model <模板名> | 设置主模型 | coderev setup --model deepseek |
| --fallback <模板名> | 设置备用模型(主模型失败时自动切换) | coderev setup --model deepseek --fallback qwen |
| --agent-security <模板名> | 安全 Agent 专用模型 | coderev setup --agent-security deepseek-r1 |
| --agent-bugs <模板名> | 缺陷检测 Agent 专用模型 | coderev setup --agent-bugs qwen-coder |
| --agent-quality <模板名> | 质量检查 Agent 专用模型 | coderev setup --agent-quality gemini |
| (无参数) | 查看当前配置 | coderev setup |
使用示例:
# 最简:选择 DeepSeek
coderev setup --model deepseek
# 主从模型:DeepSeek 挂了自动切到千问
coderev setup --model deepseek --fallback qwen
# 不同 Agent 不同模型
coderev setup --model deepseek --agent-security deepseek-r1 --agent-quality qwen
# 查看当前配置
coderev setup主从模型回退:主模型调用失败(超时/网络/API 错误)时,自动切到从模型,控制台打印 ↩ Falling back to xxx。
coderev rules(规则市场)🆕 v1.0.23
作用:访问 coderev SaaS 规则市场,搜索、安装、发布团队共享的审查规则包。
coderev rules <action> [选项]子命令:
| 动作 | 说明 | 示例 |
|------|------|------|
| search [query] | 搜索规则市场 | coderev rules search react |
| install <name> | 安装规则包 | coderev rules install react-security |
| publish | 发布本地规则到市场 | coderev rules publish --name my-rules |
| list | 查看已安装的规则包 | coderev rules list |
| uninstall <name> | 卸载规则包 | coderev rules uninstall react-security |
| info <name> | 查看规则包详情 | coderev rules info react-security |
参数:
| 参数 | 说明 |
|------|------|
| -q, --query <text> | 搜索查询 |
| -n, --name <name> | 规则包名称 |
| --version <ver> | 发布版本号(默认 1.0.0) |
| --desc <text> | 发布描述 |
| --api-url <url> | 自定义市场 API 地址 |
使用示例:
# 搜索规则
coderev rules search react
# 安装规则包(自动合并到 .coderevrc.json)
coderev rules install react-security
# 查看已安装
coderev rules list
# 发布当地规则
coderev rules publish --name team-js-rules --desc "团队JS规范"
# 卸载
coderev rules uninstall react-security安装后规则写入 .coderevrc.json 的 rules.custom 数组,带 _source 标记。
coderev doctor(环境诊断)🆕 v1.0.26
作用:一键诊断 coderev 的运行环境,快速定位配置问题。
coderev doctor检查项目:
| 检查项 | 说明 | |--------|------| | Node.js Version | 检查 Node.js 版本是否 >= 18 | | Git | 检查 git 是否安装及当前目录是否为 git 仓库 | | Config File | 检查配置文件是否存在且格式有效 | | API Key | 检查 API Key 是否已配置(环境变量或配置文件) | | AI Provider Connectivity | 检查 AI 服务商网络连通性及 API 可用性 |
参数:
| 参数 | 说明 | 示例 |
|------|------|------|
| -c, --config <path> | 指定配置文件路径 | coderev doctor --config ./my-config.json |
| --json | 以 JSON 格式输出 | coderev doctor --json |
输出示例:
🩺 coderev Doctor — Environment Diagnostic
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✔ Node.js Version
v24.13.0 (>= 18 required)
✔ Git
git version 2.45.0 — inside a git repository
✔ Config File
Valid: /path/to/.coderevrc.json
✔ API Key
Found from env $DEEPSEEK_API_KEY: sk-xxxx...xxxx
✔ AI Provider Connectivity
Connected to deepseek (https://api.deepseek.com) — API accessible
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5 passed
✔ All checks passed! Your environment is ready for coderev. 🚀适用场景:
- 首次安装后验证环境是否就绪
- 遇到
API key not found等错误时快速定位 - 切换 AI 服务商后检查连通性
- CI 环境中验证配置是否完整
doctor 命令返回非零退出码当有检查项失败(✖),适合在 CI 脚本中使用。
配置详解
配置加载顺序
coderev 按以下优先级加载配置(高的优先):
- CLI 参数(命令行传入)
- 配置文件(
.coderevrc.json/.coderevrc/coderev.config.json) - 环境变量(环境变量中设置的 API Key)
- 默认值
配置文件会自动从当前目录向父目录逐级查找,找到第一个便停止。
完整配置项参考
{
"ai": {
"provider": "deepseek",
"model": "deepseek-chat",
"temperature": 0.3,
"maxTokens": 4096,
"apiKey": "",
"apiKeyEnv": "DEEPSEEK_API_KEY",
"baseURL": ""
},
"rules": {
"maxLineLength": 100,
"predefined": ["security", "performance", "style"],
"autoLanguage": true,
"custom": []
},
"output": {
"format": "terminal",
"includeScore": true
}
}ai(AI 配置)
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| provider | string | "openai" | AI 提供商,支持 "openai" / "deepseek" |
| model | string | 取决于 provider | 模型名称 |
| temperature | number | 0.3 | 生成温度(0-1),越低越确定越保守 |
| maxTokens | number | 4096 | 每次请求最大输出 token 数 |
| apiKey | string | "" | 直接在配置文件中写入 API Key |
| apiKeyEnv | string | "OPENAI_API_KEY" | 读取环境变量中的 API Key |
| baseURL | string | "" | 自定义 API 地址,兼容 OpenAI 协议的任何服务 |
支持的 Provider 默认值:
| provider | 默认模型 | 默认 API 地址 |
|----------|---------|--------------|
| openai | gpt-4o | https://api.openai.com |
| deepseek | deepseek-chat | https://api.deepseek.com |
对接任意兼容 OpenAI API 的服务(如 Azure OpenAI、本地 LLM):
{
"ai": {
"provider": "openai",
"baseURL": "https://your-custom-endpoint.com/v1",
"apiKey": "sk-your-key"
}
}rules(规则引擎配置)
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| maxLineLength | number | 100 | 最大行长度检查,超过会警告 |
| predefined | string[] | ["security","performance","style"] | 启用的预定义规则集 |
| autoLanguage | boolean | true | 是否自动检测 diff 语言并追加专项规则 |
| custom | object[] | [] | 自定义规则数组 |
预定义规则集一览:
通过配置 rules.predefined 数组,可以自由组合启用以下规则集:
| 名称 | 检查重点 |
|------|---------|
| security | SQL/NoSQL 注入、XSS、SSRF、CSRF、硬编码密钥、认证缺陷、授权缺失 |
| performance | 不必要的循环、大对象未释放、N+1 查询、内存泄漏、冗余计算 |
| style | 空格/缩进不统一、未使用的 import/变量、分号规范、命名约定 |
| typescript | 非严格模式、滥用 any、泛型使用不当、类型断言滥用、枚举误用 |
| react | hooks 规则违反、缺少 key props、函数组件命名、副作用清理 |
| node | 未捕获异常、异步回调链、文件 I/O 未关闭、路径遍历 |
| naming | 驼峰 vs 帕斯卡命名规范、常量大写、函数命名动词化 |
| testing | 断言覆盖不足、边界条件缺失、测试间耦合、输出不明确 |
启用示例:
{
"rules": {
"predefined": ["security", "typescript", "react", "naming", "testing"]
}
}rules.autoLanguage 自动语言检测
coderev 会自动检查 diff 中文件的扩展名,追加对应的语言专项规则:
| 语言 | 扩展名 | 检查重点 |
|------|--------|---------|
| JavaScript | .js, .jsx, .mjs | async/await 链、== vs ===、内存泄漏、循环依赖 |
| TypeScript | .ts, .tsx | strict 模式、禁止 any、泛型约束、类型断言 |
| Python | .py | PEP 8 规范、异常类型指定、mutable 默认参数、async 用法 |
| Rust | .rs | unsafe 块审计、unwrap/expect 滥用、ownership 问题 |
| Go | .go | error 忽略、goroutine 泄漏、context 传播、data race |
| Java | .java | null 处理、checked exception、== vs .equals()、线程安全 |
| SQL | .sql | 注入防护、N+1 查询、索引缺失、大 IN-clause |
可通过 rules.autoLanguage: false 关闭此功能。
rules.custom 自定义规则
作用:针对团队或项目的特定规范,编写专属审查规则。
{
"rules": {
"custom": [
{
"name": "no-console-log",
"severity": "warning",
"message": "避免在生产代码中使用 console.log"
},
{
"name": "require-error-boundary",
"severity": "error",
"message": "React 组件必须包裹 ErrorBoundary",
"filePattern": "src/components/**/*.jsx"
},
{
"name": "single-quote-string",
"severity": "warning",
"message": "请使用单引号",
"filePattern": "src/**/*.ts"
}
]
}
}| 字段 | 必填 | 类型 | 说明 |
|------|------|------|------|
| name | ✅ | string | 规则名称 |
| severity | ✅ | string | "error" / "warning" / "info" |
| message | ✅ | string | 审查时显示的提示文字 |
| filePattern | ❌ | string | 可选,限定生效的文件 glob 模式,如 src/**/*.ts |
| enabled | ❌ | boolean | 可选,设为 false 可临时禁用此规则 |
output(输出配置)
| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| format | string | "terminal" | 输出格式:"terminal" / "json" / "html" / "markdown" |
| includeScore | boolean | true | 是否显示置信度评分 |
.coderevignore 忽略文件
作用:指定 coderev 审查时跳过哪些文件或目录。
在项目根目录创建 .coderevignore 文件,语法同 .gitignore(glob 模式):
# coderev ignore list
*.min.js
*.bundle.js
package-lock.json
yarn.lock
vendor/
dist/
build/.coderevhint 项目上下文
作用:给 AI 审查引擎提供项目背景,让它更准确理解你的代码。
在项目根目录创建 .coderevhint 文件:
# 项目概况
- Language: TypeScript
- Framework: Next.js 14
- Database: PostgreSQL
# 编码规范
- Prefer: 函数式组件、Tailwind CSS、Server Actions
- Avoid: any 类型、使用 any 断言也兼容 CLAUDE.md 格式,两者可共存。
API Key 配置方式对比
| 方式 | 安全性 | 适用场景 | 配置方法 |
|------|--------|---------|---------|
| 环境变量 | ✅ 最安全(不落盘) | 本地开发、CI 环境 | $env:OPENAI_API_KEY="..." |
| 配置文件直接写 | ⚠️ 注意.gitignore | 本地个人使用 | "apiKey": "..." |
| 配置文件引用 env | ✅ 安全 + 方便 | 推荐方式 | "apiKeyEnv": "DEEPSEEK_API_KEY" |
推荐做法:环境变量 +
apiKeyEnv。既不在代码中暴露 key,又无需每次都手动设置。
Token 生成和使用说明
coderev 在访问各 Git 平台的 PR/MR 时需要 Personal Access Token 进行身份认证。以下逐个说明各平台的 Token 生成方法和使用方式。
1. GitHub Personal Access Token
生成步骤
- 登录 GitHub → 右上角头像 → Settings
- 左侧菜单 → Developer settings → Personal access tokens → Tokens (classic)
- 点击 Generate new token → Generate new token (classic)
- 填写 Note(如
coderev),设置过期时间 - 勾选以下权限:
| Scope | 用途 |
|-------|------|
| repo(全部) | 读取私有仓库代码、PR diff |
| read:org | 读取组织信息(可选) |
- 点击 Generate token → 复制 Token(只显示一次!)
💡 也可使用 Fine-grained token:选择仓库 → Repository permissions → Pull requests: Read and write
使用方式
# 方式一:命令行参数
coderev review --pr 42 --github-token ghp_xxxx
# 方式二:环境变量(推荐)
# Windows PowerShell:
$env:GITHUB_TOKEN="ghp_xxxx"
# Linux / macOS:
export GITHUB_TOKEN="ghp_xxxx"
# 方式三:写入配置文件
# .coderevrc.json 中:
"github": { "token": "ghp_xxxx" }2. GitLab Personal Access Token
生成步骤
- 登录 GitLab → 右上角头像 → Preferences
- 左侧菜单 → Access Tokens
- 填写 Token name(如
coderev),设置过期时间 - 勾选以下权限:
| Scope | 用途 |
|-------|------|
| read_api | 读取 MR、diff 信息 |
| read_repository | 读取仓库代码 |
| api(可选) | 发布 MR 评论(需要时选此代替上面两个) |
- 点击 Create personal access token → 复制 Token
使用方式
# 方式一:命令行参数
coderev review --gl 42 --gitlab-token glpat-xxxx
# 方式二:环境变量(推荐)
export GITLAB_TOKEN="glpat-xxxx"
# 方式三:配置文件
# .coderevrc.json 中:
"gitlab": { "token": "glpat-xxxx" }GitLab MR URL 格式:
owner/repo!42→ 用--gl owner/repo!42
3. Gitee Personal Access Token
生成步骤
- 登录 Gitee → 右上角头像 → 设置
- 左侧菜单 → 私人令牌
- 点击 生成新令牌
- 填写描述,勾选权限:
| 权限 | 用途 |
|------|------|
| pull_requests | 读取 PR 信息 |
| projects | 读取仓库信息 |
- 点击 提交 → 复制 Token
使用方式
# 方式一:命令行参数
coderev review --gee owner/repo!42 --gee-token gitee_xxxx
# 方式二:环境变量(推荐)
export GITEE_TOKEN="gitee_xxxx"
# 方式三:配置文件
"gitee": { "token": "gitee_xxxx" }注意:Gitee 不支持行内评论,PR 审查仅支持摘要评论模式。
4. GitCode Personal Access Token
生成步骤
- 登录 GitCode → 右上角头像 → 设置
- 左侧菜单 → 访问令牌
- 点击 创建访问令牌
- 填写名称,勾选权限:
| 权限 | 用途 |
|------|------|
| api | 读取 MR 和仓库信息 |
| read_repository | 读取代码 |
- 点击 创建 → 复制 Token
使用方式
# 方式一:命令行参数
coderev review --gc owner/repo!42 --gc-token gitcode_xxxx
# 方式二:环境变量(推荐)
export GITCODE_TOKEN="gitcode_xxxx"5. Bitbucket App Password
生成步骤
- 登录 Bitbucket → 左下角头像 → Personal settings
- 左侧菜单 → App passwords
- 点击 Create app password
- 填写 Label(如
coderev),勾选权限:
| 权限 | 用途 |
|------|------|
| Repositories: Read | 读取仓库和 PR |
| Pull requests: Read | 读取 PR diff |
| Pull requests: Write(可选) | 发布 PR 评论 |
- 点击 Create → 复制密码
⚠️ Bitbucket App Password 格式为
username:password,用户名是 Bitbucket 用户名,不是邮箱。
使用方式
# 方式一:命令行参数
coderev review --bb owner/repo#42 --bb-token your_username:app_password
# 方式二:环境变量(推荐)
export BITBUCKET_APP_PASSWORD="your_username:app_password"
# 方式三:配置文件
"bitbucket": { "username": "your_username", "appPassword": "xxx" }6. GitHub App JWT Token(coderev serve)
coderev serve 使用 GitHub App 身份认证而非 Personal Access Token。
生成/获取步骤
- 创建 GitHub App(详见 docs/github-app.md)
- 获取以下凭证:
| 凭证 | 说明 | 获取位置 | |------|------|---------| | App ID | GitHub App 的标识数字 | GitHub App 设置页顶部 | | Private Key (.pem) | RSA 私钥,用于生成 JWT | App 设置页 → Generate private key | | Webhook Secret | 验证 webhook 请求签名 | App 设置页 → Webhook secret |
JWT 生成原理
coderev 内部自动处理 JWT 生成(无需手动操作),其流程为:
App ID + Private Key → 签名 JWT → 交换 Installation Token → 访问仓库- JWT 有效期:10 分钟(GitHub App 最大限制)
- Installation Token 有效期:1 小时,由 coderev 自动获取和管理
使用方式
# 方式一:命令行参数
coderev serve \
--app-id 123456 \
--private-key "$(cat /path/to/key.pem)" \
--webhook-secret "your-secret"
# 方式二:环境变量(推荐)
export GITHUB_APP_ID=123456
export GITHUB_APP_PRIVATE_KEY="$(cat /path/to/key.pem)"
export GITHUB_APP_WEBHOOK_SECRET="your-secret"
coderev serve
# 方式三:.coderevrc.json 配置
"githubApp": {
"appId": 123456,
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\n...",
"webhookSecret": "your-secret"
}Token 使用方式总结
| 平台 | Token 类型 | CLI 参数 | 环境变量 | 配置文件字段 |
|------|-----------|---------|---------|------------|
| GitHub | Personal Access Token | --github-token | GITHUB_TOKEN | github.token |
| GitLab | Personal Access Token | --gitlab-token | GITLAB_TOKEN | gitlab.token |
| Gitee | Private Token | --gee-token | GITEE_TOKEN | gitee.token |
| GitCode | Access Token | --gc-token | GITCODE_TOKEN | gitcode.token |
| Bitbucket | App Password | --bb-token | BITBUCKET_APP_PASSWORD | bitbucket.appPassword |
| GitHub App | JWT + Installation | --app-id + --private-key | GITHUB_APP_ID + GITHUB_APP_PRIVATE_KEY | githubApp.appId + githubApp.privateKey |
优先级(从高到低):命令行参数 > 环境变量 > 配置文件
平台集成
支持的 Git 平台
coderev 支持四大平台,均支持 PR 审查和评论回贴:
| 平台 | PR 审查 | 摘要评论 | 行内评论 | 自动检测 | |------|:-------:|:--------:|:--------:|:--------:| | GitHub | ✅ | ✅ | ✅ | ✅ | | GitLab | ✅ | ✅ | ✅ | ✅ | | Gitee | ✅ | ✅ | ❌ | ❌ 需完整格式 | | Bitbucket | ✅ | ✅ | ❌ | ❌ 需完整格式 |
使用方式:
# GitHub — 自动检测当前仓库
coderev review --pr 42
# 指定仓库(其他平台或跨平台)
coderev review --pr owner/repo#42
# 审查 + 回贴评论
coderev review --pr 42 --post
# 审查 + 行内评论(仅 GitHub/GitLab)
coderev review --pr 42 --inlineCI/CD 集成
GitHub Actions
项目初始化时自动生成 .github/workflows/coderev-review.yml,在 PR 创建或更新时自动触发代码审查。
工作流说明:
- 触发条件:PR 打开、同步、重新打开
- 执行内容:对比 PR 的 diff → coderev 审查 → 结果回贴到 PR 评论
- 效果:每个 PR 自动获得一份 AI 审查报告
或使用 GitHub Actions Marketplace 中的 Action:
steps:
- uses: jishuanjimingtian/coderev@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
api-key: ${{ secrets.DEEPSEEK_API_KEY }}GitLab CI
使用 coderev init --gitlab-ci 一键生成配置,或直接将 templates/.gitlab-ci.yml 复制到项目根目录。
变量配置(GitLab → Settings → CI/CD → Variables):
| 变量 | 必填 | 说明 |
|------|------|------|
| DEEPSEEK_API_KEY | ✅ | AI 提供商的 API Key |
| GITLAB_TOKEN | 可选 | GitLab PAT(api scope),用于自动发布 MR 评论 |
| CODEREV_CONFIDENCE | 可选 | 置信度阈值,默认 60 |
| CODEREV_MODE | 可选 | 审查模式:full / security / bugs / quality |
| CODEREV_BLAME | 可选 | 启用 git blame:true / false |
| CODEREV_BLOCK | 可选 | 发现问题时阻塞 MR:true / false |
工作流过程:
- MR 创建/更新时自动触发
- 生成 MR diff → coderev 3 Agent 并行审查
- 审查结果作为 MR 评论自动发布(需 GITLAB_TOKEN)
- 如开启
CODEREV_BLOCK,发现问题时 pipeline 失败
自定义 CI 集成
在任意 CI 管道中:
# 对比当前分支与 main
git fetch origin main
git diff origin/main...HEAD | coderev review --ci --min-confidence 70如果代码存在高置信度问题,管道会以非零退出码中断,阻止合并。
架构
你的代码 (git diff / PR)
│
┌──────┼──────┐
▼ ▼ ▼
┌──────┐┌──────┐┌──────┐
│ 🔒 ││ 🐛 ││ 📐 │
│ 安全 ││ 缺陷 ││ 质量 │
│ 审计 ││ 检测 ││ 检查 │
└──┬───┘└──┬───┘└──┬───┘
│ │ │
└───────┼───────┘
▼
┌──────────┐
│ 合并 & │
│ 置信度评分 │
│ (0-100) │
└────┬─────┘
▼
结构化审查报告| Agent | 专注领域 | |-------|---------| | 🔒 安全审计 | SQL注入、XSS、SSRF、硬编码密钥、认证缺陷 | | 🐛 缺陷检测 | 空指针、竞态条件、异步问题、逻辑错误 | | 📐 质量检查 | 代码复杂度、DRY、命名规范、异常处理 |
每个 issue 附带置信度评分 (0-100),低于阈值(默认 60)自动过滤。多 Agent 发现的重复问题自动合并去重。
有关 GitHub Actions、GitLab CI、Jenkins 的 CI/CD 集成说明及模板,见 docs/ci-cd.md。
一键生成对应 CI 模板:
# GitHub Actions 模板
coderev init --github-action
# → 生成 .github/workflows/coderev.yml
# GitLab CI 模板
coderev init --gitlab-ci
# → 生成 .gitlab-ci.ymlVS Code 扩展 🆕 v1.0.22
coderev 自带 VS Code 扩展,安装后在编码时实时审查代码。
安装
# 从本地安装(源码已包含在 vscode/ 目录中)
cd vscode && npm install && npm run package
# 在 VS Code 中:Ctrl+Shift+P → Extensions: Install from VSIX...
# 选择 vscode/coderev-*.vsix暂未上架 VS Code Marketplace,通过本地 VSIX 安装。
功能
| 功能 | 说明 |
|------|------|
| 工作区审查 | 右键项目目录 → coderev: Review Workspace |
| 单文件审查 | 打开文件 → Ctrl+Shift+P → coderev: Review File |
| 自动修复 | 审查发现问题后 → 一键调用 AI 修复 |
| 保存即审查 | 开启 coderev.lintOnSave → 每次保存文件自动审查 |
| Problems 面板集成 | 问题自动输出到 VS Code Problems 面板,点击跳转 |
扩展设置
coderev.enabled— 是否启用自动检查(默认 true)coderev.lintOnSave— 保存时审查(默认 false)coderev.minConfidence— 最低置信度阈值(默认 60)
完整接口使用说明
本章汇总 coderev 所有命令、参数、环境变量和配置项,作为完整 API / 接口参考。
命令一览
| 命令 | 用途 | 版本 |
|------|------|------|
| coderev review | 审查代码 diff / PR / MR | v0.1.0 |
| coderev fix | AI 自动修复问题 | v0.1.0 |
| coderev hook | Git Hook 安装/卸载 | v0.1.0 |
| coderev stats | 审查统计看板 | v0.2.0 |
| coderev cache | 缓存管理 | v0.1.0 |
| coderev config | 配置管理 | v0.1.0 |
| coderev init | 项目初始化 | v0.1.0 |
| coderev serve | GitHub App Webhook 服务 | v1.0.18 |
| coderev models | 模型模板列表 | v1.0.24 |
| coderev setup | 模型配置 | v1.0.24 |
| coderev rules | 规则市场 | v1.0.23 |
| coderev doctor | 环境诊断 | v1.0.26 |
API Key(AI 模型)配置接口
coderev 通过 OpenAI 兼容 API 调用各 AI 服务商。配置 AI 接口有三种方式:
方式一:coderev setup 交互式配置
# 选择模板(最简方式)
coderev setup --model deepseek
# 主模型 + 备用模型
coderev setup --model deepseek --fallback qwen
# 不同 Agent 使用不同模型
coderev setup --agent-security deepseek-r1 --agent-quality qwen
# 查看当前配置
coderev setup支持的 --model 模板名:deepseek / openai / qwen / claude / gemini / zhipu / moonshot / codestral / deepseek-r1 / openai-o3 / qwen-coder
方式二:手动配置 .coderevrc.json
{
"ai": {
"provider": "deepseek",
"baseURL": "https://api.deepseek.com",
"model": "deepseek-chat",
"apiKeyEnv": "DEEPSEEK_API_KEY",
"temperature": 0.3,
"maxTokens": 4096,
"fallback": {
"enabled": true,
"provider": "openai",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"model": "qwen-plus",
"temperature": 0.3
},
"agents": {
"security": {
"provider": "deepseek",
"baseURL": "https://api.deepseek.com",
"model": "deepseek-reasoner"
},
"quality": {
"provider": "openai",
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"model": "qwen-plus"
}
}
}
}| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| ai.provider | string | ✅ | AI 提供商标识,目前固定为 "openai" 或 "deepseek" |
| ai.baseURL | string | ❌ | API 地址,支持任何 OpenAI 兼容接口 |
| ai.model | string | ✅ | 模型名称 |
| ai.apiKey | string | ❌ | 直接写入 API Key(不推荐,不够安全) |
| ai.apiKeyEnv | string | ✅ | 从环境变量读取 API Key 的变量名 |
| ai.temperature | number | ❌ | 0-1,默认 0.3(越低越确定) |
| ai.maxTokens | number | ❌ | 最大输出 token,默认 4096 |
| ai.fallback | object | ❌ | 备用模型配置(主模型失败时自动切换) |
| ai.agents | object | ❌ | 按 Agent 角色指定不同模型 |
| ai.agents.security | object | ❌ | 安全审计 Agent 的模型覆盖 |
| ai.agents.bugs | object | ❌ | 缺陷检测 Agent 的模型覆盖 |
| ai.agents.quality | object | ❌ | 质量检查 Agent 的模型覆盖 |
方式三:环境变量
| 环境变量 | 提供商 | 对应模板 |
|---------|--------|---------|
| DEEPSEEK_API_KEY | DeepSeek | deepseek / deepseek-r1 |
| OPENAI_API_KEY | OpenAI | openai / openai-o3 |
| DASHSCOPE_API_KEY | 阿里云百炼 | qwen / qwen-coder |
| ANTHROPIC_API_KEY | Anthropic | claude |
| GEMINI_API_KEY | Google | gemini |
| ZHIPU_API_KEY | 智谱 AI | zhipu |
| MOONSHOT_API_KEY | 月之暗面 | moonshot |
| MISTRAL_API_KEY | Mistral | codestral |
API Key 获取链接
| 提供商 | 获取地址 | |--------|---------| | DeepSeek | https://platform.deepseek.com/api_keys | | OpenAI | https://platform.openai.com/api-keys | | 阿里云百炼 | https://bailian.console.aliyun.com/ | | Anthropic | https://console.anthropic.com/keys | | Google AI | https://aistudio.google.com/apikey | | 智谱 AI | https://open.bigmodel.cn/usercenter/apikeys | | 月之暗面 | https://platform.moonshot.cn/ | | Mistral | https://console.mistral.ai/api-keys/ |
审查相关接口
coderev review — 核心审查
coderev review [选项]输入来源(优先级从高到低):
| 来源 | 参数 | 说明 |
|------|------|------|
| 管道 stdin | (无参数) | git diff main \| coderev review |
| Git 仓库 | --repo <path> + --base / --head | 在指定仓库中生成 diff |
| Diff 文件 | --file <path> | 从文件读取 diff |
| GitHub PR | --pr <ref> | 拉取 GitHub PR diff |
| GitLab MR | --gl <ref> | 拉取 GitLab MR diff |
| Gitee PR | --gee <ref> | 拉取 Gitee PR diff |
| GitCode MR | --gc <ref> | 拉取 GitCode MR diff |
| Bitbucket PR | --bb <ref> | 拉取 Bitbucket PR diff |
审查参数:
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| --config, -c <path> | string | — | 指定配置文件路径 |
| --output, -o <format> | enum | terminal | 输出格式:terminal / json / markdown / html |
| --min-confidence <n> | number | 60 | 置信度阈值(0-100),低于此值的结果被过滤 |
| --ci | flag | — | CI 模式,发现 issue 以非零退出码终止 |
| --no-cache | flag | — | 跳过缓存,强制重新审查 |
| --incremental | flag | — | 增量模式,只关注新增/修改的行 |
| --interactive | flag | — | 交互模式,逐条选择是否修复 |
| --audit | flag | — | 安全审计模式(OWASP 级别检查) |
| --single | flag | — | 单 Agent 模式(兼容旧版,省 token) |
| --agents <list> | string | — | 逗号分隔的 Agent 列表,如 security,bugs,quality |
| --blame | flag | — | 启用 git blame,区分新增 vs 已有问题 |
PR/MR 回贴参数:
| 参数 | 说明 |
|------|------|
| --post | 审查完成后自动回贴评论到 PR/MR(配合 --pr/--gl 等使用) |
| --inline | 以行内方式回贴评论(仅 GitHub/GitLab 支持,配合 --pr/--gl) |
| --all | 审查仓库所有开启的 PR(配合 --pr owner/repo 使用) |
平台 Token 参数:
| 参数 | 说明 |
|------|------|
| --github-token <token> | GitHub Personal Access Token |
| --gitlab-token <token> | GitLab Personal Access Token |
| --gee-token <token> | Gitee Personal Access Token |
| --gc-token <token> | GitCode Access Token |
| --bb-token <token> | Bitbucket App Password(username:password) |
返回结构(JSON 模式):
{
"summary": "审查摘要",
"score": 85,
"issues": [
{
"type": "error|warning|info",
"severity": "high|medium|low",
"confidence": 85,
"file": "src/file.js",
"line": 42,
"message": "问题描述",
"suggestion": "修复建议",
"detectedBy": "security|bugs|quality|legacy"
}
],
"suggestions": ["改进建议"],
"praise": ["好的实践"],
"_agents": { "total": 3, "summary": "...", "errors": 0 },
"_blameContext": { "newIssues": 2, "preExistingIssues": 1 }
}PR/MR 平台接口
每个平台有独立的参数前缀和 ref 格式:
| 平台 | 参数 | Ref 格式 | 示例 |
|------|------|---------|------|
| GitHub | --pr | owner/repo#N 或 N | --pr 42 或 --pr owner/repo#42 |
| GitLab | --gl | owner/repo!N | --gl 42 或 --gl owner/repo!42 |
| Gitee | --gee | owner/repo!N | --gee owner/repo!42 |
| GitCode | --gc | owner/repo!N | --gc owner/repo!42 |
| Bitbucket | --bb | owner/repo#N | --bb owner/repo#42 |
自动检测:GitHub 和 GitLab 支持只传数字(--pr 42),coderev 会从 git remote 自动检测仓库名。
支持的 URL 格式(直接粘贴浏览器的 PR URL 也可以):
coderev review --pr https://github.com/user/repo/pull/42
coderev review --gl https://gitlab.com/user/repo/-/merge_requests/42
coderev review --gee https://gitee.com/user/repo/pulls/42回贴评论的完整流程:
# 1. 审查 PR + 回贴摘要评论
coderev review --pr 42 --post --github-token ghp_xxx
# 2. 审查 PR + 行内评论(更精细)
coderev review --pr 42 --inline --github-token ghp_xxx
# 3. 批量审查所有开放 PR
coderev review --pr owner/repo --all --github-token ghp_xxx --post
# 4. GitLab MR 审查 + 回贴
coderev review --gl 42 --post --gitlab-token glpat_xxx修复相关接口
coderev fix — 自动修复
coderev fix [选项]| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| --file, -f <path> | string | 二选一 | 指定 diff 文件路径 |
| --pr <ref> | string | 二选一 | 指定 PR 编号 |
| --apply | flag | ❌ | 直接应用补丁到文件中 |
| --github-token <token> | string | ❌ | GitHub Token(配合 --pr 使用) |
输入来源:
--file指定 diff 文件--pr拉取 PR diff- 管道 stdin(默认)
修复流程:
- 读取 diff → 运行审查 → 识别问题
- 调用 AI 生成统一补丁(unified patch)
- 输出补丁内容到终端
- 如果带
--apply,自动执行git apply
# 生成 diff → 修复 → 输出补丁
coderev fix --file changes.diff
# 直接从 PR 修复并应用
coderev fix --pr 42 --apply --github-token ghp_xxx
# 管道模式
git diff main | coderev fix --apply交互式修复(coderev review --interactive)
coderev review --interactive逐条展示 issue,可选操作:
| 按键 | 操作 | 说明 |
|------|------|------|
| a | Apply fix | AI 生成补丁并输出 |
| s | Skip | 跳过当前 issue |
| q | Quit | 退出,已修复的保存为 coderev-fixes.patch |
Hook 接口
coderev hook — Git Hooks 管理
coderev hook <action> [hook-type] [选项]| 参数 | 值 | 说明 |
|------|-----|------|
| <action> | install / remove | 安装或卸载 hook |
| [hook-type] | pre-commit / pre-push | Hook 类型(默认 pre-commit) |
| --min-score <n> | number | 最低评分阈值(默认 50),低于此值阻止提交/推送 |
Hook 行为:
pre-commit:git commit前自动运行审查,评分低于阈值阻止提交pre-push:git push前自动运行审查,评分低于阈值阻止推送
coderev hook install # 安装 pre-commit
coderev hook install pre-commit --min-score 70
coderev hook install pre-push
coderev hook remove # 移除全部
coderev hook remove pre-commit # 移除指定统计与缓存接口
coderev stats — 审查统计
coderev stats [period] [选项]| 参数 | 值 | 说明 |
|------|-----|------|
| [period] | day / week / month / all | 统计周期(默认 all) |
| --clear | flag | 清除全部审查历史 |
输出内容:总审查次数、平均分、最高/最低分、问题数、类型分布、严重程度分布、趋势图
coderev cache — 缓存管理
coderev cache [action]| 参数 | 值 | 说明 |
|------|-----|------|
| [action] | status / clear | 查看缓存状态或清空缓存 |
缓存机制:
- 基于 diff SHA256 哈希
- 有效期 24 小时
- 缓存目录:
~/.coderev/cache/ - 可跳过缓存:
coderev review --no-cache
配置与诊断接口
coderev config — 配置管理
coderev config [action]| 参数 | 值 | 说明 |
|------|-----|------|
| [action] | show / validate / path | 显示配置 / 验证配置 / 显示配置文件路径 |
coderev config # 显示当前配置(API Key 已脱敏)
coderev config validate # 验证配置完整性
coderev config path # 输出配置文件路径coderev init — 项目初始化
coderev init [选项]| 参数 | 说明 |
|------|------|
| --github-action | 同时生成 .github/workflows/coderev.yml |
| --gitlab-ci | 同时生成 .gitlab-ci.yml |
生成文件:
.coderevrc.json— 审查配置.coderevignore— 忽略文件列表(glob).coderevhint— AI 项目上下文提示
coderev doctor — 环境诊断
coderev doctor [选项]| 参数 | 说明 |
|------|------|
| -c, --config <path> | 指定配置文件路径 |
| --json | JSON 格式输出 |
诊断项目:Node.js 版本 → Git 环境 → 配置文件 → API Key → AI 服务商连通性
GitHub App 服务接口
coderev serve — Webhook 服务器
coderev serve [选项]| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| -p, --port <n> | number | 3000 | HTTP 端口 |
| --app-id <id> | string | — | GitHub App ID |
| --private-key <key> | string | — | RSA 私钥 PEM |
| --webhook-secret <secret> | string | — | Webhook 签名密钥 |
| --review-mode <mode> | enum | comment | 审查模式:comment / inline / check |
| --auto-approve | flag | — | 无问题 PR 自动 approve |
| --min-confidence <n> | number | 60 | 置信度阈值 |
HTTP 端点:
| 路径 | 方法 | 说明 |
|------|------|------|
| /webhook | POST | GitHub App webhook 入口 |
| /health | GET | 健康检查 |
健康检查返回:
{
"status": "ok",
"version": "1.0.0",
"uptime": 3600
}规则市场接口
coderev rules — 规则包管理
coderev rules <action> [选项]| 动作 | 说明 | 示例 |
|------|------|------|
| search [query] | 搜索规则市场 | coderev rules search react |
| install <name> | 安装规则包 | coderev rules install react-security |
| publish | 发布本地规则 | coderev rules publish --name my-rules |
| list | 查看已安装 | coderev rules list |
| uninstall <name> | 卸载规则包 | coderev rules uninstall react-security |
| info <name> | 规则包详情 | coderev rules info react-security |
参数:
| 参数 | 说明 |
|------|------|
| -q, --query <text> | 搜索关键词 |
| -n, --name <name> | 规则包名称 |
| --version <ver> | 发布版本号 |
| --desc <text> | 发布描述 |
| --api-url <url> | 自定义市场 API 地址(默认 https://rules.coderev.dev/api) |
安装目录:.coderev-marketplace/installed.json(清单) + .coderevrc.json 中 rules.custom 数组(规则,带 _source 标记)
VS Code 扩展接口
扩展命令
| 命令 ID | 说明 |
|---------|------|
| coderev.reviewWorkspace | 审查整个工作区 |
| coderev.reviewFile | 审查当前打开的文件 |
| coderev.fixFile | 修复当前文件的问题 |
扩展配置项
| 配置键 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| coderev.enabled | boolean | true | 是否启用扩展 |
| coderev.lintOnSave | boolean | false | 保存文件时自动审查 |
| coderev.minConfidence | number | 60 | 最低置信度阈值 |
| coderev.apiKey | string | "" | AI 提供商的 API Key |
| coderev.model | string | "deepseek-chat" | 使用的模型 |
FAQ / 常见问题
Q:为什么审查结果为空?
A:可能是代码本身没有问题,也可能是置信度低于阈值。可以尝试 coderev review --min-confidence 0 查看所有结果。
Q:怎么换 API Key?
A:重新设置环境变量即可,或在 .coderevrc.json 中修改 ai.apiKey / ai.apiKeyEnv。
Q:不想用 DeepSeek,想用其他 AI?
A:改成 provider: "openai",再设置 apiKeyEnv: "OPENAI_API_KEY"。如果用的是兼容 OpenAI 协议的自定义 API,设置 baseURL 即可。
Q:coderev 会泄漏我的代码吗?
A:代码通过你的 API Key 发送到 AI 服务商。coderev 本身不会存储或转发你的代码。本地缓存仅存储在你自己机器上。
Q:缓存能关掉吗?
A:可以,审查时加 --no-cache 参数即可跳过缓存。
Q:怎么给 coderev 加自己的规则?
A:在 .coderevrc.json 的 rules.custom 数组中添加。详见上方「自定义规则」章节。
Q:GitHub / GitLab Token 权限不够怎么办?
A:确保 Token 至少有以下权限:
- GitHub:
repo(全部) - GitLab:
read_api+read_repository(如要发布评论再加api) - Gitee:
pull_requests+projects - GitCode:
api+read_repository - Bitbucket:
Repositories: Read+Pull requests: Read
Q:Token 泄漏了怎么办?
A:立即到对应平台撤销旧 Token,重新生成。建议始终用环境变量存储 Token,不要直接写到 .coderevrc.json 中,并确保 .coderevrc.json 在 .gitignore 中。
Q:如何获取各 AI 提供商 API Key?
A:详见上方「API Key(AI 模型)配置接口」→ API Key 获取链接。每个提供商都有免费额度或试用额度。
Q:coderev serve 报 "Missing GITHUB_APP_ID or GITHUB_APP_PRIVATE_KEY"
A:GitHub App 需要三个凭据,确认都已设置:
GITHUB_APP_ID(数字,如123456)GITHUB_APP_PRIVATE_KEY(PEM 格式私钥全文)GITHUB_APP_WEBHOOK_SECRET(推荐,与 App 设置页一致) 详见上方「Token 生成和使用说明」→ GitHub App JWT Token
Contributing
欢迎贡献!详见 CONTRIBUTING.md
License
MIT
