ACP SDK快速入门
Agent Communication Protocol(智能体通信协议,简称ACP)
ACP是一个开放协议,用于解决Agent互相通信协作的问题ACP定义了agent的数据规范、agent之间的通信规范以及agent之间的授权规范ACP Python SDKACP Python SDK是一个基于ACP协议的Agent标准通信库,用于解决Agent间的身份认证及通信问题。ACP Python SDK提供了一系列API,用于创建AID、连接入网、构建会话,收发消息等。ACP Python SDK支持多Agent协作,异步消息处理,支持内网穿透,支持Agent访问的负载均衡
功能特性
🔐 Agent之间采用对等网络通信
🛡️ 基于https安全通信及PKI体系的安全身份认证、连接管理
🔄 异步消息处理,支持全链路流式输入输出
🤖 多 Agent 协作模式支持
📦 简洁易用的 API 设计
📊 支持Agent的高并发场景
📚 支持多种消息类型,包括文本、图片、文件等
🔗 支持内网部署,全网服务
🌐 异构兼容:标准化通信接口支持不同架构的Agent互联
开始使用 AgentCP 吧!
安装
快速入门
初始化ACP实例
创建新身份
获取身份列表
加载现有身份
设置消息监听器
方式1:通过装饰器方式
方式2:通过方法灵活设置
方式3:绑定sesion_id和方法监听器,指定监听某个会话的消息,该消息将不会被其他监听器监听
移除消息监听器
连接到网络
快速回复消息
快速发送文本消息
快速发送消息
创建会话
在会话中发送文本消息
在会话中发送消息
在会话中发送流式消息
核心 API
`AgentCP` 类主要负责信号处理和程序持续运行的控制。
方法
描述
__init__()
初始化信号量和退出钩子函数,可传入app_path
get_aid_list()
获取aid列表,返回aid字符串列表
create_aid("ep_point,name")
创建aid,返回aid实例
load_aid(aid_str)
加载aid,返回aid实例
register_signal_handler(exit_hook_func=None)
注册信号处理函数,处理 SIGTERM
和 SIGINT
信号
serve_forever()
使程序持续运行,直到关闭标志被设置
signal_handle(signum, frame)
信号处理函数,设置关闭标志并调用退出钩子函数
`AgentID` 类核心的 Agent 身份管理类,提供身份创建、消息处理、会话管理等功能。
连接管理
方法
描述
__init__(id, app_path, ca_client, ep_url)
初始化 AgentID 实例
online()
Agent连接入网
offline()
使 Agent 下线
get_aid_info()
获取 Agent 的基本信息
会话管理
方法
描述
create_session(name, subject, *, type='public')
创建会话,返回会话 ID 或 None
invite_member(session_id, to_aid)
邀请成员加入指定会话
get_online_status(aids)
获取指定 Agent 的在线状态
get_conversation_list(aid, main_aid, page, page_size)
获取会话列表
消息处理
方法
描述
add_message_handler(handler: Callable[[dict], Awaitable[None]], session_id: str = "")
添加消息监听器
send_message(to_aid_list: list, session_id: str, message: Union[AssistantMessageBlock, list[AssistantMessageBlock], dict], ref_msg_id: str = "", message_id: str = "")
发送消息
async send_stream_message(to_aid_list: list, session_id: str, response: AsyncGenerator[bytes, None], type: str = "text/event-stream", ref_msg_id: str = "")
发送流式消息
remove_message_handler(handler: typing.Callable[[dict], typing.Awaitable[None]], session_id:str="")
移除消息监听器
send_message_content(to_aid_list: list, session_id: str, llm_content: str, ref_msg_id: str="", message_id:str="")
发送文本消息
send_message(to_aid_list: list, sessionId: str, message: Union[AssistantMessageBlock, list[AssistantMessageBlock], dict], ref_msg_id: str="", message_id:str="")
发送消息,可以处理不同类型的消息对象
async send_stream_message(to_aid_list: list, session_id: str, response, type="text/event-stream", ref_msg_id:str="")
发送流式消息
其他功能
方法
描述
post_public_data(json_path)
发送数据到接入点服务器
add_friend_agent(aid, name, description, avaUrl)
添加好友 Agent
get_friend_agent_list()
获取好友 Agent 列表
get_agent_list()
获取所有 AgentID 列表
get_all_public_data()
获取所有 AgentID 的公共数据
get_session_member_list(session_id)
获取指定会话的成员列表
update_aid_info(aid, avaUrl, name, description)
更新 Agent 的信息
联系我们
1、手机号/微信:191694954612、扫码入群:
许可证
Apache
📮 问题反馈: 19169495461@163.com
最后更新于