Mira 代码审查

在自有基础设施上自动审查代码变更,并用团队规则减少无关反馈。

Star 数
★ 391
最近更新
1 天前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
自托管服务网页应用
可在哪里用
通用 · 跨平台OpenAI API · Claude APICodex(部分支持)
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
DockerSQLite 或 PostgresLLM 提供商凭据Shell / 命令行网络访问本地文件系统
典型场景
希望代码、索引和审查记录留在自有基础设施中的工程团队,可部署 Mira 并连接代码托管平台。
不适合
  • 不愿自行部署和维护服务的团队
  • 不希望代码及索引存入自有数据库的团队

这个 Agent 能做什么,适合哪些场景?

Mira 是一款可自行托管的 AI 代码审查服务,可通过 GitHub App 或 GitLab、Forgejo、Bitbucket Cloud 的令牌集成,自动审查拉取请求和合并请求。它使用你选择的 LLM,读取变更并结合全仓库代码索引提供跨文件上下文,然后向代码托管平台发布简洁的审查意见和 walkthrough。服务还提供漏洞扫描、依赖与影响范围图、组织级包搜索、自定义规则和从合并 PR 中学习团队规则的机制。仪表盘展示审查事件、成本和令牌用量、依赖及 CVE 信息;差异、索引和审查历史保存在自有 SQLite 或 Postgres 中。README 记录了 Docker 部署及 Railway、Fly.io、Render 配置。

部署 Mira 服务并配置代码托管平台 webhook 后,它会接收 PR 或 MR 事件,获取变更内容,并用代码索引补充仓库上下文。它通过配置的模型提供商生成审查结果,应用置信度门槛、去重、自我批评和每个 PR 的评论上限,再发布意见;还可在 walkthrough 中提示其他开放 PR 的冲突风险或重复工作。索引和依赖数据支持跨仓库包搜索、依赖图与影响范围查看,OSV.dev 漏洞数据按小时轮询。团队可用 .mira.yaml 或仪表盘设置仓库规则,并通过合并 PR 学习规则。用户可在仪表盘查看审查事件、实际模型成本和令牌数据。

  1. 希望代码、索引和审查记录留在自有基础设施中的工程团队,可部署 Mira 并连接代码托管平台。
  2. 维护多个仓库、需要查找哪些项目使用特定包版本的团队,可使用组织级包搜索。
  3. 需要评估依赖升级或符号变更影响范围的维护者,可查看依赖图和文件关系。
  4. 需要在每个仓库设定审查标准的团队,可通过 .mira.yaml 或仪表盘配置自定义规则。
  5. 想自动发现依赖漏洞并查看修复版本的安全或平台团队,可使用 OSV.dev 每小时扫描及仪表盘告警。
  6. 使用 GitHub、GitLab、Forgejo 或 Bitbucket Cloud 管理 PR/MR 的团队,可配置自动审查和内联提问。

如何安装或部署这个 Agent?

README 提供 Docker 部署示例;需配置代码托管平台凭据、webhook 密钥和模型提供商凭据。以下示例使用 GitHub App 配置以及 OpenRouter API 密钥:

# mira.yaml
llm:
  model: "anthropic/claude-sonnet-4-6"
  indexing_model: "anthropic/claude-haiku-4-5"
# .env
MIRA_GITHUB_APP_ID=123456
MIRA_GITHUB_PRIVATE_KEY="$(cat private-key.pem)"
MIRA_WEBHOOK_SECRET=your-secret
OPENROUTER_API_KEY=sk-or-...
docker run -p 8000:8000 --env-file .env \
  -v "$(pwd)/mira.yaml:/app/mira.yaml" \
  ghcr.io/miracodeai/mira:latest --config /app/mira.yaml

README 也记录了 Railway 一键部署,以及 GitLab、Forgejo/Codeberg 和 Bitbucket Cloud 的接入方式。

如何使用这个 Agent?

启动服务后,将 Mira 安装到 GitHub 仓库,或按对应平台配置访问令牌和 webhook;新建或更新的 PR/MR 会触发审查。可在仓库放置 .mira.yaml 覆盖规则,例如:

filter:
  confidence_threshold: 0.5
  max_comments: 10

在仪表盘查看审查事件、成本、依赖和漏洞信息。若使用 Codex CLI 提供模型能力,可在部署配置中选择 codex-cli,并挂载通过 codex login 创建的 auth.json;README 指定其沙箱策略必须为 read-only。

这个 Agent 有哪些优点和局限?

优点
  • 差异、索引、审查历史和漏洞数据可保存在自有 SQLite 或 Postgres 中,服务默认自行托管。
  • 支持 OpenRouter、vLLM、Ollama、Together、Groq、Fireworks、AWS Bedrock direct 及 OpenAI 兼容端点等模型路径。
  • 除 PR 评论外,还提供组织级包搜索、依赖影响图、CVE 告警和审查健康仪表盘。
  • 支持 GitHub、GitLab、Forgejo(含 Codeberg)和 Bitbucket Cloud 的 PR/MR 审查。
  • 可配置团队规则,并从合并 PR 中提炼规则以影响后续审查。
局限
  • 需要部署和维护服务、配置代码托管平台集成及 webhook;不是即装即用的托管审查产品。
  • 使用云端模型时需自行提供模型密钥并承担模型调用费用。
  • README 的默认模型配置通过 OpenRouter;切换到其他端点需要相应配置。
  • Codex CLI 路径要求挂载敏感的 Codex 登录凭据,并禁用 ensemble sampling。
  • README 展示的公开基准测试只有 50 个 PR,且由 Claude Sonnet 4.6 评判,不能代表所有仓库和模型。

这个 Agent 与同类方案有什么区别?

README 将 Mira 与 CodeRabbit、Greptile、GitHub Copilot 和 Cubic-v2 的公开基准结果作比较,并称其在该测试中审查速度最快。表中 Mira 的 F1 为 44,低于 Cubic-v2 的 56;Mira 的中位审查时间约 77 秒,短于表中其他工具。README 说明测试使用 Martian Code Review Bench 的 50 个 PR 离线数据集,并由 Claude Sonnet 4.6 评判。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Mira 代码审查 当前 65 · 存在缺口 自托管服务免费 + 模型费 ★ 391 1 天前 Python OpenAI API · Claude API
Kodus 66 · 存在缺口 云服务 / SaaS免费版 + 付费版 ★ 1.6k 1 天前 TypeScript OpenAI API · Claude API
Helmor 本地多智能体工作台 52 · 缺口较多 桌面应用免费 + 模型费 ★ 1.3k 3 个月前 TypeScript Codex · Claude Code
Cyrus 50 · 缺口较多 命令行工具免费版 + 付费版 ★ 883 今天 TypeScript Codex · Claude Code · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
65/ 100 五分制 3.3 / 5
信任安全 14/29
可靠稳定 8/14
适用触发 15/18
规范维护 14/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全14 / 29 · 2.4/5

SECURITY.md 描述 webhook 签名校验、进程内短期令牌缓存、密钥管理建议及 Codex CLI 的只读隔离;README 也说明代码会发送到所选 LLM 提供方。故最小权限、数据流和敏感数据处理有具体依据,但未展示完整权限清单、发布评论等外部操作的逐项确认或回滚机制,身份归属也未获验证。

可靠稳定8 / 14 · 2.9/5

README、pyproject.toml 与 CI 工作流对 Python 版本、可选评测和常规测试范围大体一致,CI 还包含构建和启动检查;但 judge.py 对空或格式错误的模型响应没有清晰恢复路径,失败消息处理证据有限,故未给高分。

适用触发15 / 18 · 4.2/5

文档明确面向开发团队及 GitHub、GitLab、Forgejo、Bitbucket 等场景,并列出模型、数据库和部署选择。Codex CLI 配置边界也有说明;但事件触发、各集成能力差异和更广泛限制未全部在所给材料中说明。

规范维护14 / 18 · 3.9/5

README 分区清楚,提供 Docker、令牌、仓库级配置和多平台安装步骤;Apache-2.0 许可证文件完整。版本号可见,但给定材料未含变更日志内容;维护责任和局限有部分说明,仍不足以支持满分。

有效结果9 / 13 · 3.5/5

可操作的 PR 评论、索引、漏洞与依赖信息及成本面板显示出实际价值,README 也提供基准数字;但这些性能和效益主张主要由项目自身陈述,样本及评估方法信息有限,部署和 LLM 成本也取决于运营环境。

证据核验5 / 8 · 3.1/5

README 的部分功能与配置主张能由 SECURITY.md、pyproject.toml、CI 和 judge.py 相互印证;基准表提供了测量口径,但没有在所给材料中展示完整原始结果或独立复核。整体证据可追踪,但主张与已验证事实的边界仍需谨慎。

风险与缓解建议
  • Mira 会把代码差异或上下文发送给所配置的 LLM 提供方;部署方应评估该提供方的数据处理条件,并妥善隔离密钥和实例。
  • 部署指南要求配置 webhook 密钥、修改默认管理员密码并限制网络入口;公开暴露未加固的仪表板会增加风险。
  • 基准和质量数据属于项目提供的陈述;本次静态审查没有执行代码或独立复现结果。
证据充分度:低 评估于 2026年11月4日 审查版本 775d9329fdd6
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.10.1
    发布说明摘录
    What's Changed * fix(index): reject incomplete repository tree listings by @vikasagarwal101 in https://github.com/miracodeai/mira/pull/365 * fix(security): preserve ecosystem identity in PR dependency scans by @vikasagarwal101 in https://github.com/miracodeai/mira/pull/366 * fix(security): anchor vulnerability comments to their source manifest by @vikasagarwal101 in https://github.com/miracodeai/mira/pull/367 * fix(llm): align provider reasoning and output request shapes by @gavrh in https://github.com/miracodeai/mira/pull/368 …
    在 GitHub 查看 ↗
  2. v0.10.0
    发布说明摘录
    What's Changed * deps(ui): bump vite from 8.2.2 to 8.3.0 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/304 * deps(ui): bump eslint from 10.9.1 to 10.10.0 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/305 * deps(ui): bump eslint-plugin-react-refresh from 0.5.5 to 0.5.7 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/306 * deps(ui): bump lucide-react from 1.38.0 to 1.46.0 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/308 …
    在 GitHub 查看 ↗
  3. v0.9.1
    发布说明摘录
    What's Changed * feat: add Codex CLI LLM provider by @poonasor in https://github.com/miracodeai/mira/pull/142 * deps(ui): bump shadcn from 4.18.0 to 4.19.0 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/279 * deps(ui): bump eslint from 10.8.1 to 10.9.1 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/278 * deps(ui): bump lucide-react from 1.31.0 to 1.34.0 in /ui/mira by @dependabot[bot] in https://github.com/miracodeai/mira/pull/276 …
    在 GitHub 查看 ↗

常见问题

Mira 是否有软件许可费用?
README 称所有功能均可自行托管,无付费层或许可证密钥;模型费用由你直接支付给模型提供商,Mira 不加价。
代码和审查数据会发送到 Mira 的 SaaS 吗?
README 描述的是自行托管模式,差异、索引、审查历史和漏洞数据存放在自有 SQLite 或 Postgres。若调用云端 LLM,模型请求会发送给所选提供商。
支持哪些代码托管平台?
支持 GitHub、GitLab、Forgejo(含 Codeberg)和 Bitbucket Cloud;各平台的应用或令牌与 webhook 配置方式不同。
可以使用本地模型吗?
可以。README 列出 Ollama、vLLM 以及其他 OpenAI 兼容端点,也列出多种托管模型提供商。
如何控制审查噪声?
可配置置信度阈值、去重、自我批评流程和每个 PR 的评论上限,也可按仓库设置自定义规则。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents