{"id":25770388,"url":"https://github.com/silkgod/agent-protocol","last_synced_at":"2025-02-27T02:29:14.821Z","repository":{"id":266341619,"uuid":"838935299","full_name":"silkgod/agent-protocol","owner":"silkgod","description":"Common interface for interacting with AI agents. The protocol is tech stack agnostic - you can use it with any framework for building agents.","archived":false,"fork":false,"pushed_at":"2024-08-06T16:21:36.000Z","size":1392,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T22:30:41.049Z","etag":null,"topics":["ai-agent","api","gpt-4","javascript","llm","openai","protocol","typescript"],"latest_commit_sha":null,"homepage":"https://agentprotocol.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/silkgod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-06T16:21:06.000Z","updated_at":"2024-08-16T21:10:09.000Z","dependencies_parsed_at":"2024-12-03T20:14:07.483Z","dependency_job_id":"edd21afd-f77f-48d9-b85d-d5ab1bb62ab4","html_url":"https://github.com/silkgod/agent-protocol","commit_stats":null,"previous_names":["passiondev2024/agent-protocol","silkgod/agent-protocol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silkgod%2Fagent-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silkgod%2Fagent-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silkgod%2Fagent-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silkgod%2Fagent-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silkgod","download_url":"https://codeload.github.com/silkgod/agent-protocol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240966119,"owners_count":19886022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","api","gpt-4","javascript","llm","openai","protocol","typescript"],"created_at":"2025-02-27T02:29:14.069Z","updated_at":"2025-02-27T02:29:14.806Z","avatar_url":"https://github.com/silkgod.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg height=\"420px\" src=\"./assets/cover.png\" alt=\"agent protocol\"\u003e\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://discord.gg/bJnNh666C3\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/static/v1?label=Join\u0026message=%20discord!\u0026color=mediumslateblue\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/e2b_dev\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/e2b.svg?logo=twitter\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 📚 Docs\n\n**You can find more info in the [docs](https://agentprotocol.ai/).**\n\n## 🧾 Summary\n\nThe AI agent space is young. Most developers are building agents in their own way. This creates a challenge:\nIt's hard to communicate with different agents since the interface is often different every time.\nBecause we struggle with communicating with different agents, it's also hard to compare them easily.\nAdditionally, if we had a single communication interface with agents, it'd also make it easier developing devtools that works with agents out of the box.\n\nWe present the **Agent Protocol** - a single common interface for communicating with agents.\nAny agent developer can implement this protocol.\nThe Agent Protocol is an API specification - list of endpoints, which the agent\nshould expose with predefined response models.\nThe protocol is **tech stack agnostic**. Any agent can adopt this protocol no\nmatter what framework they're using (or not using).\n\nWe believe, this will help the ecosystem grow faster and simplify the integrations.\n\nWe're starting with a minimal core. We want to build upon that iteratively\nby learning from agent developers about what they actually need.\n\n## 🚀 The incentives to adopt the protocol\n\n- Ease with which you can use the benchmarks.\n- Other people can more easily use and integrate your agent\n- Enable building general devtools (for development, deployment and monitoring)\n  that can be built on top of this protocol\n- You don’t need to write boilerplate API and you can focus on developing your\n  agent\n\n## 🎯 Immediate goals of the protocol\n\nSet a general simple standard that would allow for easy to use benchmarking of\nagents. One of the primary goals of the protocol is great developer experience,\nand simple implementation on the end of agent developers. You just start your\nagent and that’s all you have to do.\n\n## 🗣️ Request for Comments\n\nIf you'd like to propose a change or an improvement to the protocol. Please\nfollow the [RFC template](./rfcs/template.md).\n\n## ⚙️ Components\n\n### [Protocol](./schemas/openapi.yml)\n\nThe most important part. It specifies which endpoints should the agent expose.\nThe protocol is defined in [OpenAPI specification](./schemas/openapi.yml).\n\n#### How does the protocol work?\n\nRight now the protocol is defined as a REST API (via the\n[OpenAPI spec](./schemas/openapi.yml)) with two essential routes for interaction with\nyour agent:\n\n- `POST /ap/v1/agent/tasks` for creating a new task for the agent (for example giving\n  the agent an objective that you want to accomplish)\n- `POST /ap/v1/agent/tasks/{task_id}/steps` for executing one step of the defined task\n\nIt has also a few additional routes for listing the tasks, steps and downloading / uploading artifacts.\n\n### [SDK](https://github.com/AI-Engineer-Foundation/agent-protocol/tree/main/packages/sdk)\n\nThis is our implementation of the protocol. It’s a library that you can use to build your agent. You can use it, or you can implement it on your own. It’s up to you.\n\nUsing the SDK should simplify the implementation of the protocol to the bare minimum, but at\nthe same time it shouldn't tie your hands. The goal should be to allow agent\nbuilders to build their agents and the SDK should solve the rest.\n\nBasically it wraps your agent in a web server that allows for communication with\nyour agent (and in between agents in the future).\n\n### [Client](https://github.com/AI-Engineer-Foundation/agent-protocol/tree/main/packages/client)\n\nThis library should be used by the users of the agents. Your agent is deployed somewhere and the users of your agent can use this library to interact with your agent.\n\nThanks to the standard the users can try multiple agents without the need for any additional adjustments (or very minimal) in their code.\n\n## 📦 How to use the protocol\n\nIf you're an agent developer, you can use the SDK to implement the protocol. You can find more info in the [docs](https://agentprotocol.ai/) or in the [SDK folder](./sdk).\n\n## 🤗 Adoption\n\n### Engaged projects in development of agent protocol\n\n- [e2b](https://e2b.dev)\n- [Auto-GPT](https://news.agpt.co/)\n\n### Open-source agents and projects that have adopted Agent Protocol\n\n- ✅ [Auto-GPT](https://github.com/Significant-Gravitas/Auto-GPT)\n  - Track [PR here](https://github.com/Significant-Gravitas/Auto-GPT/pull/5044)\n- ✅ [Auto-GPT-Forge](https://github.com/Significant-Gravitas/Auto-GPT-Forge)\n- 🚧 [babyagi](https://github.com/yoheinakajima/babyagi)\n  - Track [PR here](https://github.com/yoheinakajima/babyagi/pull/356). Waiting\n    for merge.\n- ✅ [smol developer](https://github.com/smol-ai/developer)\n  - Track [PR here](https://github.com/smol-ai/developer/pull/123).\n- 🚧 [beebot](https://github.com/AutoPackAI/beebot)\n  - Might require more features. See\n    [issue here](https://github.com/AI-Engineer-Foundation/agent-protocol/issues/9).\n\n## 📃 High-level future roadmap\n\n- Agent-to-agent communication\n- Connection to the outside world:\n  - 3rd party services (= “Agent I/O”)\n  - Authentication on behalf of users\n- Protocol Plugins\n- Is there anything missing? Please submit an RFC with a proposed feature!\n\n## 💬 Public discourse \u0026 development\n\n- PRs and issues are welcome!\n- Join [AIEF Discord](https://discord.gg/TxDzUWab) and their dedicated `agent-protocol` channel\n- Join [Auto-GPT Discord](https://discord.gg/autogpt) and their dedicated\n  `agent-protocol` channel\n- Join [e2b Discord](https://discord.gg/U7KEcGErtQ) and their dedicated\n  `agent-protocol` channel\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilkgod%2Fagent-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilkgod%2Fagent-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilkgod%2Fagent-protocol/lists"}