跳转到主要内容
POST

概述

发送各种类型的事件到频道,包括流式文本消息和自定义事件。支持AG-UI协议事件,用于实时流式通信。

查询参数

force
string
默认值:"0"
强制结束频道中现有的流,然后开始新流
  • 0 - 不强制结束
  • 1 - 强制结束现有流

请求体

必传参数

client_msg_no
string
必填
客户端消息编号,必须唯一且不重复。用于标识和跟踪消息/流。对于流式消息,同一流中的所有事件应使用相同的client_msg_no。建议使用UUID格式。
channel_id
string
必填
目标频道ID,事件将发送到此频道。对于个人频道,这应该是目标用户ID。对于群组频道,这应该是群组ID。
channel_type
integer
必填
频道类型
  • 1 - 个人频道
  • 2 - 群组频道
event
object
必填
事件对象

可选参数

from_uid
string
发送者用户ID。如果未提供或为空,默认为系统UID。用于标识发送事件的用户。

响应字段

status
string
必填
操作状态,成功时返回 "ok"

状态码

流式消息机制

流式消息流程

  1. 开始流:发送 ___TextMessageStart 事件启动流
  2. 发送内容:发送多个 ___TextMessageContent 事件传输消息块
  3. 结束流:发送 ___TextMessageEnd 事件关闭流

重要注意事项

  • 同一流中的所有事件必须使用相同的 client_msg_no
  • 除非使用 force=1,否则每个频道只能有一个活跃流
  • 对于个人频道,系统会自动处理虚假频道ID生成
  • 事件会自动路由到适当的集群节点

事件类型详解

AG-UI协议事件

AG-UI协议事件用于实时流式通信,特别适用于AI应用:

自定义事件

任何不以 ___ 开头的事件类型都被视为自定义事件,可用于:
  • 用户状态更新
  • 系统通知
  • 业务逻辑事件
  • 应用特定的交互

使用场景

AI聊天机器人

实时协作

系统通知

最佳实践

  1. 唯一标识:使用UUID格式的 client_msg_no 确保唯一性
  2. 流管理:及时结束不再使用的流,避免资源浪费
  3. 错误处理:处理流冲突和发送失败的情况
  4. 权限验证:确保发送者有频道的发送权限
  5. 数据格式:对于复杂数据使用JSON格式的字符串
  6. 性能优化:合理控制流式消息的发送频率

错误处理

常见错误

重试机制

对于临时性错误,建议实现指数退避重试机制: