构建 Wiki

更新时间:
复制 MD 格式

使用 IngestWiki 接口冻结当前来源并异步构建一组新的 Wiki 页面。新构建成功发布前,当前已发布页面保持可读。

前提条件

  • 已创建 AgentStorage 实例且状态为 normal,并获取实例访问地址(endpoint)和实例名。

  • 已创建 API Key。

  • Wiki 操作使用完整三段 Agent Scope(appId/tenantId/agentId),每段非空且不能为 *,最长 128 字节,不能包含 /;不要传入 runId。

  • 来源保存在指定 memoryStoreName 和三段 Agent Scope 下的 /.wiki/raw/ 目录。上传与构建使用相同的 appId、tenantId、agentId,均省略 runId。

Wiki 来源文件通过 AddItem 接口写入上述 /.wiki/raw/ 目录,使用与构建相同的三段 Agent Scope 并省略 runId;这是文件操作 Scope 规则的例外,其他文件操作需完整四段 Scope(含 runId),详见《创建文件》。上传示例:

{
  "type": "memoryfile",
  "memoryStoreName": "agent_memory",
  "scope": {
    "appId": "app-001",
    "tenantId": "user-001",
    "agentId": "assistant"
  },
  "path": "/.wiki/raw/payment-spec.md",
  "content": "# 支付规则\n退款需提供订单号。\n"
}

请求参数

字段

类型

必填

说明

memoryStoreName

string

是

记忆库名称。

scope

object

是

完整三段 Agent Scope,规则与 GetWiki 相同。

clientToken

string

否

幂等标识,最长 256 字节。相同来源和标识可安全重试。

dreamActionRefs

array

否

本次构建要包含的 Dream 产物引用,最多 100 个。

dreamActionRefs[].dreamId

string

是

已完成 Dream 的 ID,最长 128 字节。

dreamActionRefs[].actionId

string

是

已应用的产物动作 ID,最长 128 字节。

dreamActionRefs 只对本次构建生效。引用必须属于同一记忆库和 Agent,且对应已应用、仍有效的 Skill 或 Profile 产物;重复引用会被拒绝。

请求示例

使用 API Key 认证时,通过 x-ots-instancename 和 x-ots-apikey 请求头传入实例名和 API Key。

curl -X POST https://<endpoint>/IngestWiki \
  -H "x-ots-instancename: <instance-name>" \
  -H "x-ots-apikey: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "memoryStoreName": "agent_memory",
  "scope": {
    "appId": "app-001",
    "tenantId": "user-001",
    "agentId": "assistant"
  },
  "clientToken": "payment-wiki-20260904"
}'

响应

字段

说明

status

新构建的初始状态,通常为 pending;来源未变化时可为 ready。

reused

是否根据相同 clientToken 复用了已存在的构建。

skipped

是否因来源没有变化而跳过构建。

{
  "status": "pending",
  "reused": false,
  "skipped": false
}

构建为异步过程,发起后需轮询 GetWiki 返回的 latestBuild.status 直至 ready 或失败。没有可用来源时返回 400 VALIDATION_ERROR。