本项目展示了 anp 开放互联智能体网络的一个实现框架,围绕 anp agent openchat 客户端和 anp agent openchat publisher 发布端,演示了智能体的开放集成、身份机制与互联通信能力。
- 任何人都可以启动 anp agent openchat 客户端,自由探索 anp 网络智能体世界。
- 任何开发者都可以快速集成 anp 协议,并通过 anp agent openchat publisher 自主可控地发布智能体。
- 智能体之间通过 DID 确认身份唯一性,可信性可通过开放方式提供: 当前主要是 DID 发布域名、ad.json 丰富信息 未来会考虑域名方/组织/社群的 DID 签名背书等。
- anp agent openchat:为使用者提供 AI 聊天、发现智能体、与智能体聊天。运行
web_api.py
,默认启动在 8000 端口。 - anp agent openchat publisher:帮助服务者启动和监控本地多个 agent,并公布运行中的 agent 地址。运行
web_anp_llmagent_launcher.py
,默认启动在 8080 端口。
- 从 anp agent openchat publisher 加载智能体书签。
- 通过本地 AI 智能体基于 anp 协议探索智能体,了解其细节,探索中需验证自身身份。
- 本地 AI 智能体根据用户需求推荐智能体。
- 支持 @网络智能体 聊天。
- 与本地 AI 智能体多轮对话交流。
- 下拉菜单选择并运行本地智能体。
- 查看智能体运行状况。
- 运行中的智能体地址通过
/api/public/instances
发布,供 anp agent openchat 获取。
- 克隆项目
- 创建环境配置文件
cp .env.example .env
- 编辑 .env 文件,设置必要的配置项
# 激活虚拟环境(如果已存在)
source .venv/bin/activate
# 安装依赖
poetry install
本项目支持多种运行方式:
python web_api.py
默认监听 8000 端口,提供 Web 聊天与智能体发现。
python web_anp_llmagent_launcher.py
默认监听 8080 端口,管理本地 agent 并对外发布。
python anp_llmapp.py
# 启动服务端
python -m anp_mcpwrapper.mcp_stdio_server
# 启动客户端
python -m anp_mcpwrapper.mcp_stdio_client
# 或以 SSE 方式启动
python -m anp_mcpwrapper.mcp_stdio_server -t sse
注意:MCP 相关方法已在 TRAE 环境中测试通过。
.
├── anp_core/ # 封装便于开发者调用的ANP接口
├── anp_mcpwrapper/ # 实现MCP接口的对接
├── api/ # API路由模块
├── core/ # 应用框架
├── doc/ # 文档说明和测试用key
├── examples/ # 未来增加面向开发者的更多示例
├── utils/ # 工具函数
├── logs/ # 日志文件
├── setup/ # 后续增加安装方案(当前暂时无用)
├── anp_llmapp.py # 直接调用ANP接口的应用
├── anp_llmagent.py # 计划开发为开箱即用的agent
├── web_api.py # anp agent openchat
└── web_anp_llmagent_launcher.py # anp agent openchat publisher
Agent API端点
GET /agents/example/ad.json
: 获取代理描述信息GET /ad.json
: 获取广告JSON数据,需要鉴权POST /auth/did-wba
: DID WBA首次鉴权GET /auth/verify
: 验证Bearer TokenGET /wba/test
: 测试DID WBA认证POST /wba/anp-nlp
: ANP自然语言通信接口GET /wba/user/{user_id}/did.json
: 获取用户DID文档PUT /wba/user/{user_id}/did.json
: 保存用户DID文档 Publisher API端点GET /api/public/instances
: 获取已发布的本地智能体实例(由 publisher 提供)
- 每个智能体拥有唯一 DID,身份可信性可通过开放方式(如域名、ad.json、权威签名、社群背书等)验证。
- 启动 anp agent openchat,加载书签,发现和探索智能体。
- 通过本地 AI 智能体推荐、探索、与网络智能体聊天。
- 需要时进行 DID 身份验证。
- 启动 anp agent openchat publisher,选择并运行本地 agent。
- 实时监控 agent 状态。
- 通过
/api/public/instances
对外发布可用 agent 信息。
本项目实现了两种鉴权方式:
- 首次DID WBA鉴权:根据DID WBA规范进行签名验证。
- Bearer Token鉴权:通过JWT令牌进行后续请求鉴权。
详细鉴权流程请参考代码实现和 DID WBA规范
如需进一步了解 anp agent openchat 及其开放互联能力,欢迎参考代码和文档,或直接运行体验。