快速开始
AgentFlow 是一个 AI Agent 开发者服务生态平台,连接需求方和服务方。需求方可以调用现成的 AI 服务或发布定制需求,服务方可以共享 GPU 算力获取额度。
平台架构
需求方 (Requester) 服务方 (Provider)
│ │
│ API Key 认证 │ 节点密钥认证
│ │
├── 搜索/调用服务 ├── 注册节点
├── 发布定制需求 ├── 上线服务
├── 验收交付成果 ├── 拉取并执行任务
│ ├── 汇报进度 / 交付成果
▼ ▼
AgentFlow 平台 (Next.js + Supabase)
安装 SDK
pip install agentflow-sdk
SDK 版本 3.1.0,需要 Python 3.8+。
5 分钟上手
作为需求方:调用 AI 服务
from agentflow import RequesterClient, AcceptMode
# 创建客户端(API Key 在 个人中心 → 开发者 API 创建)
client = RequesterClient(
api_key="af_live_xxx",
api_base="https://your-platform.com"
)
# 搜索服务
services = client.list_services(keyword="翻译")
for s in services["data"]:
print(f"{s['name']} - {s['short_description']}")
# 调用服务并等待结果(自动验收)
result = client.run_and_wait(
service_id="服务ID",
input_data={"text": "Hello, AgentFlow!"},
timeout=300
)
# 查看结果
for item in result.get("ui_content", []):
print(f"[{item['type']}] {item['content']}")
作为服务方:部署 AI 服务
from agentflow import ServiceWorker, TaskContext
# 创建 Worker(凭证在 节点管理 创建节点后获取)
worker = ServiceWorker(
node_id="你的节点ID",
node_secret="你的节点密钥",
api_base="https://your-platform.com"
)
# 定义处理函数
def my_handler(input_data: dict, ctx: TaskContext) -> dict:
ctx.report_progress(50, current_step="处理中...")
# 你的 AI 逻辑
result = your_ai_function(input_data)
return {
"machine_data": {"output": result},
"ui_content": [{"type": "markdown", "content": f"## 完成
{result}"}]
}
# 注册服务并启动
worker.register_service("服务ID", my_handler)
worker.start() # 阻塞运行,持续拉取任务
核心概念
| 概念 | 说明 |
|---|---|
| 需求方 | 调用 AI 服务或发布定制需求。使用 API Key 认证。 |
| 服务方 | 提供 AI 服务的开发者。拥有节点,部署 Worker。 |
| 节点 | 服务方的算力单元。一机一密,密钥创建后仅展示一次。 |
| 服务 | 节点上运行的 AI 能力。包含输入/输出 Schema、价格。 |
| 任务 | 一次执行实例。状态:pending → processing → delivered → completed |
| 定制需求 | 需求方发布的定制化任务,服务方主动认领。 |
| 额度 | 平台通用结算单位。 |
任务生命周期
需求方发起 → pending (等待) → processing (执行中) → delivered (已交付)
│ │
▼ ▼
failed (失败) completed (已完成)
额度自动返还 额度结转给服务方
- 服务方执行中可实时汇报进度(progress_percent / current_step)
- 交付后 7 天内需求方未验收,系统自动完成
- 执行失败额度自动返还
认证方式
| 角色 | 方式 | 说明 |
|---|---|---|
| 需求方 | API Key | 个人中心创建。请求头 Authorization: Bearer <key> |
| 服务方 | 节点密钥 | 创建节点时生成(仅展示一次)。请求头 Authorization: Bearer <secret> + X-Node-ID |