用 Go 编写的终端多路复用与窗口管理器,支持平铺窗格、工作区、断线保持的会话,以及汇总编码代理状态的收件箱。
feder-cr/git-ai
面向 AI 编码代理的 Git 实现,服务端集中处理历史与合并,支持并发提交与冲突自动解决。
- Star
- 1,280
- Fork
- 124
- 未关闭 Issue
- 2
- 最近提交
- 3小时前
这是什么?
gitai 是一个独立开源的实现,采用以服务端为中心的版本控制设计,专为大量并发运行的编码代理准备。客户端保持在线,只按需拉取所需的对象和稀疏路径,blame、路径历史、祖先关系和代码搜索等历史查询由服务端完成并缓存。底层仍是普通的 Git 仓库。
并发提交时,变更会先 rebase 到分支最新位置,再通过 compare-and-swap 落地,而不是使用合并队列;同一分支上的并发落地会合并为一次引用更新。遇到冲突时,可以交给可插拔的解决器处理,可以是 LLM、确定性工具或不启用。模型给出的解决方案只有在配置的 verify 命令于最终树上通过后才会真正合并。
项目还提供可供客户端列出或实时订阅的变更集日志、按代理发放的令牌与分支策略、语义化的评审规则,以及可选 SQLite 或 PostgreSQL 存储元数据、对象存储支持文件、S3、GCS 和 Azure 的存储层。服务端与 graft CLI 使用 Go 编写,通过 make 构建,目前支持 Linux 和 macOS。
核心功能
- 01客户端按需拉取单个对象和稀疏目录树,无需完整克隆。
- 02blame、路径历史、祖先关系和代码搜索在服务端运行并按提交缓存。
- 03变更 rebase 到分支最新位置后通过 compare-and-swap 落地,并发落地会被批量处理。
- 04冲突可交给可插拔的解决器处理,模型给出的方案需通过配置的验证命令才会合并。
- 05元数据可存于 SQLite 或 PostgreSQL,对象包可存于文件系统、S3、GCS 或 Azure。
适用场景
- 让大量编码代理同时向同一分支提交代码。
- 自建 Git 服务,供代理使用稀疏检出。
- 在验证门禁之后试验 AI 辅助的合并冲突解决。
- 记录每次引用更新的操作者与变更集,便于审计。
快速上手
- 1
克隆仓库
git clone https://github.com/feder-cr/git-ai.git - 2
进入项目目录
cd git-ai - 3
构建服务器、命令行工具和辅助工具
make build - 4
运行快速入门示例,在临时目录中启动服务器、缓存守护进程、两个代理并执行一次合并
examples/graft/quickstart.sh
使用前须知
- 仅支持 Linux 和 macOS。
- 构建需要 Go 1.26、C 编译工具链、Meson 和 Ninja,因为它会编译内置的 Git。
- 当前版本为 0.3.0,在 1.0 之前接口可能仍会变化。
- 存储核心中的包文件垃圾回收等已知缺口尚未实现。
标签
常见问题
- git-ai 是什么?
- 面向 AI 编码代理的 Git 实现,服务端集中处理历史与合并,支持并发提交与冲突自动解决。 gitai 是一个独立开源的实现,采用以服务端为中心的版本控制设计,专为大量并发运行的编码代理准备。客户端保持在线,只按需拉取所需的对象和稀疏路径,blame、路径历史、祖先关系和代码搜索等历史查询由服务端完成并缓存。底层仍是普通的 Git 仓库。
- git-ai 可以免费使用吗?用的什么许可证?
- git-ai 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- git-ai 还在维护吗?
- 活跃维护中。git-ai 最近一次提交是在 2026年10月21日。
- git-ai 适合用来做什么?
- 让大量编码代理同时向同一分支提交代码。 自建 Git 服务,供代理使用稀疏检出。 在验证门禁之后试验 AI 辅助的合并冲突解决。 记录每次引用更新的操作者与变更集,便于审计。
- git-ai 怎么安装和运行?
- 克隆仓库: git clone https://github.com/feder-cr/git-ai.git 进入项目目录: cd git-ai 构建服务器、命令行工具和辅助工具: make build 运行快速入门示例,在临时目录中启动服务器、缓存守护进程、两个代理并执行一次合并: examples/graft/quickstart.sh
- 在哪里获取 git-ai?
- 源代码和安装说明在 GitHub 上:https://github.com/feder-cr/git-ai
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款用 Go 编写的自托管一体化软件开发服务,涵盖 Git 托管、代码评审、议题与 CI/CD。
一个支持类 Git 分支、合并、推送和拉取操作的 SQL 数据库,兼容 MySQL 连接方式。
面向 AI 智能体与团队的 Markdown 文件系统,支持全文与向量搜索、Git 版本管理,单个 Go 二进制文件即可运行。
用 Go 编写的自托管 Git 服务,提供 Issue、合并请求、Wiki 和 Webhook,部署简单。