Why a protocol?
The AI agent ecosystem is fragmented. Every framework has its own way to define tools, store agents, and run them. An agent built with LangChain can’t run on a CrewAI runtime. A LlamaIndex agent has a completely different structure from an AutoGen agent. OpenGAP solves this by defining a vendor-neutral, git-first structure that any runtime can implement. An OpenGAP-compliant agent can be:- Executed locally with
gitagent run - Deployed to Lyzr Studio by pointing at the repo
- Run in CI with any OpenGAP-compatible GitHub Action
- Loaded by any third-party tool that implements the spec
The core idea
An OpenGAP agent is a directory. The directory’s structure is the agent’s definition.Specification areas
| Area | What it defines |
|---|---|
| Agent Manifest | agent.yaml schema — identity, model, config |
| Directory Structure | Required and optional directories, naming conventions |
| Framework Adapters | How to adapt LangChain, LlamaIndex, etc. agents to OpenGAP |
| Design Patterns | Recommended patterns for common agent architectures |
| Compliance | What a runtime must implement to be OpenGAP-compliant |
Versioning
OpenGAP follows semantic versioning. The current version is 0.4. The spec version is declared inagent.yaml:
Relationship to GitAgent
GitAgent is the reference implementation of OpenGAP. It tracks the spec version closely — each GitAgent minor version corresponds to an OpenGAP spec version. The relationship:- OpenGAP defines the “what” — the structure, contracts, and interfaces
- GitAgent defines the “how” — the Python runtime that implements them
Contributing to the spec
OpenGAP is developed in the open. Proposals go through an RFC process:- Open an issue in the OpenGAP GitHub repo with the
rfclabel - Discuss and refine in the issue
- Submit a PR to the spec document
- Spec changes are merged after consensus among maintainers