通过 WebSocket 接入智能体
WebSocket 接入适合把自有消息系统连接到智能体。连接采用 Bridge 协议 infini.bridge.v1,支持双向消息、流式响应、工具事件、中断和心跳。本文用于创建渠道账号、完成接入并验证运行;帧字段、鉴权方式和错误码见 WebSocket API 参考。
创建 WebSocket 渠道账号
按钮会在新标签页打开控制台。若先进入登录页,控制台目前不会在登录后自动返回目标页面;请登录后返回本文,再次选择按钮。
打开 渠道账号。
也可以从控制台左侧导航进入 渠道账号。
选择 新建账号,在 渠道类型 中选择 WebSocket,并填写 账号名称。
在 绑定模式 中选择 绑定 Agent 实例(默认) 或 绑定 Agent 模板,再通过 绑定对象 选择目标智能体实例或智能体模板。
按需选择 同步创建 Token(可一次创建多个)。为不同客户端填写不同的 Token 名称和有效期;同一个渠道账号内的 WebSocket Token 名称不能重复。
选择 创建。
也可以不在此时签发 Token,稍后从 凭证管理 的 WebSocket Token 页签创建。
每次创建 Token 后,立即保存返回的
wst_Token。
Token 明文只在创建时显示。不要把它写入前端代码、日志或文档。
wst_ 绑定到 WebSocket 渠道账号,不直接绑定智能体模板或智能体实例。账号的绑定模式和绑定对象负责路由;因此 Token 创建页只要求选择渠道账号。
同一租户内,一个智能体实例或智能体模板只能绑定一个尚未删除的 WebSocket 渠道账号。已经停用的账号仍保留这个绑定目标。如果多个客户端需要连接同一个绑定目标,应在同一个渠道账号下分别创建 Token,而不是为同一个绑定目标创建多个渠道账号。
连接并完成鉴权
使用目标部署为渠道账号提供的 WebSocket 地址。不要根据控制台地址自行拼接连接主机名。
推荐在 HTTP Upgrade 阶段通过子协议传递 Token:
language-textSec-WebSocket-Protocol: infini.bridge.v1, bearer.<base64url_token>base64url_token是wst_Token 的无填充 Base64URL 编码。确认连接成功,并且服务端只回显
infini.bridge.v1。
无法在 Upgrade 请求中附加 Token 时,可以改用帧内鉴权。两种方式的完整请求和错误处理见 WebSocket API 参考。
验证消息往返
使用唯一的 msg_id、稳定的 user_id 和测试文本发送一条消息:
{
"type": "message",
"message": {
"meta": {
"msg_id": "3eeec74d-a4d4-4517-89ec-ef8aeb676666",
"user_id": "user-001",
"user_name": "Alice",
"chat_type": "p2p",
"chat_id": "chat-001"
},
"content": "帮我查询订单状态"
}
}检查结果:
- 收到与请求
msg_id和chat_id对应的message_reply或message_stream_reply。 - 流式文本能够按顺序累积,并以
done: true结束本次运行。 - 同一个渠道账号有多个客户端时,各客户端能够按消息元数据筛选自己的回复。
- 收到
PING时返回PONG;断开连接后能够退避重连并重新鉴权。
完整消息字段、事件类型和心跳约定见 WebSocket API 参考。
验证中断和用户工具包
智能体可能通过 message_stream_reply.interrupt 等待用户确认、用户输入或用户工具包执行结果。使用包含相应能力的测试智能体时:
- 确认客户端保存原中断的消息元数据和中断 ID。
- 对确认型中断返回
APPROVE或REJECT。 - 对用户工具包中断校验工具名称和参数,在业务系统中执行操作,再返回
RESPOND或ERROR。 - 确认智能体在收到响应后继续运行,并以
done: true结束。
响应帧见 WebSocket API 参考,工具执行责任和结果格式见定义用户工具包。
轮换或撤销 Token
为同一渠道账号创建第二个 wst_,并使用不同于旧 Token 的 Token 名称。让客户端使用新 Token 建立并验证新连接,再选择 停用旧 Token。客户端必须重连;现有连接不能在原连接中更换 Token。
停用、删除或重置旧 Token 会阻止下一次鉴权,但不会主动关闭已经鉴权的连接。需要立即切断时,对渠道账号选择 停用,关闭该账号的全部连接。这个操作会同时影响该账号下使用其他 Token 的客户端,并停用该账号的所有 WebSocket Token。恢复步骤参见停用或删除 WebSocket 渠道账号。
选择 编辑并修改渠道账号的 绑定对象 后,应让客户端重连并重新执行消息往返测试,不要依赖保持在线的旧连接自动切换路由。
停用或删除 WebSocket 渠道账号
选择 停用 WebSocket 渠道账号会关闭该账号的全部连接,并停用绑定到该账号的所有 WebSocket Token。重新启用渠道账号不会自动启用这些 Token;恢复账号时选择 启用。
临时停用后恢复服务:
- 对渠道账号选择 启用。
- 打开 凭证管理 的 WebSocket Token,只选择 启用或替换仍需要使用的 Token。
- 让客户端重新连接,并完成鉴权、心跳和消息往返测试。
永久删除账号时,先选择 停用并确认连接已经结束,再选择 删除。删除前应盘点客户端保存的 Token 和连接配置;删除平台内的渠道账号不会修改客户端配置。
处理模板绑定
WebSocket 账号绑定智能体模板时,业务系统需要代表渠道用户发送 /init 消息。user_id 是用户绑定和专属实例创建的关键标识,必须稳定且不可被不同终端随意复用。
如果只需要把所有消息转发到一个运行实例,选择实例绑定,避免引入动态实例生命周期。