Skip to main content
本页说明如何启动、查询和取消 Agent Run,以及如何正确使用会话标识和幂等键。 基础地址:https://meoo.com/open/v1

启动新会话或继续会话

所需权限:agent.run

查询可选模型和档位

所需权限:agent.run。返回当前可选模型、三种性能档位和默认值;模型目录可能随服务配置变化,不要硬编码。目录不可用或没有可选模型时返回 503 service_unavailable
上述模型仅为示例,实际必须精确使用本次 models[].id 的 canonical 值;内部别名、未知或已下线的 ID 会被拒绝。fast 优先较低延迟,standard 平衡延迟、质量和消耗,deep 使用更多推理能力并可能增加延迟和消耗。

请求头

相同逻辑消息因网络超时而重试时,复用原 Idempotency-Key;用户发送新消息时必须生成新值。服务端在当前 24 小时内部准入窗口内识别重复请求。

请求体

字段说明
  • message(string,必填):1~100000 字符,不能全为空白
  • conversation_id(string,可选):不传则创建会话;传入则继续项目内已有会话
  • attachments(object[ ],可选):1~10 项,详见 附件与 Skills
  • skills(object[ ],可选):0~20 项,详见 附件与 Skills
  • model(string,可选):capabilities 当前返回的 canonical 模型 ID;省略时使用当前 defaults.model
  • speed_tier(string,可选):faststandarddeep;默认 standard
  • disable_cloud(boolean,可选):默认 falsetrue 仅本次 Run 禁用全部 Meoo Cloud CLI 能力,详见下文。
  • yolo(boolean,可选):true 开启 YOLO 并保存状态;false 或不传不主动开启,也不能清除已持久化的 true
请求对象为严格 Schema。modelspeed_tierdisable_cloud 是公开支持字段;内部 mode 仍不支持通过 OpenAPI 选择。不要传递内部用户 ID、MCP 配置或 Web 端扩展字段。 modelspeed_tier 按每次启动请求独立选择,任一字段省略时使用当前 capabilities 的对应默认值;继续同一会话也不继承上次选择。希望保持配置时必须再次显式传入。 服务端解析后的 modelspeed_tier 会参与 Idempotency-Key 请求摘要;同一键改动任一字段,或省略模型但默认模型已经变化时,会产生幂等冲突。disable_cloud: true 也参与摘要,false 与省略等价。超时重试请复用原键及相同配置。

新会话示例

继续会话示例

conversation_id 必须属于路径中的项目。会话不存在、属于其他项目或当前用户不可访问时返回 404

YOLO 自动决策

需要 Agent 按服务端预置自动决策处理可自动确认的步骤时,可以发送:
yolotrue 时会开启本次 Run 的 YOLO,状态会写入现有 Agent 状态快照,并供同项目后续 Run 继承。false 或不传不会主动开启,也不能清除已经持久化的 true。YOLO 仅应用预置自动决策;需要真人完成的 OAuth、Secret 或 Input 场景仍可能按现有策略取消或关闭。该字段不会改变 HTTP 响应或 SSE 事件 Schema。

单次运行禁用 Meoo Cloud

disable_cloud: true 禁用整个 meoo-cli cloud 命令域,包括帮助、读取、开启、绑定、数据库、鉴权、存储和云函数;项目已有云服务也不放行。不会产生云能力确认卡,yolo 不能绕过。 该参数只对本次 Run 生效。同一 Run 的工具恢复、进程恢复、上下文压缩和子 Agent 保留该策略;同一 conversation 的下一次 Run 重新解析参数,不传则恢复 false。若下一轮仍需禁云,请再次传 true 外部 API 和其他能力不受限制;缺少可用后端时使用 mock 数据和模拟交互,并在交付时说明模拟部分。该参数不关闭、删除或修改已有云资源,也不是项目级开关或通用网络隔离。受限云工具调用不会因此进入 input_required,Agent 应继续完成任务。

响应

run_idconversation_id 不是同一概念,必须分别保存。 start 响应报告已经校验并交给 Runtime 的本次 modelspeed_tier 选择值;GET .../agent/runs/current 返回最后持久化的选择。Run 刚启动、首次快照尚未更新时,current 不构成与 start 相同的原子确认。新增字段向后兼容,其他 Run 操作响应仍可能省略这两项。

查询当前或最近一次 Run

所需权限:agent.read 项目存在活动 Run 时返回活动 Run;否则返回项目最近一次终态 Run。项目从未启动过 Run 时返回 404
该接口适合页面刷新后的恢复,不应高频轮询替代 SSE。拿到非终态 run_id 后,重新订阅它的事件端点。如果状态为 input_required,只要阻塞工具仍有效,重连会签发新的 action_idexpires_at

取消 Run

所需权限:agent.run 请求体可以省略,也可以发送空对象 {}
成功后返回状态为 canceled 的 Run。Run 已经是 canceled 时幂等返回 200completedfailedinterrupted 等其他不可取消终态返回 409 not_cancelable;generation 等并发状态变化返回 409 run_conflict 取消请求成功只代表服务端已接受并完成取消状态收口;客户端仍应停止发送新的 Action 回复,并结束该 Run 的交互 UI。

状态与终态

终态为 completedfailedcanceledinterrupted。SSE 的 run.superseded 事件同样结束当前订阅;其 status 是旧 Run 的真实终态,并可能提供接管任务的 current_run_id 消费 SSE 时,最终 message.snapshot 和最终 run.usage(若有)均先于正常终态;正常终态是连接最后一个业务帧。积分可能分多次结算,按 usage_id 去重后累加,不要在收到终态前主动丢弃结算事件。

常见错误

下一步:使用返回的 run_id 订阅 事件流与 Action