# Dream / Reflection

理解 Dream 候选预览、基于人工审核的整合、控制台运行模式，以及分隔预览提议与 reflect 维护工具的明确边界。

- Canonical: https://docs.xmemo.dev/zh/docs/concepts/dream-reflection
- Locale: zh-CN
- Content-Locale: zh-CN
- Canonical-Content-Digest: 3e7b3df8ea8c94fd1d518674032b79705bd4d88c083d3d3add5929f5eda0610c
- Edition-Digest: a5ad990bb8dcb8c374d36d7fd36528176726f2623919027f62dee014392c62b3
- Source-Revision: sha256:6f8e110913bcc6793a7a5e098bcaed56d211e60f7e0895041fff8316967b9d49

## Dream 预览架构与显式审核工作流

Dream 是在 https://xmemo.dev/me#dream 的 Memory Console 中提供的一项由用户独立审核的 Preview 功能。它与 reflect 维护工具截然不同（后者通过 MCP/API 按需执行程序化整合处理；请参阅 /docs/tools/reflect）。Dream 并不会在后台执行静默变更，而是始终将用户的审核与保存选择置于核心，把分散的对话上下文整理为基于事实来源的候选记忆。

- 控制台工作区：在 https://xmemo.dev/me#dream 的 Memory Console 中，Dream 在副标题 "Review recurring patterns before they become long-term memory." 下提供交互式预览工作区。
- 用户主导审核：Dream 绝不会在后台篡改持久记忆；所有候选条目在发生任何目标写入之前均需要显式的人工检查与确认。
- 与 reflect 的区别：Dream 是一项独立的预览功能，生成的候选条目专供用户检查，未经显式人工确认绝不保存任何内容。相比之下，reflect 维护处理（/docs/tools/reflect）是一种内部工具，其 summarize 操作会读取活跃的情景记忆，并在 reflections/episodic 下写入基于来源的摘要。对于反复出现的事实，reflect 提供从情景记忆到语义记忆的 promote 操作，要求平均重要度至少为 0.35 且平均置信度至少为 0.6。其生命周期操作会执行 expire、decay 和 archive，其中 dry_run 可提供无目标写入的安全规划。
- 架构边界：Dream 候选生成严格属于一种预览机制，并不实现推测性的 Light、REM 或 Deep 多轮处理架构或自主后台变更。
- 安全故障姿态：如果运行停止或遇到问题，现有记忆将保持原样不被触碰（"Dream stopped safely. Existing memory was not changed."）。

## 账户可用性、计划目录状态与预览边界

Dream 仅在您的账户启用了 Dream 时严格运行。在生产环境中所有运行时控制默认关闭。公开文档避免公开内部配置标志。

- 账户可用性：Dream 仅在您的账户启用了 Dream 时严格运行。如果工作区未激活该功能，控制台会显示："Dream is not enabled for this workspace yet. Your memory remains unchanged."
- 目录状态：在产品计划目录中，Dream 未包含在 Free 梯队中，而 Plus 梯队列出了 Dream 能力。然而，文档并未声称 Plus 目前在实践中能够解锁 Dream，因为在商业强制执行处于非活跃状态时，个人后备提供商会拒绝访问。
- 缺陷边界：Dream 目前处于预览阶段，可能尚未为您的账户生成候选条目。基于模型的综合无法直接在交付的 Worker 环境中运行，且候选确认取决于服务器容量配置。
- 严格人工确认：系统强制执行严格的人工确认边界。文档明确否定所有关于自动保存或后台追加的说法；每一项提议的条目均需要用户手动许可。

## 运行生命周期、证据资格与过滤原因代码

Dream 运行会在可配置的观察窗口（默认为 30 天）内审查合格的记忆证据，以在不更改源记录的情况下识别反复出现的模式：

- 证据收集：预览运行会检查在观察窗口内创建的活跃且可召回的情景记忆（可通过 --window-days 自定义，最长可达 365 天）。
- 有据候选条目：合格证据被归纳为周期性主题，生成带有事实来源谱系和置信度分数（"Confidence Score"）的候选条目。
- 证据被过滤的原因：在控制台中，运行摘要使用标准化的原因标签汇报 "Why evidence was filtered"：score below threshold、insufficient occurrences、insufficient evidence days、insufficient query contexts、duplicate candidate、source not episodic、source inactive 以及 contradiction detected。
- 不含具体内容的运行摘要：完成的运行会显示审核摘要："Dream reviewed {{considered}} signals, generated {{generated}} grounded candidates, and saved {{promoted}} confirmed memories."，并附有安全保证："This report is review-only and never becomes Dream evidence."

## 控制台运行模式与调度预设

Dream 设置在控制台设置抽屉中提供对执行模式和评估调度的细粒度管控：

- 运行模式：用户可在两种行为模式之间进行选择："Preview only"（评估证据并生成可供审核的候选条目，不具备写入权限）与 "Allow explicit confirmation"（启用确认界面，以便用户能够审核并选择性提交单个候选条目）。
- 调度预设：执行频率通过三种预设进行配置："Manual only"（仅在控制台中选择 "Run Preview" 或发出 CLI 预览命令时按需运行）、"Daily around 03:00"（在用户本地时区 03:00 左右评估的每日计划运行）与 "Weekly on Monday around 03:00"（在用户本地时区每周一 03:00 左右评估的每周计划运行）。
- 计划运行限制：计划运行仅在 preview only 模式下运行；后台调度评估绝不会提交记忆写入或绕过人工审核。
- 时区锚定：计划运行使用用户浏览器的本地时区。

## 确认工作流、类型化产物与目标生命周期

提交候选条目采用仅追加（append-only）方式，需要显式的人工操作。控制台支持单条目确认及可选的类型化产物：

- 核心确认：在标准预览模式下，点击候选卡片上的 "Confirm and save" 按钮会在路径 dream/confirmed/... 下创建一条包含语义键 dream:confirmed:... 的新记忆记录。源记忆绝不会被编辑或覆盖。
- 类型化产物配置：当类型化产物可用时，设置抽屉会呈现问题 "What should Dream prepare?" 以及指引 "Choose what to generate. Turning a type off keeps existing drafts and saved content."
- 六种生成选项：(1) Preferences："Clarify your preferences"；(2) Knowledge："Distill knowledge worth keeping"；(3) Skills："Turn experience into reusable skills"；(4) Projects："Organize project memory"；(5) Patterns："Discover lasting patterns"；(6) Durable Memory："Build reusable long-term memory"。
- 生成开关与目标许可的区别：开启生成开关并不代表授予对目标的许可；所有准备好的结果都会显示在 "Prepared for your review" 下，需要手动审核。
- 候选审核操作：审核人员可以选择 "Save edits" 以修改提议的标题和内容、"Review later" 进行延后、"Reject" 予以舍弃，或接受到目标存储中。
- 按目标接受：Knowledge 通过 "Add draft to knowledge base" 作为 DRAFT 接受到所选知识库中（伴随搜索索引状态："Saved. Preparing for search."、"Search index is ready. Publication is a separate choice."、"Saved, but indexing needs another attempt."）；Skill 通过 "Add draft to Cloud Skills" 作为 DRAFT 接受；Project 通过 "Confirm project organization" 接受（项目关联产物是将现有记忆重新分配给项目工作区的唯一途径）；Memory 通过 "Save as memory" 接受。
- 移除：已确认的结果将成为各自存储中的标准记忆、知识库草稿或技能草稿。它们可以通过控制台或 API 的标准移除操作进行删除；不存在专门针对 Dream 的回滚或撤销机制。

## 工作区隔离、团队边界与 CLI 操作

工作区权限和 CLI 工具强制执行严格的多租户边界与角色能力：

- 工作区定界：控制台顶部标语将活动工作区标识为 "Personal space" 或 "Team space"。
- 团队权限：在 Team 空间中，只有团队所有者和管理员才能修改 Dream 设置、取消正在运行的会话或确认候选记忆（"Only Team owners and admins can change Dream settings."）。
- 团队类型化产物限制：类型化产物在 Team 空间中不可用。Team 工作区仅以 preview-only 或 v1 记忆确认模式运行。
- 经检验的 CLI 命令：xmemo CLI（指定提交 d412c7866b7a4c8eedb3a0cf40748c6aef8707ec，src/commands/dream.js）支持三个经过检验的命令：xmemo dream preview [--window-days <n>] [--wait] [--json]（触发预览；如果预览被禁用，则会以 "Dream preview is disabled; CLI will not change Dream settings." 进行闭环失败处理）、xmemo dream show <run-id> [--wait] [--json]（显示候选条目；支持使用 --receipt-out 输出已读回执）以及 xmemo dream apply <run-id> --item <id> --from <view.json> --yes [--json]（使用 v1 confirm 端点确认候选条目）。
- CLI 操作边界：CLI 无法修改 Dream 配置设置（设置必须在控制台中管理），且 dream apply 仅在 v1 记忆确认模式下工作（不执行类型化产物变更）。

```bash
# Trigger a candidate preview across a 30-day window
xmemo dream preview --window-days 30 --wait --json

# Inspect candidate proposals and record a read receipt
xmemo dream show <run-id> --receipt-out receipt.json

# Confirm a candidate proposal into memory via v1 confirmation
xmemo dream apply <run-id> --item <item-id> --from view.json --yes
```

## ChatGPT 用户

让 ChatGPT 持久访问你的 XMemo 偏好、项目事实、决策和 TODO，同时不把 bearer token 粘贴到聊天里。

通过 ChatGPT/OpenAI app 的 OAuth 流程连接托管 XMemo MCP server，然后为你的 XMemo 账户批准 memory:read 与 memory:write 授权。

保存一条合成偏好或项目笔记，开启新聊天，再让 ChatGPT 在继续工作前通过 XMemo 召回它。

如果 OAuth 失败或工具未出现，先在宿主应用里退出该 MCP server，重新连接 XMemo server URL 并重试，再考虑创建 direct token。

## Copilot / Codex 开发者

在 IDE 与 CLI agent 之间携带仓库决策、编码规范、bug 修复说明和任务历史。

在可用时对 VS Code / GitHub Copilot 和 Gemini CLI 使用 OAuth。对于 Copilot CLI、Codex、Cursor 或其他直连 MCP 客户端，请在本地环境或密钥存储中保留 XMEMO_KEY，并设置稳定的 XMEMO_AGENT_INSTANCE_ID。

记录一条代码库决策或 bug 修复，然后让下一个 IDE 或 CLI agent 在编辑前召回相关 XMemo 上下文。

如果召回为空，检查所选 MCP 配置路径、direct client 的 XMEMO_KEY 环境变量，以及宿主应用中是否存在过期 OAuth 凭据。

## 团队 / 企业 pilot owner

用账户控制、来源归因、导出/删除流程和 reviewer-safe 设置证据来评估共享记忆。

创建或进入受保护的 XMemo workspace，邀请已批准用户，然后根据 readiness badges 通过 OAuth 或 scoped direct credential 连接各客户端。

让一名 pilot 成员保存一条合成团队记忆，在 XMemo 中确认来源归因，然后审阅删除/导出和支持路径。

如果成员无法连接，先检查角色权限、OAuth 批准、客户端 readiness 状态和支持指引，再签发新 token。

## 自主 agent operator

让 headless 或定时 agent 记录进度、取回历史决策，并保持稳定的非秘密实例身份。

获取 /api/v1/mcp/config/autonomous-agent。当 runner 支持 OAuth + 自定义 headers 时优先使用 auth_modes.oauth；只有完全 headless 的 runner 才使用 auth_modes.xmemo_key，并从密钥库读取 XMEMO_KEY。

运行一个会向 XMemo 写入进度的合成任务，重启 runner，并确认它使用同一个 XMEMO_AGENT_INSTANCE_ID 召回该进度。

如果归因变化或召回分散到多个实例，请把 XMEMO_AGENT_INSTANCE_ID 持久化到 git 之外，并确认 runner 不会每次启动都重新生成它。
