# dsh-daoing-memory > 面向 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)的自进化记忆系统 —— 挣得式经验、日记/事实语义记忆、关心事项追踪,以及只增不删的审计账本。 [English →](./README.md) 没有记忆的 agent,每个会话都从零开始。`dsh-daoing-memory` 为 DSH agent 提供一套**持久、能自我进化**的记忆,而且这份记忆是靠*使用*一点点“挣”来的:它记日记、从中提炼关于用户的持久事实与未了心事、沉淀经过验证的经验、在需要时召回相关内容、发现错了就修订,并把每一次变更都记进可审计的账本。 整套设计围绕四个字 —— **生 · 用 · 修 · 记**。 --- ## 为什么做 市面上大多数“记忆”方案,要么把原始对话一股脑灌进向量库,要么让模型随意往一个键值块里写东西。两者在实践中都会失败:前者让信号淹没在噪声里,后者让一次幻觉污染此后所有会话。 `dsh-daoing-memory` 采取了不同的立场: - **记忆必须靠挣。** 一条经验以低信任的*候选*身份诞生,只有在真实使用中被反复证实后才晋升。没有任何东西能靠“钦定”直接获得高信任。 - **两种截然不同的记忆。** *语义记忆*(关于用户的持久事实 + 他们在意的未了心事)与*经验记忆*(带生命周期的 how-to 知识)分离,二者的写入、召回与治理方式各不相同。 - **每次写入都可审计。** 只增不删的账本记录每一次变更,记忆漂移或被投毒时可被察觉、可被归因、可被回滚。 - **人始终在回路中。** 浏览器工作台让你阅读、纠正、晋升、删除记忆——记忆是人机共享的资产,而非黑盒。 ## 功能一览 | 模块 | 提供能力 | | --- | --- | | **日记(记)** | `memory_fact` —— 追加原始会话笔记,是一切提炼的原料。 | | **提炼(生)** | `memory_extract` —— 把日记蒸馏成持久**事实**(9 类以用户为中心的类别,自动去重并累积佐证)与**关心事项**(todo / 思考 / 想法 / 问题 / 决定 / 承诺,均带背景场景)。 | | **经验生命周期(生·用·修)** | `memory_ingest`、`memory_report`、`memory_revise`、`memory_refine`、`memory_verify` —— 经验以候选身份诞生,靠上报使用挣得信任,错了就修订,并能干净回滚。 | | **召回(用)** | `memory_recall` —— 在共享经验库上做关键词/情境相关性匹配,支持可选的 context 范围限定。 | | **审计** | `memory_ledger`、`memory_verify` —— 查询只增不删的账本并校验完整性。 | | **整合** | `memory_consolidate` —— 周期性的压实与库内清理。 | | **画像注入** | 把一份精简画像快照(头部事实 + 未了心事)注入系统提示词,让 agent *无需发问就了解用户*。 | | **工作台 UI** | 浏览器面板(事实日记 / 经验 / 账本 / 人工运维),可手动检视与治理记忆。 | | **提炼 skill** | 随包附带 `memory-extraction` skill,教会 agent *何时、如何*提炼出高质量记忆。 | ## 安装 支持两种 DSH 环境 —— **源码启动**的 DSH 与**官方命令安装**的 DSH;也支持两种安装渠道(npm 包名,或 git/GitHub 地址)。完整的安装/卸载/skill 放置矩阵见 **[docs/INSTALL.zh-CN.md](./docs/INSTALL.zh-CN.md)**。 官方安装版 DSH 的快速上手: ```sh # 从 npm(发布后) dsh plugin --profile web add dsh-daoing-memory # 或直接从 GitHub dsh plugin --profile web add github:daoing/dsh-daoing-memory # 把提炼 skill 放到 DSH 加载 skill 的目录 node node_modules/dsh-daoing-memory/scripts/install-skill.mjs ``` 然后重启 DSH。记忆工具即对 agent 可用,画像快照开始注入,网页左侧边栏底部(设置入口旁)出现**记忆监控**按钮,点击即打开 **Memory** 工作台。 ## 使用 安装后,agent 获得一组 `memory_*` 工具。典型流程: 1. 会话进行中,agent 用 `memory_fact` 追加原始笔记。 2. 到自然停点,运行 `memory_extract` 提炼事实与关心事项(由 `memory-extraction` skill 引导)。 3. 之后的会话里,`memory_recall` 召回相关经验;系统提示词中已自带一份精简画像快照。 4. 某条经验被证实有用就 `memory_report`;发现错了就 `memory_revise`。 5. 你也可以在 **Memory** 工作台里手动检视与治理一切。 使用细节见 **[docs/INSTALL.zh-CN.md](./docs/INSTALL.zh-CN.md)**;当前已实现的范围见 **[docs/STATUS.zh-CN.md](./docs/STATUS.zh-CN.md)**。 ## 设计 架构、信任/挣得模型、数据 schema、防投毒边界,见 **[docs/DESIGN.zh-CN.md](./docs/DESIGN.zh-CN.md)**。实现现状与扩展方向见 **[docs/STATUS.zh-CN.md](./docs/STATUS.zh-CN.md)**。 ## 目录结构 ``` dsh-daoing-memory/ ├── lib/ # 预构建产物(host + 浏览器 bundle + typert) ├── src/ # TypeScript 源码(供参考与迭代) ├── skill/ # 随包附带的 memory-extraction skill(独立 .md) ├── cordis.patch.yml # 把插件接进 DSH 的 profile patch ├── scripts/ # prepare 与 install-skill 辅助脚本 └── docs/ # INSTALL · DESIGN · STATUS · BUILDING · FAQ · MIGRATION ``` ## 构建与发布 本仓库直接携带构建产物(`lib/`),因此安装它**无需** DSH monorepo 工具链。包如何产出、如何发布到 npm、如何上架 DSH 插件市场,见 **[docs/BUILDING.zh-CN.md](./docs/BUILDING.zh-CN.md)**。 ## 许可 [MIT](./LICENSE) © daoing