跳转到主要内容
通过 WebSocket 与专家对话,实时流式接收回复,并管理对话线程。

WebSocket 端点

由于浏览器 WebSocket API 不支持自定义头,令牌需作为查询参数传递,而不是 Authorization 头。

消息帧

向专家发送一轮对话:
服务器以流式块回应:
回复完成时发送:
若发生错误:
为保持连接存活,可发送 ping/pong 帧:
断线本身不会取消正在进行的回合。重连后发送 subscribe 可挂接到仍在流式输出的线程;服务器以 turn_status 回应:
显式停止当前回合:
thread_id 在整个对话中保持不变。若需在断开后恢复会话,请使用创建线程时返回的 session_key。页面刷新后先拉 history,根据 turn_active 再决定是否 subscribe。

线程管理

创建线程

响应:

获取历史记录

支持 limit 和 offset 分页参数。响应还包含布尔字段 turn_active:为 true 时,请重新打开聊天 WebSocket 并发送 {"type":"subscribe","thread_id":"..."} 以恢复流式输出。

重命名或固定线程

润饰端点

在实际发送之前优化用户输入的提示词文本:
响应:
可选参数 default_model 可用于覆盖润饰时使用的模型。

分叉会话

POST /api/agents/{id}/threads/{thread_id}/fork 把一段对话复制成新线程,截止到指定的专家回复。原对话不变。传 assistant_turns_from_end: 1 可从最新一条回复分叉,或传入 message_id。专家需要处于运行中。

文件与知识库引用

线程列表和历史会带上专家生成的文件(例如写文件、桌面截图),以及回复用到知识库时的来源文档。页面里点击引用可在聊天中预览文档。

运行轨迹

GET /agents/{id}/threads/{thread_id}/trajectory* 对应聊天里的运行轨迹抽屉:分页事件摘要、单条完整事件、汇总指标、实时 SSE 和导出。需要审计回合与工具调用时用这些接口,不必刮页面。
润饰端点很适合用于 UI 中的“润饰提示词”按钮——在实际发射前帮用户把输入润色为更清晰、更具体的提示词。