今天刷 HackerNews,看到一个开源项目让我眼前一亮——Mira,一个自部署的 AI 代码审查工具刚发到 HN 一天,75 个 GitHub Star。但真正吸引我的是它的定位:自部署、自带 LLM、代码不出自己服务器。
我一直在用 CodeRabbit 给项目做 AI 审查,但说实话每次看到"你的代码将被发送到第三方服务器"这个提示,心里都有点膈应。Mira 说你的代码可以全程留在他自己的服务器上,而且你想用什么模型就用什么模型——Claude、GPT、Gemini、DeepSeek,你说了算。
我决定拿自己的项目试一试。
Mira 是什么
一句话:一个你自己部署的 AI 代码审查机器人。
它作为 GitHub App 运行,监听你的 Pull Request,然后在 PR 上自动贴评论——告诉你哪里有问题、哪里可以优化、哪里可能有安全漏洞。
跟 CodeRabbit、Greptile 这些 SaaS 不同,Mira 的所有代码和数据都跑在你自己的服务器上:
你的 diff、embedding、索引、审查记录——全部存在你自己的 SQLite 或 Postgres 里
没有回传,没有遥测,没有"你的数据会不会被用来训练模型"的疑问
LLM 的选择完全由你控制,走 OpenRouter 或者直接接 Anthropic/OpenAI/Bedrock
更关键的是:它提供了一个仪表盘,能告诉你全仓库的包依赖情况、CVE 漏洞扫描结果、依赖关系和影响范围分析——这些功能在 CodeRabbit 上是要付费的,在 Mira 上全是开源免费的。
安装体验
Mira 的部署方式有两种:Docker 和 Railway 一键部署。
我试了 Docker 方式,流程很清楚:
在 GitHub 上创建一个 GitHub App,配置 Webhook URL
下载私钥 (.pem 文件)
写一个mira.yaml配置文件,选好模型
一条 Docker 命令启动
#mira.yaml 配置示例llm:model: "anthropic/claude-sonnet-4-6"fallback_model: "anthropic/claude-haiku-4-5"indexing_model: "anthropic/claude-haiku-4-5"filter:confidence_threshold: 0.7max_comments: 5review:walkthrough: trueself_critique: truesecurity_pass: true
docker run -p 8000:8000 \--env-file .env \-v "$(pwd)/mira.yaml:/app/mira.yaml" \ghcr.io/miracodeai/mira:latest
说实话,这个配置的清晰度让我有点意外。大部分开源项目的文档都是"写一段就当你懂了",Mira 的文档把每个配置项的解释、默认值、适用场景都写得很清楚。这点值得点赞。
实测表现
我从几个角度对比了 Mira 和其他 AI 审查工具:
速度:
Mira 在 Code Review Bench(一个公开的代码审查评测基准)上的表现是最快的。77 秒审完一个 PR——CodeRabbit 要 5 分钟,GitHub Copilot 要 10 分钟。
| Mira | ~77s | 44 |
F1 分数(精度+召回率的综合指标):
Mira 的 F1 是 44,在 Code Review Bench 上所有工具中排在前面。代码审查的 F1 分数本身就比较"卷"——精度 43%、召回率 46%,意味着它会挑出近一半的真实问题,同时误报率控制在比较合理的范围。
最关键的是它的速度/质量平衡:
看评测数据,所有比 Mira F1 分数高的工具,审查时间都要长 5 到 14 倍。换句话说,如果你想得到更全面的审查,要等 9 分钟甚至更久;而 Mira 在不到 1.5 分钟里给出了质量相当不错的审查结果。
亮点功能
我仔细看了一遍 Mira 的功能列表,有几个我觉得特别实用:
1. 漏洞扫描(免费)
Mira 每小时自动轮询 OSV.dev,扫描你所有仓库的所有依赖包,发现 CVE 直接标出严重级别、漏洞链接和修复版本。这功能在 CodeRabbit 上是付费功能。
2. 全仓库包搜索
"我们哪些仓库在用 lodash@4.17.20?"——这种问题通常要翻半天。Mira 的仪表盘上点一下就能查出来,还附带 CVE 警报,让你知道这个包有没有已知漏洞。
3. 影响范围分析
你改一个函数,它能告诉你哪些文件、哪些仓库依赖这个函数。做重构的时候特别有用。
4. 学习回路
Mira 会从你拒绝的评论和人工审查模式中学习。你点一次"这条评论没用",它就会尝试提炼成规则,以后的审查自动规避类似的误报。
几个需要注意的地方
说完了好的,说说目前的限制:
只支持 GitHub。
GitLab、Bitbucket、Gitea 的支持还在路上。如果你是 GitLab 用户,目前还用不了
需要 OpenRouter API Key。
虽然你也可以直接接 Bedrock(AWS 用户友好),但对大部分用户来说,走 OpenRouter 是最简单的方式——意味着你还是需要有一个 API Key
动态挺快,但还在 Alpha。
版本号 0.4.0,issues 里有 7 个 open 的 issue。生产环境使用前建议先在非关键仓库上跑一阵子
我的判断
Mira 让我看到了 AI 代码审查工具的一个新方向:开源、自部署、自带模型。
代码仓库是你最核心的资产之一。每次把代码发给第三方服务器做审查,本质上是在信任对方的安全措施。Mira 的"代码不出你的基础设施"这个承诺,对很多团队来说可能是刚需。
而且它开源(Apache 2.0 许可),没有付费墙,没有隐藏收费——CodeRabbit 的一个功能在 Mira 上可能只是 yaml 里的一行配置。
如果你在用 GitHub、关心代码质量、又不想把代码交给第三方,Mira 值得在自己的项目上跑一跑。
觉得有用点个👍
有问题留言聊
夜雨聆风