OOpenClaw.NET中文文档

MetaSkill 调用 API

源文件 docs/zh-CN/integrations/meta-skill-invocation-api.md

POST /api/integration/meta-invocations 会在现有会话中直接执行明确指定的 MetaSkill DAG。它不会提交聊天消息,也不会启动外部 workflow。

身份验证#

使用 Gateway 标准 operator 身份验证,并确保调用方具有 integration.mutate 权限。Bearer operator token 通过 Authorization header 传入。使用浏览器会话时,还必须发送登录时返回的 X-CSRF-Token header。endpoint 会先执行现有的 operator 授权和速率限制检查,然后才读取幂等键或请求 body。

调用方必须有权写入请求中的现有会话。系统会在查找或声明幂等键之前检查会话所有权,因此被拒绝的请求不会占用该键。

请求#

发送唯一的 Idempotency-Key header(最长 200 个字符),并在 JSON body 中提供以下三个字段:

POST /api/integration/meta-invocations HTTP/1.1
Authorization: Bearer <operator-token>
Idempotency-Key: incident-2026-10-02-run-1
Content-Type: application/json

{
  "skill": "incident-review",
  "input": "Review incident INC-123 and identify the next action.",
  "sessionId": "incident-123"
}

skill 和 sessionId 不能为空。input 可以是字符串或 null。幂等键按已认证的调用方隔离,不同调用方可以独立使用相同的键。使用相同的 skill、input 和 sessionId 重试同一个键,会返回原调用状态或已完成结果;同一个键对应不同请求时会返回冲突。

响应#

HTTP 状态 含义
200 OK 调用已完成。重放请求会返回持久化的结果。
202 Accepted 相同请求仍在执行中。响应包含原始 invocationId 和 Running 状态;使用相同的键和请求重试即可查询状态。
409 Conflict 幂等键已用于不同请求,或调用状态为 Uncertain。键冲突返回错误对象;不确定调用会返回其 invocationId、Uncertain 状态和错误信息。

已完成响应示例:

{
  "invocationId": "3a1d3589-2856-4f6b-b572-9f9e060db134",
  "status": "Completed",
  "result": "The next action is to rotate the affected credential.",
  "createdAtUtc": "2026-10-02T12:34:56Z"
}

JSON 无效或缺少必填字段时返回 400 Bad Request;会话不存在时返回 404 Not Found;调用方无权访问会话时返回 403 Forbidden。

幂等与恢复#

调用声明和终态结果保存在已配置的 Gateway Memory.StoragePath 下。Gateway.MetaInvocations.RetentionDays 控制已完成和不确定记录的保留时间,默认值为 30 天。请将该值设为不短于任何调用方的最长重试期限,包括 DrasiWake outbox 的最长重试期限,避免重试发生时去重记录已过期。

如果执行失败、被取消,或进程在持久化终态之前停止,该调用会标记为 Uncertain。系统不会自动重试不确定的调用;调用方或运维人员需要先协调确认执行结果,再决定如何继续。使用相同键重试会返回已保存的不确定状态。

该 API 提供持久化去重和结果重放,但不保证在任意进程、机器或外部副作用故障下实现 exactly-once。对于同一个逻辑请求,调用方应在每次重试时保留相同的键;只有确实要发起新的调用时才使用新键。

本页由 docs/zh-CN/integrations/meta-skill-invocation-api.md 静态生成 · 快照 2026-10-03
站内以 虚线 标注的链接指向未包含在本中文站点内的源文件。