# @avantf/dsh-mem 中文文档

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

版本：0\.11\.0
npm 元数据更新时间：2026-11-09T03:56:16.154Z
中文译文更新时间：2026-11-09T21:24:02.239Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40avantf/dsh-mem
原文对照：https://npmcn.com/package/%40avantf/dsh-mem/?lang=original
源码仓库：https://gitee.com/ffeng86/dsh-mem

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

- 包体积（解压后）：2.3 MB，191 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.15\.0 \<23 \|\| \>=23\.11\.0
- 运行依赖：2 个
- peer 依赖：zod \>=4\.4\.3 \<5，@deepseek-ai/cordis ^4\.0\.0，@deepseek-ai/dsh-llm ^0\.1\.5-rc\.2 \|\| ^0\.1\.7-rc\.2 \|\| ^0\.2\.0-rc\.2，@deepseek-ai/dsh-tools ^0\.1\.5-rc\.2 \|\| ^0\.1\.7-rc\.2 \|\| ^0\.2\.0-rc\.2，@deepseek-ai/schemastery ^3\.18\.0，@deepseek-ai/dsh-system-prompt ^0\.1\.5-rc\.2 \|\| ^0\.1\.7-rc\.2 \|\| ^0\.2\.0-rc\.2，@deepseek-ai/dsh-typert-protocol ^0\.1\.5-rc\.2 \|\| ^0\.1\.7-rc\.2 \|\| ^0\.2\.0-rc\.2
- 首次发布：2026-09-21T11:46:29.110Z
- 最新版本发布：2026-11-09T03:56:15.924Z
- 近 30 天下载量：1720（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

avantf-mem DSH 本地 Cordis 插件: 主机服务+内存工具 + RPC + 客户端 {{0} 标签

## 安装

```sh
npm install @avantf/dsh-mem
```

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

## README

# @avantf/dsh-mem

DSH（DeepSeek Harness）原生记忆插件：给 agent 一份可长期检索的**记忆**——它跨会话记得你说过的事， 也能按语义、全文、实体、标题与时间把它找回来。装上后提供 3 个模型工具、一段用法提示 和一个主窗口标签页（记忆）。

> 文档知识库不在本插件里：它已拆到独立插件 **`dsh-knowledges`**（`knowledge.db`、受管文档、`kb_*` 工具、 知识页与文档转换都在那边）。本插件既不读也不删 `~/.avantf/knowledge/**`。

## 主要功能

-   **3 个模型工具**
    -   `mem_remember`：新增 / 改写 / 删除事实（写入后立刻做矛盾检测），分两层——`journal`（做了什么 / 聊了什么，必带 `event_date` 与短 `title`，同一事务复用同一 title）与 `note`（稳定事实 / 偏好 / 约定 / 坑，可带 `relations` 三元组）
    -   `mem_recall`：`search` 内容检索（先对整句做字面精确匹配，再按查询形态返回事实集合 / 关系结构 / 模糊检索；只给 `time` 就是纯时间召回）与 `titles` 标题检索（写 journal 前查重、标题纠错用）
    -   `mem_admin`：`list` 列举 / `contradictions` 列出未处理的矛盾对 / **导出 / 导入 / 快照重建**。 文件路径**只允许本次运行的数据根内** （默认导出到 `<数据根>/backups/memory-YYYYMMDD-HHMMSS.json.br`，原子写，结果不含文档正文）； `import` 按**文件头**自动识别 SQLite（只读合并另一份 `memory.db`，报告 `mode:'db'`）与 JSON 导出文档 （`mode:'json'`）；`restore_snapshot` 必须显式 `confirm: true`，且只接受**空 facts 表**，恢复后同一宿主 进程立即可检索。
    -   诊断、策展（pin / unpin / 归档恢复 / 矛盾裁决）与索引修复（重建索引、向量修复）是**操作者动作**： 在「记忆」页与 CLI 里可用，不占用模型工具面。
-   **混合检索**：语义 + 全文 + 实体三腿融合；`search` 按查询形态给出事实集合（多实体并列）、关系结构 （谁管理谁这类方向问句）、纯时间召回或模糊检索。
-   **记忆是活的**：按活跃使用日结算、支持遗忘、去重与修订链；同一主题的改动会被识别成 对旧事实的**修订**而不是简单叠加，写入时顺带做矛盾检测。
-   **一个主窗口标签页**（排在 对话 / 轨迹 之后）：**记忆**（浏览、编辑、pin/unpin、归档恢复、矛盾裁决）。
-   系统提示词里只加**一段**用法提示（何时该主动记忆、journal 与 note 怎么分、同一事务怎么复用 title）。

## 接入 dsh

```bash
# 把插件装进你要用的 profile（依赖会自动装好，不用管别的）
dsh plugin --profile <PROFILE> add @avantf/dsh-mem@<version>

# 然后重启 dsh 生效
```

版本号可以不写，但建议指定一个明确版本。

**DSH Desktop**：在「插件」页里安装同一个包即可，装完重启应用；不用动命令行。

> **依赖底座**：本插件硬依赖 `@avantf/dsh-plugin-base`。它是插件的**普通运行期依赖**，装插件时自动带上， 不需要单独安装；缺少或版本不兼容时插件仍会挂载，但启动期资源初始化、宿主兼容门禁与提示词文件层等能力 会降级。升级时让包管理器一起解析即可；单独升级底座时，先升级底座、再重启 dsh。

## 怎么用

工具是给模型用的，通常不用你手写；用日常说法提要求就行。最常见的几种：

```text
记住这条：发布窗口是每周四 20:00；验收标准是灰度零回滚。
```

```text
我之前定过的数据目录约定是什么？（返回命中事实与来源）
```

```text
上周做了什么？（按事件时间召回 journal 条目）
```

```text
谁负责发布流程？（关系问句直接返回关系结构）
```

```text
把「每周四发布」改成「每周三发布」，并说明依据。
```

查重与改标题：写 journal 前先让模型用 `mem_recall` 的 `titles` 找候选，读到候选就 `update`、 读不到才 `add`；标题写错时用 `update` 带 `retitle: true` 纠正一次（旧标题保留为别名，仍能检索到）。

要改一篇**文档**：那是 `dsh-knowledges` 的事（`kb_*` 工具与「知识」页在那边），本插件不提供文档入口。

常见维护动作（在「记忆」页或 CLI 里）：

```text
看看记忆库里已存了哪些事实。
把矛盾检测的积压扫一遍，逐条裁决。
```

### 相关性门槛：严格 / 宽松

「记忆」页的查询面板有**严格 / 宽松**选择（工具面的 `mem_recall` 也接受 `floors: 'strict' | 'loose'`）：

-   **严格**（面板默认）：只有明确够相关的才返回，所以"没有结果"是一个可信的答案。
-   **宽松**：门槛更低，用来找回边角相关的条目——仍有一条底线，不是无门槛。
-   **不选时**：先按严格跑；严格档一条都没命中、且确实有条目被门槛挡掉时，自动用宽松档补跑一次， 结果会标明「已自动放宽门槛」。门槛挡掉的空与真的没有，面板和结果里的数字能区分开。

## 配置、数据与提示词

-   **数据目录**：默认 `~/.avantf`。记忆库（`memory/memory.db`）、配置与提示词文件、备份与模型缓存都在其中； 环境变量 `AVANTF_HOME` 可以改变它。
-   **配置**：`~/.avantf/configs/` 下的两份 YAML —— `common.yaml`（公共项，缺失时按注释模板自动创建）与 `memory.yaml`。只写你要改的项，其余取内置默认。寿命按**活跃使用日**表达（`strength.base_lifetime_days` 是新事实的 寿命，默认 **90**；`strength.max_retention_days` 是召回加强能换来的最长寿命，默认 **174**； `lifecycle.purge_after_archived_days` 是归档后的回收窗口）；没有单条到期字段，也没有日历兜底。
-   **提示词文件**：`~/.avantf/prompts/` 下的 `mem-memory-usage.md`。缺失或为空时插件写入默认内容， **只在启动时读一次**，改完重启生效。 可以按自己的领域改写：内置默认刻意不出现任何领域名词，只给判据与记忆的两层——
    -   `journal`：一项实质性工作 / 话题完成或阶段性收敛时主动记一条，必须带 `event_date` 与短 `title`；
    -   `note`：稳定的偏好 / 约定 / 坑，直接记录，规则写成「当……应……」。
    -   不适合写进记忆：临时聊天、一次性中间状态、容易查到的内容——依据归文档（`dsh-knowledges` 的文档库）， 记忆里只留 **结论 + 位置**（路径 / 来源 / 名称）；敏感信息同理，只记存放位置，不记明文。
-   **升级前建议先备份 `~/.avantf`**：数据库迁移是单向的，用旧版本打开新库会被明确拒绝。

## 升级 / 卸载

```bash
# 升级：换版本号重装同一个包
dsh plugin --profile <PROFILE> add @avantf/dsh-mem@<version>

# 卸载
dsh plugin --profile <PROFILE> remove @avantf/dsh-mem
```

两者都要重启 dsh 生效。卸载**不动 `~/.avantf`**：记忆库与模型缓存全部保留（`~/.avantf/knowledge/**` 属 `dsh-knowledges`，同样不动）。DSH Desktop 在「插件」页上卸载。

## 环境要求

-   **Node `>=22.15.0 <23 || >=23.11.0`**、**pnpm**
-   可选的原生加速件（分词 / 向量索引 / 本地嵌入模型）缺失时只会降低检索质量，不影响使用

## 许可

MIT。

## 常见问题

### @avantf/dsh-mem 是什么？

avantf-mem DSH 本地 Cordis 插件: 主机服务\+内存工具 \+ RPC \+ 客户端 \{\{0\} 标签

### 如何安装 @avantf/dsh-mem？

在项目目录运行 npm install @avantf/dsh-mem，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（\>=4\.4\.3 \<5）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @avantf/dsh-mem 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @avantf/dsh-mem 支持 ESM 还是 CommonJS？

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

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

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

### @avantf/dsh-mem 可以商用吗？

@avantf/dsh-mem 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @avantf/dsh-mem 的下载量有多少？

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

### @avantf/dsh-mem 还在维护吗？

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

