JSPM

  • Created
  • Published
  • Downloads 70
  • Score
    100M100P100Q91128F
  • License MIT

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

Package Exports

  • coderev-cli
  • coderev-cli/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (coderev-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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