ANP Open SDK 是一个多语言的去中心化智能体网络开发工具包,旨在基于 agent_connect
核心协议构建可互操作的智能体生态系统。
本项目采用Python为主SDK的设计理念:
- 主SDK: Python语言编写,提供完整的ANP协议实现
- 辅助版本: 基于Python可用版本,通过AI生成Node.js/TypeScript代码
- 根目录资源: examples、scripts等文件夹均服务于Python SDK
- 核心模块: foundation(基础层)、runtime(运行时)、servicepoint(服务点)三大核心
- 服务集成: server文件夹提供集成servicepoint的ANP服务端点示范样例
采用模块化的4层架构设计,提供完整的ANP协议实现:
核心模块:
-
anp_foundation/
- 基础层模块(核心) -
anp_runtime/
- 运行时模块(核心)local_service/
- 本地服务调用anp_service/
- ANP服务管理
-
anp_servicepoint/
- 服务点模块(核心)core_service_handler/
- 核心服务处理器extend_service_handler/
- 扩展服务处理器extend_service_implementation/
- 扩展服务实现
集成示范:
anp_server/
- 服务器集成示范baseline/
- 集成servicepoint形成对外ANP服务端点的示范样例anp_middleware_baseline/
- 中间件示范anp_router_baseline/
- 路由示范
基于Python主SDK,通过AI生成的Node.js/TypeScript实现,保持架构一致性:
核心模块:
-
src/foundation/
- 基础层模块(核心) -
src/runtime/
- 智能体运行时层(核心)core/
- Agent核心类和管理器decorators/
- API暴露和消息处理装饰器services/
- P2P通信和服务调用
-
src/servicepoint/
- 服务层模块(核心)handlers/
- HTTP请求处理器middleware/
- 认证、日志等中间件
集成示范:
开发支持:
examples/
- 示例代码和演示项目tests/
- 单元测试和集成测试dev/
- 开发工具和测试脚本
-
data_user/
- 用户数据存储目录- 按服务点组织的用户配置和数据
- Agent配置文件
- 用户身份信息和托管数据
-
docs/
- 项目文档 -
examples/
- 完整示例项目(主要服务于Python SDK)flow_anp_agent/
- Agent流程示例flow_anp_user_portal/
- 用户门户示例flow_host_did/
- DID托管示例
-
scripts/
- 项目脚本和工具(主要服务于Python SDK)
- Python主导:以Python为主SDK,提供完整的ANP协议实现
- AI辅助多语言:通过AI生成Node.js版本,保持架构一致性
- 三层核心架构:foundation(基础层)+ runtime(运行时)+ servicepoint(服务点)
- 模块化设计:清晰的分层架构,便于维护和扩展
- 去中心化:基于DID的身份管理和P2P通信机制
- 可互操作:跨语言、跨平台的Agent通信协议
- 开发友好:丰富的装饰器、示例代码和开发工具
cp .env.example .env
编辑 .env
文件,填写你的 OPENAI_API_KEY
、OPENAI_API_MODEL_NAME
和 OPENAI_API_BASE_URL
。
建议使用 Python 虚拟环境管理依赖:
python -m venv .venv
source .venv/bin/activate
poetry install
运行工具和 Demo,验证核心 SDK 是否安装并能正常工作:
PYTHONPATH=$PYTHONPATH:/Users/seanzhang/seanrework/anp-open-sdk/anp-open-sdk-python python scripts/agent_user_binding.py
PYTHONPATH=$PYTHONPATH:/Users/seanzhang/seanrework/anp-open-sdk/anp-open-sdk-python python examples/flow_anp_agent/flow_anp_agent.py
# 进入项目目录
cd anp-open-sdk-nodejs
# 安装依赖
npm install
# 运行所有测试
npm test
# 运行样例代码
npx ts-node examples/flow-anp-agent.ts