# @eduwork/dsh-memory 中文文档

规范地址：https://npmcn.com/package/%40eduwork/dsh-memory/

版本：0\.2\.1
npm 元数据更新时间：2026-11-05T01:24:40.316Z
中文译文更新时间：2026-11-13T07:36:31.469Z
软件包许可：MulanPSL-2\.0 AND MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40eduwork/dsh-memory
原文对照：https://npmcn.com/package/%40eduwork/dsh-memory/?lang=original
项目主页：https://github.com/ECNU/EduWork/tree/main/packages/dsh-memory#readme
源码仓库：https://github.com/ECNU/EduWork

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：454 kB，20 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24\.18\.0
- 运行依赖：0 个
- peer 依赖：zod ^4\.4\.3，react ^18\.2\.0，@deepseek-ai/cordis \>=4\.0\.5 \<4\.1\.0 \|\| 4\.1\.0，@deepseek-ai/dsh-llm \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-tools \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/schemastery \>=3\.18\.5 \<3\.19\.0 \|\| 3\.19\.0，@deepseek-ai/dsh-commands \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-settings \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-api-remotes \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-locale \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-session-query \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-storage-domain \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-storage-sqlite \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-typert-protocol \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-renderer \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1，@deepseek-ai/dsh-client-ui-settings \>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1
- 首次发布：2026-09-06T09:29:30.896Z
- 最新版本发布：2026-11-05T01:24:40.002Z
- 近 30 天下载量：2699（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

本地记忆和对话召回DeepSeek Harness

## 安装

```sh
npm install @eduwork/dsh-memory
```

也可以使用：`pnpm add @eduwork/dsh-memory`、`yarn add @eduwork/dsh-memory`、`bun add @eduwork/dsh-memory`

## README

# DSH Memory

包名：`@eduwork/dsh-memory`。基于 DSH 原生插件机制的本地记忆与跨会话检索，支持 Web 和桌面组合，机构无关。[English](https://npmcn.com/package/%40eduwork/dsh-memory/README_EN.md)

-   在任务之间保留有用背景，按需检索过往对话。
-   在设置中查看、编辑、保留或删除记忆。
-   记忆保存在本机，可独立导入和导出。

## 安装

版本 **0.2.0** 要求 Node.js 24.18+ 和 DSH 0.2.1-rc.2 或兼容的 0.2.x 正式版。包声明 API 范围，开发与验收依赖另行精确锁定；其他预发布系列需要单独核对兼容性。

```sh
dsh plugin --profile web add @eduwork/dsh-memory@0.2.0
dsh --profile web --dump-config
dsh --profile web
```

0.2.0 之前的包面向旧 DSH API。升级前先更新宿主，保留同一 DSH\_HOME，并替换原插件；不要同时加载两个版本。包中包含预构建客户端、Host、Remote 和 bundle，安装后重启相应 Profile。

## 使用

“设置 → 个性化”提供整体开关和过往对话检索开关，二者默认开启。工具辅助聊天自动写入默认关闭，明确要求记住的事实仍可保留来源引用。管理弹窗每页 10 条，支持搜索、修改、保留、普通删除和“遗忘且不再自动记住”。单条删除/遗忘可在 Host 未重启的 30 秒内撤销。

默认最多 400 条语义记忆（可配置为 16–10,000）；新增时可自动清理 30 天未使用的普通记录，容量满时按重要性、使用次数和时间淘汰。用户保留和模型关键记忆不参与自动淘汰；全部受保护时拒绝新增。遗忘标记仅存哈希，当前无总量上限，改写较大的同义事实仍可能绕过词法匹配。

保存/检索由当前模型按需调用工具完成。本版没有独立后台提炼与 consolidation 作业。跨会话检索复用 DSH 官方 Session Query / SQLite FTS5，原始会话仍由官方 JSONL 保存。

支持命令 `/memories on|off|reset` 和 `/memories use|generate|search on|off|inherit`；工具为 `memory_remember`、`memory_recall`、`memory_forget`、`memory_search_threads`、`memory_open_thread`。管理界面支持单次编辑撤销；删除全部记忆不可撤销，也会移除遗忘标记，但不删除原始会话。

## 数据与升级

保留 `local_memory` 域 v1、`records/session_policies/tombstones` 三表、`memories` 设置、`localMemories` 服务及 `memory.sqlite3/session-query-memory.sqlite3` 文件名。导出为 `dsh-local-memory` v2，含语义正文、来源及用户保留状态，不含原始 Session 或遗忘标记，因此导入不会转移防止重新记住的名单。导入上限为 8 MB / 10,000 行，并受记忆容量限制。

升级已有 Memory 安装时先备份数据，使用同一 DSH\_HOME/数据库路径，并替换旧包实例，不要新旧包同时加载。已有桌面组合已声明存储和插件行时只更新其包名，不重复叠加新 bundle。

保留既有实例 ID（独立 bundle 为 `local-memory` / `local-memory-sqlite`）；npm 包名不属于 SQLite 存储单元标识。公开导出保留 `./core`、`./spec`、`./typert`、`./remote`、`./client` 和 `./package.json`。

语义检索采用支持中日韩文本的词法匹配及近期性、重要性、使用次数信号。历史检索返回带 `dsh-session:` 引用的有界摘录，不返回全部会话库。

DSH Session V3 与 Memory 域和导出版本相互独立。旧会话读取和受支持的日志迁移由官方 DSH 负责；本插件不改写原始会话文件，也不提供用户目录整体导入流程。

## 开发与发布

`npm ci` → `npm run build` → `npm test`。构建不依赖主产品仓库、私有 wrapper 或上游源码 checkout。独立 Host/Web 验证使用被忽略的 `artifacts/` 下的新建 Profile，不使用日常 DSH\_HOME。

`npm run verify` 验证实际打包产物。可先运行 `npx playwright install chromium` 安装测试浏览器；使用已安装 Edge 时设置 `MEMORY_BROWSER_CHANNEL=msedge`（PowerShell：`$env:MEMORY_BROWSER_CHANNEL='msedge'`）。使用单独准备的 Runtime 时，运行 `npm run verify:runtime -- <runtime-root>`，在独立 stage 验证依赖解析并执行完整验证及三项契约检查，不修改共享 Runtime。仅设置 `MEMORY_RUNTIME` 不会重定向所有测试的静态导入。报告记录真实 Host 版本，测试仅用合成数据；依赖审计范围是本仓开发锁，不替代外部 Runtime 审计。干净安装检查及配置示例见 [开发说明](https://npmcn.com/package/%40eduwork/dsh-memory/docs/development.md)。

模块构建与 npm 发布通过 EduWork 的统一工作流管理，详见[包维护说明](https://github.com/ecnu/EduWork/blob/main/docs/PACKAGES.md)。

木兰 PSL v2；历史 MIT 代码及边界见 [LICENSING.md](https://npmcn.com/package/%40eduwork/dsh-memory/LICENSING.md)，第三方归属见 [NOTICE](https://npmcn.com/package/%40eduwork/dsh-memory/NOTICE)。

源码、Issue 与 PR 统一在 [EduWork](https://github.com/ecnu/EduWork/tree/main/packages/dsh-memory)。开发命令在 `EduWork/packages/dsh-memory` 中执行，npm 安装保持独立；发布流程见[包维护说明](https://github.com/ecnu/EduWork/blob/main/docs/PACKAGES.md)。

若旧 Profile 在 `cordis.patch.yml` 中显式覆盖了 `id: local-memory`，升级时改为 `id: memories`；配置内容保持不变。仅通过界面保存的旧 `settings.yaml` 由 DSH 按原 `memories` 命名空间迁移。不要删除原 `DSH_HOME` 或 SQLite 数据库。

## 常见问题

### @eduwork/dsh-memory 是什么？

本地记忆和对话召回DeepSeek Harness

### 如何安装 @eduwork/dsh-memory？

在项目目录运行 npm install @eduwork/dsh-memory，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^4\.4\.3）、react（^18\.2\.0）、@deepseek-ai/cordis（\>=4\.0\.5 \<4\.1\.0 \|\| 4\.1\.0）、@deepseek-ai/dsh-llm（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-tools（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/schemastery（\>=3\.18\.5 \<3\.19\.0 \|\| 3\.19\.0）、@deepseek-ai/dsh-commands（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-settings（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-api-remotes（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-locale（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-session-query（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-storage-domain（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-storage-sqlite（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-typert-protocol（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-renderer（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）、@deepseek-ai/dsh-client-ui-settings（\>=0\.2\.1-rc\.2 \<0\.3\.0-0 \|\| 0\.2\.2-rc\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @eduwork/dsh-memory 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/eduwork\_\_dsh-memory 是否存在。

### @eduwork/dsh-memory 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @eduwork/dsh-memory 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.18\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @eduwork/dsh-memory 可以商用吗？

@eduwork/dsh-memory 使用 MulanPSL-2\.0 AND MIT 许可。声明的许可为 MulanPSL-2\.0 AND MIT，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @eduwork/dsh-memory 的下载量有多少？

根据 npm 官方下载统计，@eduwork/dsh-memory 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,699 次，日均约 90 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @eduwork/dsh-memory 还在维护吗？

最新版本 0\.2\.1 发布于 2026/11/05（8 天前）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/09/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

