# DSH Dream 与长期记忆 [English](README.md) · [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) · [安全说明](SECURITY.md) 从**有权限访问的真实 DSH 会话**提取每日记录、Dream、周记和长期事实;新会话按需召回少量相关记忆,而不是每轮读取全部聊天历史。 ## 三种整理与长期记忆的区别 | 类型 | 做什么 | 输出 | | --- | --- | --- | | 每日记忆 | 整理目标日期的合规用户消息 | `memory/YYYY-MM-DD.md` | | Dream | 从一段时间的经验提炼主题、候选事实 | `DREAMS.md` 与待核验候选 | | 每周复查 | 汇总上一周的每日记忆、核对日期覆盖并归档旧日记 | `memory/weekly/` | | 长期记忆 | 来源验证、候选审阅或按规则自动晋升 | `MEMORY.md` 受管区 | | 自动召回 | 针对当前问题检索少量已发布事实 | 当前会话的参考上下文 | 候选事实不等于已确认事实。原始 DSH Session Log 始终是出处真源,日记摘要不能冒充原始用户证据。 ## 安装与兼容性 具体 DSH/Node/peer 依赖见 [package.json](package.json)。 ```sh dsh plugin --profile desktop add github:Kerberos255/dsh-memory-dreaming ``` 请按实际 Profile 替换名称;安装或更新插件代码后重新打开 DSH。 ## 快速开始 1. 打开「设置 → 插件 → Dream 与长期记忆」,选择 DSH 已配置的整理模型。 2. 先使用「整理今日记忆」「Dream 整理」「复查本周」手动运行,检查会话/消息范围与来源诊断。 3. 在候选区查看原始出处,手工确认长期事实;如希望无人值守,再开启符合条件的自动晋升。 4. 根据需求开启 DSH 原生计划任务。**自动计划和自动晋升默认关闭**,不会自行启动。 5. 希望从 Discord/飞书私聊学习或召回时,先在 Channel Core 核验主人身份和工作区边界。 ## 工作区、检索和分批处理 - 同一工作区下的合规 Session 可跨 Agent 预设处理,但普通子代理、工具文本、未认证的渠道消息不作为私人记忆来源。 - 每日按配置时区的目标日期、每周按指定日历周、Dream 按回顾窗口筛选;会话多时按模型预算分批处理,完整成功才提交处理游标。 - 模型截断会拆批或有界重试;失败保留既有内容并提供诊断,不伪称成功。 - 已发布事实可通过关键词和可选 Embeddings 检索;具体召回范围见下文。 - 召回按当前会话的权限和问题选择少量相关事实,不把全部 `MEMORY.md` 或原始会话复制进提示词。 ## 语义召回与永久历史 - `memory_search` 可以主动检索已发布的长期事实,以及当前日记、周记和结构化历史归档;历史材料会标明来源与未审核状态,**未审核历史不会进入可信自动召回**。 - 自动召回有 `autoRecallMode`(关键词、语义失败回退、混合模式)和数量/字符上限。向量模型是可选增强,失败时回退词语检索,不要求必须配置 Embedding。 - 历史归档存放在 `memory/history/{daily,weekly,monthly,notes}/`,按工作区增量索引;不会把账号配置、原始迁移会话或其他不相关目录纳入归档检索。 ## 数据安全和清理 SQLite 保存任务、来源游标、候选和写入恢复状态;Markdown 是工作区实际记忆文件。每日归档仅在完成周记和哈希校验后移动合规日记,过了保护期才清理;人工改动会阻止自动覆盖与删除。真实模型/计划任务仍需在宿主环境验收。 配置:[config.example.json](config.example.json) · 测试:`npm test` · [变更记录](CHANGELOG.md) · [安全说明](SECURITY.md)。 相关:[Channel Core](https://github.com/Kerberos255/dsh-channel-core) · [指令文件与角色](https://github.com/Kerberos255/dsh-instruction-files) · [无损上下文](https://github.com/Kerberos255/dsh-lossless-context)。 许可证:[MIT](LICENSE)。 ## 自然语言项目与任务状态追踪 Dream 可从已授权的用户消息中提取任务,结合上下文、别名和历史任务候选自动关联稳定的项目/任务 ID;**用户不需要填写固定项目名或任务 Key**。任务状态独立记录为需求、进行中、受阻、完成、取消、重新开启,保存时间和逐字出处。不同子任务及同名跨项目任务不强行合并,不确定的匹配先分开保存。状态查询会返回有日期的任务历史;这是**用户陈述**,不代表代码、部署或工具验收已完成。草稿整理不会发布任务状态,遗忘及渠道权限撤销也会限制检索。 每日、Dream、每周有独立默认整理提示词,并能在设置页编辑、恢复默认。JSON 协议与来源核验仍由代码强制执行。旧日记继续可检索,但结构化任务索引仅随着新的成功整理逐步建立,不会自动迁移老日志。 ## 自动记忆失败通知(可选) 自动维护工作流首次确认失败、且已写入执行账本后,Dream 发布轻量的 `dsh/task-alert` 事件,包含任务 ID、类型与失败状态,不包含聊天原文、日记正文或模型错误详情。手动整理、正常完成及无新材料不通知。安装 Channel Core 并开启「通用与会话 → 任务通知」后,可以选择飞书或 Discord 的已核验主人私聊接收告警;**Dream 本身不依赖渠道插件**,未安装或未开启通知都不会影响整理任务。进程停止期间不保证补发。