gitagent-protocol
open-gitagent/gitagent-protocol加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
张明是一名 AI 应用开发者。他在公司用 LangChain 构建了一个数据清洗 Agent,在开源社区用 Claude Code 做了一个代码审查工具,在客户项目里又用 CrewAI 搭了一个客服机器人。三个 Agent,三套配置,三种部署方式——他每天花大量时间在框架之间的翻译和适配上。更痛苦的是,当他想把自己在 Claude Code 中调试好的 Prompt 迁移到 OpenAI 的项目里时,发现几乎要从头重写。
这就是当前 AI Agent 生态的真实写照:框架割裂、标准缺失。OpenGAP(Open Git Agent Protocol)正是为解决这一问题而生。
OpenGAP 由 Shreyas Kapale 创建,项目的核心理念极具颠覆性:把定义 Agent 的配置文件本身变成一个 Git 仓库。这个想法来自于一个简单观察——程序员已经习惯用 Git 管理代码版本,那为什么不能用同样的方式管理 Agent 的"灵魂"?
传统框架要求开发者学习特定 SDK、安装特定依赖、遵循特定目录结构。OpenGAP 则反其道而行:它定义了一套与框架无关的标准化文件格式,任何人只要按照规范在仓库里放几个 YAML/MD 文件,这个仓库就变成了一个可移植、可版本控制、可协作的 Agent 定义。
如果说 AI Agent 框架(LangChain、CrewAI、Claude Code)像是不同的文字处理器(Word、WPS、Google Docs),那么 OpenGAP 就像是 Markdown 格式——无论你用哪个编辑器,.md 文件的内容是通用的。OpenGAP 定义了一套"Agent Markdown",让 Agent 定义在不同框架之间自由流通。
OpenGAP 的标准要求在仓库根目录放置以下核心文件:
agent.yaml:Agent 的清单文件,定义名称、版本、所使用的模型、所需技能(Skills)、工具(Tools)以及合规要求。类似于 package.json 对 npm 包的意义。SOUL.md:Agent 的灵魂文件,描述 Agent 的身份、个性、沟通风格和价值观。这是 OpenGAP 最有创意的设计——把 AI Agent 的"人设"与代码分离。RULES.md:硬性约束规则,定义 Agent 的行为边界和安全限制。DUTIES.md:职责分离策略,适合企业级合规场景(如 FINRA、SEC 监管要求)。skills/ 目录:可复用的技能模块,每个技能包含 SKILL.md 定义和对应的执行脚本(如 review.sh)。opengap(npm 包名 @open-gitagent/opengap)是该协议的实现 CLI,支持以下核心命令:
# 创建标准 Agent 仓库
opengap init --template standard --dir ./my-agent
# 验证 Agent 定义是否符合规范
opengap validate -d ./my-agent
# 本地运行(调用 Claude Code 适配器)
opengap run -d ./my-agent
# 导出为其他框架格式
opengap export -f openai -d ./my-agent -o agent.py
opengap export -f crewai -d ./my-agent -o crew.yaml
# 从远程仓库克隆 + 自动适配 + 运行
opengap run -r https://github.com/user/my-agent -a git -p "Summarize this project"
OpenGAP 不只是定义标准,它还提供了多个主流框架的适配器,支持导出为:
| 适配器 | 说明 |
|---|---|
| Claude | 导出为 Claude Code 格式 |
| OpenAI | 导出为 OpenAI Assistants 格式 |
| CrewAI | 导出为 CrewAI YAML 定义 |
| OpenClaw | 开放爪生态适配 |
| Nanobot | Nanobot 框架适配 |
| Lyzr | Lyzr Studio 集成 |
| GitHub Models | GitHub Models API |
| Git (Auto-Detect) | 自动检测最佳适配器 |
OpenGAP 对企业场景有专门支持。在 DUTIES.md 中可以定义职责分离策略,这对于需要满足监管要求的金融、医疗等行业尤为重要。支持的标准包括:FINRA(美国金融业监管局)、Federal Reserve(美联储)、SEC(证券交易委员会)、CFPB(消费者金融保护局)。
OpenGAP 采用纯 TypeScript 实现,依赖非常精简:
commander:命令行参数解析inquirer:交互式终端输入js-yaml:YAML 文件解析ajv + ajv-formats:JSON Schema 校验(用于验证 agent.yaml 的规范性)chalk:终端彩色输出整个项目没有引入任何机器学习或深度学习依赖,本质上是一个配置管理 + 协议转换工具,而非 AI 模型本身。这使得它极其轻量(~50MB 磁盘占用),无需 GPU。
源码目录 src/ 按命令模块组织,入口文件 src/index.ts 通过 Commander 注册所有子命令,体现了良好的代码组织性。
npm install -g @open-gitagent/opengap 一行搞定。docs.md 超过 4 万字符)。spec/SPECIFICATION.md)版本为 v0.1.0,breaking changes 风险较高。OpenGAP 代表了一个重要的趋势:AI Agent 的标准化与可移植性。随着 Claude Code、Cursor 等 AI 编程工具的普及,开发者对 Agent 的版本控制、协作和复用需求日益强烈。OpenGAP 用 Git 的思路来解决 Agent 的管理问题,思路独特且优雅。
目前它还不是主流选择,但作为开源协议的实验性探索,值得 AI 开发者持续关注。
# 安装 CLI
npm install -g @open-gitagent/opengap
# 创建 Agent 仓库
opengap init --template standard --dir ./my-agent
# 进入目录,编辑 agent.yaml 和 SOUL.md
cd my-agent
# 验证配置
opengap validate
# 本地运行
opengap run -d .