Skip to content

Repository files navigation

CodeReviewer

本地 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(文件 / 行 / 严重级别)+ 运行日志

环境

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

自定义规则

全局规则(设置 UI)

打开 设置 → 自定义规则,可添加/启用/删除规则。启用的规则会注入 DeepSeek 提示词,并要求模型在 findings 中带上 ruleId / ruleName

仓库级规则

在仓库根目录放置其一即可(打开仓库时自动加载并与全局规则合并):

  1. .codereviewer/rules.json
  2. .codereviewer/rules.md
  3. CODE_REVIEW_RULES.md

rules.json 示例:

[
  {
    "id": "no-unwrap",
    "name": "禁止 unwrap",
    "content": "Rust 业务路径禁止 unwrap/expect,必须显式错误处理",
    "enabled": true,
    "severity": "error"
  }
]

rules.md 可用 ## 标题 分成多条规则。

评审如何工作

  1. 本地用 git 算出审查范围的 diff(当前修改 / 单 commit / 区间)
  2. 将 diff + 审查提示词发给 DeepSeek /chat/completions(stream)
  3. 前端实时显示增量文本,结束后解析 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、流式事件、本地配置

About

Local Git commit-tree workbench with DeepSeek-powered code review

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages