跳转到内容

消息与对话

消息是用户与 AI 交互的载体。用户发送消息,AI 流式返回回复,支持 Markdown 渲染、代码高亮、思考过程展示、工具调用卡片——整个过程实时可见。

类型说明渲染方式
💬 用户消息用户输入的内容纯文本
📝 AI 回复AI 生成的文本Markdown + 代码高亮
🧠 思考过程AI 的推理过程可折叠,Markdown 渲染
⚙️ 工具调用AI 请求执行的工具输入/输出卡片
📄 压缩摘要上下文压缩后的摘要(summaryMarkdown 渲染
📃 纯文本未格式化的文本内容(text纯文本
🔧 工具消息独立的工具角色消息(tool role)输入/输出卡片
ℹ️ 系统消息系统通知纯文本

MessageRole 共 4 种:userassistantsystemtool ContentType 共 6 种:textmarkdownsummarythinkingtoolcall_inputtoolcall_output

消息采用本地优先策略:先存本地立即显示,后台异步同步。用户发消息后零等待即可看到消息出现在界面上。

同步状态用户看到的行为
pending消息显示发送中动画
synced消息正常显示
failed消息显示失败标记 + 🔄 重试按钮

💡 重试使用相同的 client_id,服务端幂等去重,不会产生重复消息。

每次 AI 处理构成一个 Turn,它有明确的生命周期:

状态含义用户看到的行为
Pending等待执行消息显示”处理中”
Running正在执行AI 流式输出,工具卡片闪烁
Interrupted等待工具执行工具卡片显示”执行中”
Completed正常完成AI 回复完整显示
Failed执行失败错误提示
Cancelled用户取消已停止标记
Merged合并到其他轮次不单独展示

AI 的回复逐字流式到达,用户无需等待完整回复:

流式消息通过 双频道 传输:

频道用途特性
Topic 频道首条 chunk + 最终完整消息持久化,支持离线恢复
Live 频道中间 chunk非持久化,低延迟,可容忍丢失

💡 最终完整消息通过 Topic 频道推送,即使中间 chunk 丢失,最终也能收到完整内容。

用户可随时停止正在执行的 Turn:

AI 的推理过程默认折叠,用户可选择展开查看:

特性说明
默认折叠节省界面空间
点击展开查看完整推理过程
流式动画生成时有脉冲动画效果
Markdown 渲染支持格式化显示

每次 RTC 工具调用以卡片形式展示,包含输入和输出两部分:

特性说明
分区展示输入参数和输出结果独立展示
JSON 格式化参数和结果自动美化
状态指示运行中(🟠 橙色脉冲)/ 完成(🟢 绿色)
复制按钮一键复制输入/输出内容

工具调用卡片界面

特性说明
📊 排序按发送时间升序(最早的在上)
📑 分页游标分页,从服务端加载历史消息
📜 自动滚动新消息到达时自动滚动到底部
🔔 离开提示用户滚动离开底部时显示”↓ 新消息”按钮
场景处理方式
发送失败标记 failed,显示重试按钮
幂等保证使用 client_id 去重,重试不产生重复消息
RTC 失败指数退避重试(1s → 2s → 4s → … → 30s 封顶)