v25

latestSwagger 2.0raw.githubusercontent.com2026-08-04171221502.5 KB
【用户】任务管理

任务数据流 WebSocket

功能定位:该接口通过 WebSocket 转发任务运行数据。任务对话继续输入使用 type=user-input。 数据格式约定:当前仅支持文本帧透传。服务端将 Agent 的原始文本数据包装为如下结构返回给前端(对应 domain.TaskStream):

{ "type": "string", "data": "string", "kind": "string", "timestamp": 0 }

user-input 上行新格式:

{ "type": "user-input", "data": "{\"content\":\"57un57ut5aSE55CG6L+Z5Liq6Zeu6aKY\",\"attachments\":[{\"url\":\"https://example-bucket.oss-cn-hangzhou.aliyuncs.com/temp/a.txt\",\"filename\":\"a.txt\"}]}" }

user-input 上行旧格式仍兼容:

{ "type": "user-input", "data": "继续处理这个问题" }

user-input 下行和历史返回统一使用新 JSON payload 字符串:

{ "type": "user-input", "data": "{\"content\":\"57un57ut5aSE55CG6L+Z5Liq6Zeu6aKY\",\"attachments\":[]}", "timestamp": 0 }

attachments 为可选附件列表,最多 10 个;每项包含 urlfilename,URL 需要匹配后端配置的附件白名单前缀。 type 字段说明:

  • task-started: 本轮任务启动
  • task-ended: 本轮任务结束
  • task-error: 本轮任务发生错误
  • task-running: 任务正在运行
  • task-event: 任务临时事件, 不持久化
  • file-change: 文件变动事件
  • permission-resp: 用户的权限响应
  • auto-approve: 开启自动批准
  • disable-auto-approve: 关闭自动批准
  • user-input: 用户输入
  • user-cancel: 取消当前操作,不会终止任务
  • reply-question: 回复 AI 的提问
  • cursor: 历史游标,用于通过 /rounds 接口加载更早的轮次

cursor 消息结构:

{ "type": "cursor", "data": { "cursor": "<nextCursor>", "has_more": true }, "timestamp": 0 }
  • cursor: 当前分页游标,作为 GET /rounds 接口的 cursor 参数向前翻页
  • has_more: 是否存在更早的轮次。为 false 时表示当前轮次即为第一轮,无需再翻页
get/api/v1/users/tasks/stream

Query parameters

idstring required

任务 ID

modestring

模式:new(等待用户输入)|attach(仅拉取当前轮次),默认 new

Response

成功

codeinteger
{"stackTrail":"components:schemas:web.Resp:properties:data","oasType":"schema","type":"unknown"}
messagestring