列出 Dream 动作

更新时间:
复制 MD 格式

使用 ListMemoryDreamActions 接口列出 Dream 任务产生的动作。结构化记忆 Dream 的动作可以是提案或已应用结果;文件记忆 Dream 的文件动作由服务自动应用。支持两种查询模式:按 dreamId 查询,或按 scope+actionType 查询(仅 EMIT_SKILL/EMIT_PROFILE);两者互斥。

前提条件

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

  • 已创建 API Key。

  • Dream 为异步任务,动作在任务执行过程中产生;文件 Dream 的动作由服务自动应用,不能再传给 ApplyMemoryDreamActions。

请求参数

字段

类型

必填

说明

memoryStoreName

string

是

记忆库名称。

dreamId

string

否

整理任务 ID(与 scope 二选一)。文件 Dream 使用此查询方式。

scope

object

否

按 Scope 查询(与 dreamId 二选一),此时 actionType 必填且仅支持 EMIT_SKILL/EMIT_PROFILE。

actionType

string

否

按 scope 查询时必填,仅支持 EMIT_SKILL/EMIT_PROFILE。

targetScope

object

否

按动作的目标 Scope 过滤,可按层级使用 *。

sourceMemoryId

string

否

按结构化动作的来源记忆 ID 过滤。

status

string

否

动作状态过滤:proposed/applied/skipped/failed。

action

string

否

动作类型过滤。结构化 Dream 支持 ADD/UPDATE/DELETE/MERGE/NOOP;文件 Dream 使用 ADD/UPDATE/DELETE。

minConfidence / maxConfidence

float

否

结构化动作的置信度过滤,0~1。

orderBy

string

否

排序:created_at_asc(默认)/created_at_desc/confidence_desc。

limit

int

否

返回数量,默认 100,最大 100。

nextToken

string

否

下一页标记。

请求示例

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

curl -X POST https://<endpoint>/ListMemoryDreamActions \
  -H "x-ots-instancename: <instance-name>" \
  -H "x-ots-apikey: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "memoryStoreName": "agent_memory",
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "limit": 20
}'

响应

结构化记忆动作响应示例

{
  "memoryStoreName": "agent_memory",
  "dreamId": "2a528008111f5dc3500c73fd965089f7",
  "actions": [
    {
      "dreamId": "2a528008111f5dc3500c73fd965089f7",
      "actionId": "968768529cdfde8d56686a71e1c28227",
      "action": "UPDATE",
      "status": "proposed",
      "targetScope": { "appId": "app-001", "tenantId": "user-001", "agentId": "__default__", "runId": "__default__" },
      "targetMemoryId": "d16fd038835d89ae8586f7814e5256c1",
      "newMemory": { "text": "User prefers concise responses.", "unitType": "atomic_fact" },
      "reason": "改写为更准确的 atomic_fact 表述。",
      "confidence": 0.95,
      "createdAt": "2026-06-17T07:21:32.161Z"
    }
  ]
}

文件动作动作响应示例

文件 Dream 动作额外包含以下字段。

字段

说明

targetScope

文件动作唯一允许写入的输出 Scope。

itemChange.itemId

UPDATE 或 DELETE 的目标文件 ID。

itemChange.path

ADD 的新路径,或 UPDATE 后的新路径。

itemChange.content

ADD 或 UPDATE 后的 UTF-8 文本正文。

itemChange.expectedVersionId

UPDATE 或 DELETE 使用的并发前置版本。

itemChange.sourceVersionIds

该结果依据并承载的来源文件版本。

resultItemId、resultVersionId

动作成功后对应的文件 ID 和结果版本 ID;删除动作返回删除版本。

{
  "memoryStoreName": "agent_files",
  "dreamId": "a83e4877f94443229969ec72b8b75e1d",
  "actions": [
    {
      "actionId": "fcac40d0b2ef4df59cf101b2b1570d83",
      "action": "ADD",
      "status": "applied",
      "targetScope": {
        "appId": "project-app",
        "tenantId": "team-a",
        "agentId": "shared-agent",
        "runId": "knowledge"
      },
      "itemChange": {
        "path": "/deployment.md",
        "content": "# 部署约定\n\n……",
        "sourceVersionIds": ["<source-version-1>", "<source-version-2>"]
      },
      "resultItemId": "<result-item-id>",
      "resultVersionId": "<result-version-id>",
      "reason": "合并重复的部署说明并保留不同项目的适用条件"
    }
  ]
}

文件动作由服务自动应用,不能再传给 ApplyMemoryDreamActions。任务结束后,应翻完全部动作并使用文件 API 回读输出 Scope。