项目介绍
Agent 开发框架 · 2026-11-09 更新 · 本站尚未实测
agent-platform 是一个轻量级多智能体协作平台。按照 README 的定位,它相当于 AI 智能体的“通讯录 + 邮局”:在企业中,运维、研发、财务、人事等团队各自维护自己的 AI 智能体,这些智能体原本彼此孤立。该平台提供统一的注册表与路由层,让任一智能体只需调用一次 API,就能向另一个已注册的智能体发起请求。
项目以 Python 编写,标注基于 Python 3.11+ 与 FastAPI 0.110+,通信协议为 HTTP + JSON,不绑定特定智能体框架、编程语言或大模型供应商。README 强调平台本身无状态,不存储对话内容,上下文由调用方自行管理。
从类型上看,这是一个可自行部署的智能体编排与路由服务,而非某个可直接下载使用的具体智能体或工作流文件。
核心能力
点击能力名称查看输入、输出和原文依据。
- 服务发现:
GET /agents返回所有已注册智能体的名称、描述与示例问题,可供上层大模型据此选择目标智能体。 - 请求路由:
POST /ask按智能体名称转发请求,并携带完整消息历史、来源智能体、真实用户与可选 trace_id。 - 动态注册与注销:通过
POST /register注册智能体,通过DELETE /agents/{name}注销,README 称可运行时增减、无需停机。 - 分布式追踪标识:自动生成 trace_id,便于跟踪跨智能体调用链路。
- 语言无关接入:只要实现一个返回消息的
POST /chat端点并完成注册,即可成为服务的提供方;调用方则可把“列出智能体”和“向同伴提问”封装为大模型的两个工具。 - 部署形态:支持直接运行 Python 服务,也提供 Docker 构建与运行方式。
实际应用场景
适用场景
- 企业内部已有多个团队各自的智能体,需要让它们跨部门互相查询与协作。
- 希望用最小改造把不同语言、不同框架写成的智能体接入同一处“通讯录”。
- 需要一个不保存会话、不锁定大模型供应商的轻量路由层,作为多智能体系统的中枢。
- 需要注意的是,README 路线图中健康检查与心跳、鉴权与限流、语义路由、Web 管理界面、发布订阅与流式支持均仍为未完成项,因此上述能力当前不可依赖。
安装与接入
README 给出两种启动方式。其一为直接运行:克隆仓库、进入目录、安装 requirements.txt 中的依赖,然后运行 main.py;服务监听 http://localhost:9000。其二为 Docker:构建镜像并以端口 9000 映射方式运行容器。启动后可用 curl http://localhost:9000/agents 验证服务是否响应。
接入方面,作为提供方需暴露 POST /chat 端点,读取消息历史、调用方、真实用户与 trace_id,并返回 {"message": {"role": "assistant", "content": ...}} 结构,再向平台注册名称、描述与 endpoint。作为调用方,可在自己的大模型中定义两个工具:一个读取 GET /agents 获取候选智能体,一个调用 POST /ask 发起提问。README 同时提到“无需 SDK、无需消息队列”,即接入完全依赖 HTTP 请求。
使用条件与限制
- 是否需要部署
- 需自行准备运行环境,具体要求见正文
- 是否需要注册
- 账号和认证要求见正文;未明确说明的项目仍待核验
- 是否需要 API Key
- 待核验
- 费用与额度
- 费用边界见正文,项目许可不代表模型或托管服务免费
- 所需权限
- 待核验
- 许可证与服务条款
- 待核验
权限费用与限制
项目 README 未描述任何内建身份认证或访问控制,路线图中“鉴权与限流”尚为待办,因此对外暴露时需自行评估网络边界与访问控制,具体安全方案待核验。平台自身不保存对话,但转发的请求内容会经过平台服务,相关日志与隐私处理方式资料未说明。
费用方面,仓库以 MIT 许可证发布,代码本身可免费使用;但接入的大模型服务、运行服务器、Docker 镜像托管等产生的费用由使用者自行承担,README 未提及任何商业模块或收费功能。是否支持特定国内大模型或国内网络环境,资料未作说明,需自行核验。
国内使用情况
网友核验 用户经验分享
与站长实测独立,不代表官方认证或本站已实测。
最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。
分项统计、有效期与样本量
| 核验项目 | 有效人数 | 成功 / 部分 / 失败 / 无法判断 | 成功率 | 最近核验 / 有效期 |
|---|---|---|---|---|
| 官方网站访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| GitHub 仓库访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 安装与运行 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 官方服务国内连接 / MCP 连接 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 国内网络情况 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 国内模型兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 自定义 API | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外服务依赖 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外账号要求 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 中文界面 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 客户端兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 账号及费用信息 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。
最近有效核验
暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。
查看全部有效核验 →国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。
- 官方网站访问
- 尚未实测 待核验
- GitHub 仓库访问
- 尚未实测 待核验
- 官方服务国内连接
- 尚未实测 待核验
- 国内网络情况
- 尚未实测 待核验
- 国内模型兼容性
- 尚未实测 待核验
- 自定义 API
- 尚未实测 待核验
- 海外服务依赖
- 尚未实测 待核验
- 海外账号要求
- 尚未实测 待核验
- 中文界面
- 尚未实测 待核验
- 国内最后核验时间
- 尚未实测
许可与国内使用
仓库包含 MIT 许可证文件,允许免费获取、使用、修改、合并、发布、分发、再许可及销售,条件是保留版权与许可声明,软件按“原样”提供、不附带担保。该许可仅覆盖本仓库代码,不涉及使用者接入的大模型、云服务或第三方组件的许可与条款。
项目未说明是否在国内网络环境下可直接访问或部署,也未说明是否兼容国内模型服务,这些均需待核验。README 提到“无供应商锁定”,指可自由更换大模型供应商,不代表已验证任何具体模型。仓库的发布页与客户端配置文件在采集时未获取到,相关内容待核验。
项目资料与来源
字段依据与待核验事项
access:来源确认 · git clone https://github.com/Ace-li521/agent-platform.git cd agent-platform pip install -r requirements.txt python main.py
project_type:来源确认 · A lightweight multi-agent collaboration platform
原始 README(折叠技术参考)
<p align="center">
<h1 align="center">🤖 Agent Platform</h1>
<p align="center">
<strong>A lightweight multi-agent collaboration platform — the "Address Book + Post Office" for your AI agents.</strong>
</p>
<p align="center">
<a href="#quick-start">Quick Start</a> •
<a href="#features">Features</a> •
<a href="#api-reference">API</a> •
<a href="#integration-guide">Integration</a> •
<a href="#architecture">Architecture</a>
</p>
<p align="center">
<img src="https://img.shields.io/badge/python-3.11+-blue?logo=python&logoColor=white" alt="Python 3.11+"/>
<img src="https://img.shields.io/badge/FastAPI-0.110+-009688?logo=fastapi&logoColor=white" alt="FastAPI"/>
<img src="https://img.shields.io/badge/protocol-HTTP+JSON-orange" alt="HTTP+JSON"/>
<img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"/>
<img src="https://img.shields.io/docker/image-size/agent-platform/latest?label=docker" alt="Docker"/>
</p>
</p>
---
## 💡 Why Agent Platform?
In enterprise environments, different teams build their own AI agents (Ops, R&D, Finance, HR…). But these agents live in silos — they can't talk to each other.
**Agent Platform** solves this with a dead-simple approach:
```
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Ops Agent │────────▶│ Agent Platform │◀────────│ R&D Agent │
└─────────────┘ │ │ └─────────────┘
│ • Registry │
┌─────────────┐ │ • Routing │ ┌─────────────┐
│ HR Agent │────────▶│ • Tracing │◀────────│ Biz Agent │
└─────────────┘ └──────────────────┘ └─────────────┘
```
**One API call** and any agent can ask any other agent. No SDK, no message queue, no vendor lock-in.
---
## ✨ Features
| Feature | Description |
|---------|-------------|
| 🔌 **Language Agnostic** | Pure HTTP + JSON — Python, Go, Java, Rust, anything works |
| 📋 **Service Discovery** | `GET /agents` returns all registered agents for LLM-based routing |
| 🔀 **Smart Routing** | Route requests by agent name with full message history |
| 🔍 **Distributed Tracing** | Auto-generated `trace_id` for cross-agent call tracking |
| 📝 **Dynamic Registration** | Agents register/deregister at runtime, zero downtime |
| 🐳 **Docker Ready** | One-line deployment with Docker |
| ⚡ **Async & Fast** | Built on FastAPI + httpx async, handles concurrent requests efficiently |
| 🧩 **Stateless Design** | Platform stores nothing — callers own their context |
---
## 🚀 Quick Start
### Option 1: Run directly
```bash
git clone https://github.com/Ace-li521/agent-platform.git
cd agent-platform
pip install -r requirements.txt
python main.py
```
Server runs at `http://localhost:9000` 🎉
### Option 2: Docker
```bash
docker build -t agent-platform .
docker run -d -p 9000:9000 agent-platform
```
### Verify it works
```bash
curl http://localhost:9000/agents
```
---
## 📖 API Reference
### `GET /agents` — List all agents
Returns agent metadata for LLM-based routing decisions.
```json
[
{
"name": "ops-agent",
"description": "Operations: monitoring, logs, service restarts, on-call schedules",
"examples": ["Server is returning 500", "Who's on-call today?"]
}
]
```
### `POST /ask` — Route a request to an agent
```bash
curl -X POST http://localhost:9000/ask \
-H "Content-Type: application/json" \
-d '{
"target": "ops-agent",
"messages": [{"role": "user", "content": "What is the CPU usage of order-service?"}],
"from_agent": "gateway-bot",
"real_user": "zhangsan",
"trace_id": "optional-trace-id"
}'
```
### `POST /register` — Register an agent
```bash
curl -X POST http://localhost:9000/register \
-H "Content-Type: application/json" \
-d '{
"name": "finance-agent",
"description": "Finance: invoices, budgets, expense reports",
"endpoint": "http://10.0.1.30:8080/chat",
"owner": "finance-team",
"examples": ["What is this month spend?", "Approve my expense report"]
}'
```
### `DELETE /agents/{name}` — Deregister an agent
```bash
curl -X DELETE http://localhost:9000/agents/finance-agent
```
---
## 🔗 Integration Guide
### As a Provider (let others call your agent)
Expose a single `POST /chat` endpoint:
```python
# Any framework, any language — just handle this contract
@app.post("/chat")
async def chat(request):
messages = request["messages"] # Full conversation history
from_agent = request["from"] # Who's calling
real_user = request["real_user"] # The actual human user
trace_id = request["trace_id"] # For distributed tracing
answer = your_llm_logic(messages)
return {"message": {"role": "assistant", "content": answer}}
```
Then register yourself:
```bash
curl -X POST http://platform:9000/register \
-d '{"name":"my-agent","description":"I do X","endpoint":"http://my-host:8080/chat"}'
```
**Done.** Other agents can now reach you.
### As a Consumer (call other agents)
Give your LLM two tools:
```python
# Tool 1: Discover available agents
def list_agents():
return httpx.get("http://platform:9000/agents").json()
# Tool 2: Ask a peer agent
def ask_peer_agent(target: str, question: str):
return httpx.post("http://platform:9000/ask", json={
"target": target,
"messages": [{"role": "user", "content": question}],
"from_agent": "my-agent",
"real_user": current_user
}).json()
```
Your LLM reads the agent list, picks the right one, and calls it. **That's the entire integration.**
---
## 🏗 Architecture
```
┌─────────────────────────────────┐
│ Agent Platform │
│ │
Register ──────▶ │ ┌───────────┐ ┌────────────┐ │
│ │ Registry │ │ Router │ │
GET /agents ───▶ │ │ (JSON) │ │ (httpx) │ │
│ └───────────┘ └────────────┘ │
POST /ask ─────▶ │ │ │ │
│ ▼ ▼ │
│ ┌──────────────────────────┐ │
│ │ Lookup + Forward │ │
│ └──────────────────────────┘ │
└──────────────┬──────────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Agent A │ │ Agent B │ │ Agent C │
│ (Python) │ │ (Go) │ │ (Java) │
└──────────┘ └──────────┘ └──────────┘
```
### Design Principles
- **Platform is stateless** — only routes, never stores conversations
- **Agents are stateless** — callers manage their own context window
- **Protocol is universal** — HTTP + JSON, works everywhere
- **No vendor lock-in** — swap LLM providers, frameworks, languages freely
---
## 🗺 Roadmap
- [ ] Health check & heartbeat (auto-remove dead agents)
- [ ] Authentication & rate limiting
- [ ] Agent capability matching (semantic routing)
- [ ] Web UI dashboard for monitoring
- [ ] Pub/Sub mode for async tasks
- [ ] Agent-to-agent streaming support
---
## 🤝 Contributing
Contributions are welcome! Feel free to:
1. Fork the repo
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
---
## 📄 License
MIT License — use it however you want.
---
<p align="center">
<strong>If this helps you build multi-agent systems, give it a ⭐️!</strong>
</p>
历史前置条件说明(补充参考)
Python 3.11+ 与 FastAPI 0.110+(README 徽章标注);需通过 requirements.txt 安装依赖;运行端口默认 9000。是否需要额外 API Key 由接入的智能体与大模型自行决定,平台本身未说明。费用、境外依赖与网络可用性待核验。
项目来源与清单版权许可
https://github.com/Ace-li521/agent-platform
整理来源:https://github.com/slavakurilyak/awesome-ai-agents
清单版权与许可:
MIT License
Copyright (c) 2024 Slava Kurilyak
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.