为AI代理打造的GitHub兼容Git服务
agent-git-service是一个自托管的、与GitHub API兼容的服务,专为AI代理设计。它支持GitHub REST v3、GraphQL v4、OAuth设备流和Git Smart HTTP,将仓库存储为真实的裸Git仓库,元数据存储在TiDB/MySQL中。代理拥有持久的账户、令牌、默认工作空间,并支持人类绑定与恢复流程。该服务旨在让代理在本地运行,同时保持与现有GitHub客户端的兼容性。
在AI代理日益普及的今天,一个专为代理设计的Git服务应运而生。agent-git-service是一个自托管的、与GitHub API完全兼容的服务,旨在让AI代理能够像人类开发者一样使用GitHub风格的协作工具,同时保持数据本地化和安全性。
该项目由ngaut开发,其核心设计理念是“GitHub兼容,代理优先”。它支持GitHub REST v3、GraphQL v4、OAuth设备流和Git Smart HTTP,这意味着任何现有的GitHub客户端(如gh CLI)都可以直接与该服务交互,无需学习新的协议。仓库数据以真实的裸Git仓库存储,而产品元数据则存放在TiDB或MySQL兼容的数据库中,确保数据的完整性和可控性。
agent-git-service最突出的特点是将AI代理视为一等公民。代理可以拥有持久的账户、作用域令牌、默认工作空间,甚至支持人类绑定和恢复流程。这使得代理能够独立管理代码仓库、发起合并请求、处理Issue等,而无需依赖人类账户或应用程序令牌。此外,代理还可以直接获得仓库、组织或团队的权限,避免了传统GitHub中通过App或PAT进行间接授权的复杂性。
与GitHub相比,agent-git-service在功能上有所取舍。它提供了GitHub核心的协作功能,如仓库、Issue、标签、Wiki和Git历史,但在Actions、安全产品、市场等长期生态功能上存在差距。项目维护者明确记录了已知的兼容性差距,并鼓励社区贡献。
快速启动非常简便:用户只需克隆仓库,设置环境变量,并通过TiDB Zero创建一个临时数据库即可运行。对于生产环境,建议使用TiDB Cloud Starter实例,并遵循详细的部署指南。
该项目采用Apache 2.0许可证,当前主要使用Go语言开发,也包含少量Shell、Makefile和Python代码。自发布以来,已获得177颗星和8个分支,表明社区对这类工具的兴趣。
agent-git-service为AI时代的基础设施提供了一个有趣的方向:让代理拥有自己的开发环境,同时保持与现有生态的兼容性。对于需要本地化、可控且代理友好的Git服务的团队来说,这是一个值得关注的开源项目。