Skip to content

huhamhire/code-meeseeks

Repository files navigation

Code Meeseeks

Code Meeseeks

PR Agent 的桌面 GUI · 面向 Reviewer 个人的本地化、半自动 AI 代码评审客户端

社区版 PR-Agent 的图形界面 (GUI) · Electron 桌面应用 · 数据全部留在本地

Electron TypeScript Python Release

关键词 / Keywords:PR-Agent GUI · pr-agent desktop client · AI 代码评审 / AI code review · Pull Request & Merge Request review · Bitbucket / GitHub reviewer 工具 · 本地化 / 私有部署 / self-hosted


⚠️ 早期预览版(0.x):项目仍在快速迭代,功能、配置与数据格式可能发生不兼容变更,稳定性未经充分验证。请勿用于关键的生产评审流程,使用前请自行评估风险并做好数据备份。

Code Meeseeks(内部开发代号 meebox)是命令行工具 pr-agent桌面图形界面 (GUI):把 AI 辅助的代码评审装进一个桌面客户端 —— 拉取评审者待评审的 PR(Pull Request / Merge Request),本地跑 pr-agent 生成评审意见,由评审者逐条确认 / 编辑后再发布到代码托管平台(GitHub / Bitbucket / GitLab)。

核心设计立场:

  • 决策权在人 —— 所有评论必须经评审者二次确认 / 编辑才会发到远端,AI 只做草稿。
  • 规则在本地 —— 评审者自行配置检查规则、风格偏好、LLM Provider。
  • 数据在本地 —— 仓库副本、PR 元数据、评论草稿都存在本机工作目录,企业内网友好。

灵感来自 Rick and Morty 里的 Mr. Meeseeks:召之即来、专做一件事、做完即走。

适用场景

  • ✅ 承担 code review 职责的工程师 / Tech Lead
  • ✅ 希望借助 AI 提升评审效率,同时保留最终决策权、不将判断完全交由 bot
  • ✅ 在企业内网环境中使用自建 Bitbucket / GitLab 的团队

不适用场景

  • ❌ 不是在 CI 中自动运行的 review bot(该定位属于 pr-agent 本身)
  • ❌ 不是团队协同评审平台(无服务端,不提供多用户同步)
  • ❌ 不替代代码托管平台原生的评审界面

核心特性

  • 🔌 开箱即用,零外部依赖 —— 下载安装即用,无需额外配置运行环境。
  • 🌍 多平台支持 —— GitHub / Bitbucket / GitLab 统一接入。
  • 📥 PR 自动发现 —— 轮询拉取待评审的 PR,按仓库分组、状态过滤、搜索。
  • 🔍 本地 Diff 阅读 —— Monaco 并排 / 内联 diff、文件树、行内评论、blame、跨文件代码搜索。
  • 🤖 AI 评审 —— /describe/review/improve/ask 对话式驱动 pr-agent,结果结构化成可操作的 findings。
  • 🧠 Agentic 评审 —— 自然语言驱动的自主规划 + 多工具编排 + 长期 Memory,过程可观测(think → tool → think 时间线)、可随时停止,让评审从单轮问答走向可累积上下文的协作。
  • 🛸 AutoPilot 预评审 —— 轮询发现待评审 PR 后按规则自动预跑评审(准入控制:仅待我评审·待处理、跳过已评审),进应用即见待确认草稿,决策权仍在评审者。
  • 📐 个性化规则 —— 每位 Reviewer 维护自己的规则目录(markdown + frontmatter),按项目 / 仓库 / 目标分支命中后注入评审。
  • ✍️ 确认 → 发布闭环 —— finding 转草稿,行内编辑,单条 / 批量发布到远端;自己的评论支持回复 / 编辑 / 删除。
  • 🔀 合并状态 —— 展示远端可合并状态,满足条件时一键合并。
  • 🧩 多 LLM Provider —— OpenAI / openai-compatible / DeepSeek / Anthropic / 通义千问 / 火山方舟等(本地 Ollama 经 openai-compatible 的 /v1 接入);也可通过本机已授权的本地 CLI 工具调用第三方模型。
  • 🌐 多语言界面 —— 简体中文 / English / 日本語 / Deutsch,AI 回复语言随界面语言。
Code Meeseeks 界面预览

安装

Releases 下载对应平台安装包:

平台 产物 状态
Windows x64 code-meeseeks-<version>-win-x64.exe(NSIS 安装包) ✅ 可用
macOS arm64 code-meeseeks-<version>-mac-arm64.dmg ✅ 可用

安装包已内嵌 pr-agent,安装后即可使用,无需额外环境。

macOS 首次打开:安装包为 ad-hoc 签名、未做 Apple 公证(notarization),Gatekeeper 会拦下未知开发者的 App。首次使用请右键点击 App 选「打开」,或到「系统设置 → 隐私与安全性」点「仍要打开」,确认一次后即可正常启动。

之所以未公证:本项目是免费开源软件,未购置 Apple Developer 付费账号(公证依赖该账号)。源码完全公开、可自行审计与构建,ad-hoc 签名不影响功能与安全。


快速上手

  1. 配置连接 —— 设置页填入代码平台地址 + 鉴权信息。
  2. 配置 LLM —— 选择 Provider,填 API Key / base_url / 模型名。
  3. 发现 PR —— 应用自动轮询拉取评审者待评审的 PR,左侧列表按仓库分组。
  4. 阅读 + 评审 —— 选中 PR 看 diff,点击自动评审按钮让 AI 生成 findings;也可在对话框输入固定指令(如 /describe)或自然语言请求。
  5. 确认 + 发布 —— 把 finding 转成草稿、编辑措辞,单条或批量发布到远端。

配置存放在 ~/.code-meeseeks/config.yaml;仓库镜像默认在 ~/.code-meeseeks/repos/,可在设置页改到其他目录。

网络代理(可选,内网用户):设置页「网络代理」填 HTTP 代理地址 / 端口 / Basic Auth,开启后 LLM 调用、代码平台、git 拉取统一经代理,本地地址自动直连(含「测试连通」按钮)。

SSH 方式的 git 拉取不走此配置,请在 ~/.ssh/config 为对应 host 自配 ProxyCommand

各步的详细说明(安装与首次使用、PAT 权限与 Clone 协议、LLM 模型选择、网络代理)见 使用说明


平台支持

平台 状态
GitHub ✅ 已验证(github.com + GitHub Enterprise Server,REST API v3)
Bitbucket Server / Data Center ✅ 已支持(REST API v1,>= 7.0)
GitLab ✅ 已支持(gitlab.com + Self-Managed,CE / EE,REST API v4,>= 13.8,推荐 15.6+)

模型支持

评审能力经 pr-agent(底层 litellm)接入,理论上兼容任意 OpenAI 兼容 / litellm 支持的模型供应商(在设置页选模型供应商,填 API Key、base_url、模型名即可)。下表为设置页内置的厂商选项及实测状态:

模型供应商(厂商) 说明 状态
openai OpenAI(GPT 系) ✅ 已验证
anthropic Anthropic(Claude 系) ✅ 已验证
deepseek DeepSeek ✅ 已验证
dashscope 阿里百炼(DashScope,通义千问) ✅ 已验证
volcengine-ark 火山方舟(Volcengine Ark,豆包) ✅ 已验证
openai-compatible OpenAI 协议兼容(vLLM / 中转 / 自建 / 本地 Ollama 的 /v1 ✅ 已验证
cli 通过本地 CLI 工具调用第三方模型 ✅ 已验证

本地 CLI 模式说明:该模式不直连模型 API,而是把评审请求转交给使用者自行安装并授权的本地命令行工具,由其代为调用背后的第三方模型。需先在本机完成对应 CLI 工具的安装与登录授权,应用本身不负责其凭据管理与计费。

💸 成本提示:Agentic 评审与 AutoPilot 预评审会对每个 PR 串联多次模型调用(描述、评审、必要时追问、汇总),token 消耗显著高于单次手动评审。无论使用按量计费的 API、还是有额度上限的订阅 / 本地 CLI 账户,都请留意用量节奏,自行评估成本投入;每步的 token 用量已在评审时间线上分步展示,便于观察消耗。


技术栈

  • 桌面壳:Electron + Vite(electron-vite)
  • 渲染层:React + TypeScript(strict)
  • 编辑器:Monaco(并排 / 内联 diff)
  • 工程:npm workspaces + Nx 单仓多包
  • pr-agent 集成:内嵌 Python 运行时子进程(缺失时回退系统 pr-agent CLI)

📚 延伸阅读:规划进度、里程碑与未决项见 Roadmap;详细架构与各模块设计见 模块文档


开发

环境准备、启动调试、构建打包步骤见 开发指南


隐私与数据

  • 本地优先:除调用 LLM API 与访问所配置的 Git 平台外,不向任何第三方上报数据。
  • 工作目录:应用数据固定在 ~/.code-meeseeks/,仓库镜像目录可配置。
  • pr-agent 评审时仅把 PR diff + 评审者的规则发给评审者自行配置的 LLM;接入本地模型(如本地 Ollama)即可全程不出本机。

致谢

构建于 PR-Agent 之上 —— Qodo 贡献给社区的开源版本(官网 docs.pr-agent.ai)。作为第三方依赖打包,按其自身许可证分发,不在本项目重命名 / 改动范围内

许可证

本项目采用 Apache License 2.0

打包分发的安装包内含第三方组件(PR-Agent、Electron 等),各按其自身许可证分发,归集见 NOTICE;完整第三方许可(THIRD-PARTY-NOTICES)出包时自动生成并随安装包内置(位于 App 资源目录)。

商标与免责声明

本项目为非官方、独立的开源工具,Rick and Morty 及其权利方无任何关联,亦未获其授权或认可。「Rick and Morty」「Mr. Meeseeks」等名称、角色及相关元素的版权与商标归其各自权利人所有(Adult Swim / Warner Bros. Discovery 等)。本项目名称与图标仅出于致敬目的进行借用,不主张任何相关权利;如权利方有异议,将配合调整。


Made on 🌏 with ♥️.

About

面向 Reviewer 个人的本地化、半自动 AI 代码评审桌面客户端

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors