面向 AI Agent 时代的开源 Git 兼容 monorepo 引擎,支持 partial clone、FUSE 挂载与跨项目原子变更。
Mega 是由 web3infra-foundation 开发的开源 monorepo 引擎,旨在为 AI Agent 时代的代码管理提供底层基础设施,核心设计理念对标 Google 内部的 Piper 系统。项目采用 Rust 作为核心开发语言,结合 TypeScript 处理前端逻辑,底层构建依赖 Cargo 与 Meta 的 Buck2 双构建系统,采用 MIT 与 Apache-2.0 双许可协议开源。
核心能力#
- Git 协议完全兼容:支持标准 clone/push/pull 操作,可对 monorepo 中任意子目录进行 partial clone,作为标准 Git 仓库使用并将变更无缝推送回 monorepo。
- Scorpio FUSE 文件系统:将 monorepo 中任意目录挂载为本地文件系统,无需 checkout 整个仓库即可工作。
- Trunk-Based 开发模型:单一主干源码管理,为 AI Agent 提供一致、最新的代码库状态。
- Conventional Commits:结构化、机器可读的提交信息,驱动自动化 changelog、语义版本控制和审计追踪。
- 内置 MR 系统:包含会话(conversation)和评论功能。
- LFS 协议支持:内置 Large File Storage,包含对象存储和文件锁机制。
- 第三方仓库导入:支持将外部 Git 仓库以只读方式导入,保留原始 commit 信息。
- Commit 身份认证:将 commit SHA 与用户身份绑定,支持匿名提交。
架构设计#
项目采用多 crate 架构,核心模块包括:mono(主入口/CLI)、orion/orion-server(Git 服务端协议及 HTTP/Web 服务端,基于 Axum)、jupiter/callisto(数据库 ORM 实体与迁移管理,基于 Sea-ORM + PostgreSQL)、saturn(存储层)、vault(密钥与签名管理,支持 RSA/Ed25519/secp256k1/PGP/HMAC)、io-orbit(IO 抽象层)、ceres(Git 内部对象处理)。
数据库设计采用双轨制:Mega 侧(mega_commit/tree/blob/tag/mr)与 Git 侧(git_commit/tree/blob/tag/repo/pr/issue),通过 raw_blob 表统一存储原始对象内容,支持 database、local-fs、remote_url 三种存储后端。
安全层面集成 Amazon Cedar 策略引擎(cedar-policy),通过 russh 提供 SSH 协议支持,支持 jemalloc 和 mimalloc 内存分配器优化性能。
Roadmap 规划#
- IntentSpec:结构化机器可读的意图合约,驱动 Agent 任务执行。
- Multi-Agent DAG 编排:多 Agent 跨复杂工作流的流水线架构。
- Code Attribution:行级追踪 AI 生成 vs 人类编写的代码。
配套项目#
Libra — Rust 实现的 Git 兼容客户端,SQLite 存储,面向 AI Agent,提供 libra code 交互式 TUI + Web 服务器模式,支持完整的 Git 子命令(init/clone/commit/push/pull/merge 等)。
构建与部署#
git clone https://github.com/web3infra-foundation/mega.git
cd mega
cargo install --git https://github.com/buck2hub/cargo-buckal.git
cargo buckal build
数据库初始化:
sea-orm-cli generate entity -u "postgres://postgres:$postgres@localhost/mega" -o jupiter/entity/src
仓库内存在 docker/ 目录,支持容器化部署。目前项目处于 v0.1.0 阶段(共 16 个 release),保持 3,868+ commits 的高频提交活跃度。