npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

coderev-cli

v1.1.0

Published

Multi-agent AI code review for git -- parallel agents with confidence scoring

Readme

coderev-cli

多智能体 AI 代码审查工具 — Security / Bug / Quality 三个 Agent 并行审查,带置信度评分和自动修复。

npm version GitHub Sponsors


🌟 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 --incremental

HTML 报告

作用:生成可视化的 HTML 审查报告,支持深色/浅色模式自动适配,方便分享或归档。

coderev review --output html > report.html

coderev 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 --apply

coderev 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 默认跳过

输出:审查完成后自动:

  1. 发布 PR review comment(Markdown 格式)
  2. 设置 commit status(pending → success/failure/neutral)
  3. 可选 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.jsonrules.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 按以下优先级加载配置(高的优先):

  1. CLI 参数(命令行传入)
  2. 配置文件.coderevrc.json / .coderevrc / coderev.config.json
  3. 环境变量(环境变量中设置的 API Key)
  4. 默认值

配置文件会自动从当前目录向父目录逐级查找,找到第一个便停止。

完整配置项参考

{
  "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

生成步骤

  1. 登录 GitHub → 右上角头像 → Settings
  2. 左侧菜单 → Developer settingsPersonal access tokensTokens (classic)
  3. 点击 Generate new token → Generate new token (classic)
  4. 填写 Note(如 coderev),设置过期时间
  5. 勾选以下权限:

| Scope | 用途 | |-------|------| | repo(全部) | 读取私有仓库代码、PR diff | | read:org | 读取组织信息(可选) |

  1. 点击 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

生成步骤

  1. 登录 GitLab → 右上角头像 → Preferences
  2. 左侧菜单 → Access Tokens
  3. 填写 Token name(如 coderev),设置过期时间
  4. 勾选以下权限:

| Scope | 用途 | |-------|------| | read_api | 读取 MR、diff 信息 | | read_repository | 读取仓库代码 | | api(可选) | 发布 MR 评论(需要时选此代替上面两个) |

  1. 点击 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

生成步骤

  1. 登录 Gitee → 右上角头像 → 设置
  2. 左侧菜单 → 私人令牌
  3. 点击 生成新令牌
  4. 填写描述,勾选权限:

| 权限 | 用途 | |------|------| | pull_requests | 读取 PR 信息 | | projects | 读取仓库信息 |

  1. 点击 提交复制 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

生成步骤

  1. 登录 GitCode → 右上角头像 → 设置
  2. 左侧菜单 → 访问令牌
  3. 点击 创建访问令牌
  4. 填写名称,勾选权限:

| 权限 | 用途 | |------|------| | api | 读取 MR 和仓库信息 | | read_repository | 读取代码 |

  1. 点击 创建复制 Token

使用方式

# 方式一:命令行参数
coderev review --gc owner/repo!42 --gc-token gitcode_xxxx

# 方式二:环境变量(推荐)
export GITCODE_TOKEN="gitcode_xxxx"

5. Bitbucket App Password

生成步骤

  1. 登录 Bitbucket → 左下角头像 → Personal settings
  2. 左侧菜单 → App passwords
  3. 点击 Create app password
  4. 填写 Label(如 coderev),勾选权限:

| 权限 | 用途 | |------|------| | Repositories: Read | 读取仓库和 PR | | Pull requests: Read | 读取 PR diff | | Pull requests: Write(可选) | 发布 PR 评论 |

  1. 点击 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。

生成/获取步骤

  1. 创建 GitHub App(详见 docs/github-app.md
  2. 获取以下凭证:

| 凭证 | 说明 | 获取位置 | |------|------|---------| | 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 --inline

CI/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 |

工作流过程

  1. MR 创建/更新时自动触发
  2. 生成 MR diff → coderev 3 Agent 并行审查
  3. 审查结果作为 MR 评论自动发布(需 GITLAB_TOKEN)
  4. 如开启 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.yml

VS 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+Pcoderev: 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#NN | --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 使用) |

输入来源

  1. --file 指定 diff 文件
  2. --pr 拉取 PR diff
  3. 管道 stdin(默认)

修复流程

  1. 读取 diff → 运行审查 → 识别问题
  2. 调用 AI 生成统一补丁(unified patch)
  3. 输出补丁内容到终端
  4. 如果带 --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-commitgit commit 前自动运行审查,评分低于阈值阻止提交
  • pre-pushgit 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 |

生成文件

  1. .coderevrc.json — 审查配置
  2. .coderevignore — 忽略文件列表(glob)
  3. .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.jsonrules.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.jsonrules.custom 数组中添加。详见上方「自定义规则」章节。

Q:GitHub / GitLab Token 权限不够怎么办?

A:确保 Token 至少有以下权限:

  • GitHubrepo(全部)
  • GitLabread_api + read_repository(如要发布评论再加 api
  • Giteepull_requests + projects
  • GitCodeapi + read_repository
  • BitbucketRepositories: 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