本地 Git 提交树 + AI 代码评审工作台。打开任意仓库,在提交图上单选 / 多选 commit 或「当前修改」,然后通过 DeepSeek API 做代码评审。
从 GitHub Releases 获取安装包:
- macOS:
.dmg(Apple Silicon / Intel 分开打包;未签名,首次请右键 → 打开) - Windows:
-setup.exe(未签名,SmartScreen 可能提示「仍要运行」)
本机需要已安装 git。
- 选择本地 git 目录,绘制提交树(含分支 / merge 泳道)
- 顶部固定「当前修改」节点
- 单击、⌘/Ctrl 多选、Shift 范围选择
- 预览将要审查的 diff
- 基于 DeepSeek Chat Completions 流式评审(
deepseek-chat/deepseek-reasoner) - 结构化 findings(文件 / 行 / 严重级别)+ 运行日志
- Node 18+
- Rust 1.77+(推荐最新 stable)
- 本机
git - DeepSeek API Key(platform.deepseek.com)
API Key 可在应用「设置」中填写,或通过环境变量注入:
export DEEPSEEK_API_KEY=sk-...
# 可选
export DEEPSEEK_BASE_URL=https://api.deepseek.com
export DEEPSEEK_MODEL=deepseek-chat设置保存在本机配置目录(macOS:~/Library/Application Support/com.codereviewer.app/settings.json)。
若本机走 HTTP 代理,应用会读取登录 shell 中的 HTTPS_PROXY / HTTP_PROXY。
npm install
npm test
npm run test:rust
npm run tauri dev打包:
npm run tauri build打开 设置 → 自定义规则,可添加/启用/删除规则。启用的规则会注入 DeepSeek 提示词,并要求模型在 findings 中带上 ruleId / ruleName。
在仓库根目录放置其一即可(打开仓库时自动加载并与全局规则合并):
.codereviewer/rules.json.codereviewer/rules.mdCODE_REVIEW_RULES.md
rules.json 示例:
[
{
"id": "no-unwrap",
"name": "禁止 unwrap",
"content": "Rust 业务路径禁止 unwrap/expect,必须显式错误处理",
"enabled": true,
"severity": "error"
}
]rules.md 可用 ## 标题 分成多条规则。
- 本地用
git算出审查范围的 diff(当前修改 / 单 commit / 区间) - 将 diff + 审查提示词发给 DeepSeek
/chat/completions(stream) - 前端实时显示增量文本,结束后解析 JSON findings
| UI 选择 | Diff 来源 |
|---|---|
| 当前修改 | git diff HEAD + untracked |
| 单个提交 | git show <sha> |
| 连续/区间多选 | git diff oldest^..newest |
窗口底部有「运行日志」条。完整文件:
- macOS:
~/Library/Logs/com.codereviewer.app/codereviewer.log
src/React 前端:提交图、Diff、评审面板、DeepSeek 设置src-tauri/薄宿主:跑 git、调用 DeepSeek API、流式事件、本地配置