为 DeepSeek Harness 提供跨会话持久记忆,使用 SQLite + 可编辑 Markdown 双镜像,后台自动去重合并与会话摘要。
- 语言
- JavaScript
- License
- MIT
- 分支
- main
安装
$ dsh plugin --profile web add @modusensus/dsh-mneme在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 modusensus/dsh-mneme:先查看仓库 https://github.com/modusensus/dsh-mneme 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
为 DeepSeek Harness 装上跨会话持久记忆——把 AI 在这次对话里得知的偏好、项目、决定等留下来,下次新开会话自动带回到系统提示里。
核心能力
- 自动写入并去重合并:模型通过
memory_save工具存记忆,同标题会自动合并并保留版本历史(content_history) - 自动注入:新会话开始时把高重要性记忆塞进系统提示,让 AI 见到你之前说过什么
- 后台 autoDream 自动整理:记忆数或字数达标后异步触发 LLM 裁决 keep / merge / archive / conflict / update,记忆库越用越精炼
- 可编辑 Markdown 镜像:偏好、项目、决策、历史、总览分别落到独立
.md文件,人工修改优先回写 - 完全可选的语义搜索:关键词之外再叠加 BM25 + 向量召回 + 交叉编码精排,三路召回融合并自适应阈值
- 会话摘要 + 短时热记忆:会话结束自动提炼要点;当前会话最近 5 轮对话以热记忆块形式滚动注入
- 实体化记忆 + Wiki-Link + Tag 系统:从记忆里抽取命名实体与时间轴属性,支持
[[双向链接]]和#标签(默认关闭,按需开启)
技术实现
- 语言: JavaScript(Node.js ESM,
type: module) - 关键依赖: @deepseek-ai/cordis(DI 容器)、@deepseek-ai/dsh-tools(模型工具注册)、@deepseek-ai/schemastery(配置 Schema)、@huggingface/transformers(可选,本地向量 / 精排)
- 架构模式: Cordis
apply(ctx, config)注入到tools/systemPrompt/webServer/llm/commands几个宿主钩子;通过cordis.patch.ymlbundle 把默认配置写入 DSH profile,零配置启动;后台由createDreamScheduler阈值调度 +createSleepScheduler空闲调度两条维护流水线 - 入口文件: dsh-mneme/lib/index.js(发布产物),开发源在 dsh-mneme/src/index.js
适用场景
想让 DSH 像一个长期合作的同事那样记住你的项目背景、编码习惯、过往决定,而不是每次开新会话都重新交代——这正是本插件解决的问题。它适合中长期使用者:每天跟 AI 协作几个小时、需要累积可检索的知识库;不适合只需要一次性问答、聊完即走的场景。开启语义搜索后还能让 AI 用「上次聊过的某事」式自然语言召回,跨日继续项目时无需你复述上下文。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DeepSeek Harness(DSH) | >= 0.1.0-rc.6 | @deepseek-ai/dsh-host-webserver 等同号 peer 依赖 |
| Node.js | >= 24.0.0 | 依赖 node:sqlite 内置模块(README 徽章明示) |
| 平台 | 跨平台 | 通过 DSH web profile 运行;不挑操作系统 |
| 原生模块 | node:sqlite | Node 自带,无第三方原生编译依赖 |
安装方式
dsh plugin --profile web add github:modusensus/dsh-mneme
配置项
默认行为开箱即用,全部列在 schema 中无硬性要求。下面是用户最常调整的几项;按需在 DSH 设置面板 → 记忆库设置中改动,也可在 ~/.dsh/profiles/web/cordis.patch.yml 用 id: dsh-mneme 段覆盖。
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
memoryDir | 字符串 | 记忆存储目录(SQLite 数据库与 Markdown 镜像) | ~/.dsh/memory |
autoInject | 布尔 | 新会话自动把高重要性记忆写入系统提示 | true |
autoSummarize | 布尔 | 会话结束时自动提炼摘要入库 | true |
maxInjectedItems | 整数 1-20 | 单次注入的最大记忆条数 | 5 |
importanceThreshold | 整数 1-5 | 注入所需的最低重要性 | 3 |
autoDream | 布尔 | 后台自动整理(去重 / 合并 / 归档 / 裁决)开关 | true |
dreamThresholdCount | 整数 1-1000 | 触发整理的记忆条数阈值 | 10 |
dreamDelayMs | 整数 0-60000 | 整理运行的延迟去抖(毫秒) | 2000 |
dreamReasoningEffort | 枚举 | 思考型模型需要传 off 关闭推理,否则会输出空正文 | none |
embedProvider | 枚举 | openai / local(ONNX 离线)/ ollama | openai |
sessionLifecycleEnabled | 布尔 | 开启后删除会话时软隐藏其记忆(可恢复),默认关闭以保持旧行为 | false |
entityExtractionEnabled | 布尔 | 开启后从新写记忆中自动抽实体 / 属性 / 关系 | false |
apiToken | 字符串 | 设置后写接口与向量密钥接口要求 Bearer 鉴权,空则开放 | 空 |
常见问题
Q: 我装了插件为什么没有记忆可用?是不是要先把对话内容喂给它?
A: 不用。打开新会话 AI 就会看到已存的记忆,新出现的事实由 AI 自己通过 memory_save 工具主动写入,无需你手动调用。
Q: 存储在哪台机器?会被同步到云端吗?
A: 只在你跑 DSH 的本机,路径 ~/.dsh/memory/。SQLite 主库与 Markdown 镜像都在一起,没有任何远端上传;想备份直接拷目录。
Q: 删掉对话窗口,是不是记忆也一起没了?
A: 默认不会——记忆和会话窗口是分开的,删会话不影响已保存记忆。开启 sessionLifecycleEnabled 后,删除会话会变成软隐藏(memory_list 设 include_archived 还能看到并恢复)。
Q: 想让 AI 用自然语言「上次聊过的那件事」怎么搜?
A: 打开设置面板 → 记忆库 → 工具栏切换到「语义」即可,会启用向量召回;后台是关键词 + BM25 + 向量三路融合,并按查询长度自适应阈值。
Q: 我的 embedding 服务访问不到,向量会不会报错?
A: 不会。embedding 失败会自动回退到关键词搜索;本地 ONNX 模型下载失败同样只是记录 warning,搜索降级关键词,主流程照常工作。
Q: 删除一条记忆为什么搜出来还在?
A: 你用的可能是 memory_forget 或 memory_archive——它们分别是抑制注入和归档,都可恢复。想物理删除要明确用 memory_delete,按 id 或按 query 描述删除。
Q: 怎么彻底关掉这个插件?
A: 从 DSH profile 移除 bundle:dsh plugin --profile web remove @modusensus/dsh-mneme,数据留在磁盘不删,需要时重装即恢复。
上手难度
入门 — 默认配置开箱即用,绝大多数用户不需要改任何开关;只有准备启用向量搜索 / Sleep Mode / 实体抽取等可选能力时才需要看配置项。
已知问题与限制
- 思考型模型(如 deepseek-v4-flash / DeepSeek-R1)在 autoDream 默认参数下会把整段 token 预算烧在推理上,导致正文为空(日志常见
no json array in llm output)。解决:把dreamReasoningEffort和sleepReasoningEffort都显式设为off;这两个选项默认none是为不改变原有行为。 - 默认不启用 Rerank 精排(
rerankEnabled=false),因为初始化会加载onnxruntime-node;要使用必须显式打开,并承担模型下载与首次推理延迟。 - 数据库是单文件 SQLite(
node:sqlite同步 API),不支持并发多进程写入;DSH 是单进程托管,多实例共享会冲突。 - LLM 路由走
agentDefaultModel,没有独立 Key:默认会消费主对话 token 预算;预算紧张时手动设置dreamProvider/dreamModel/summarizeProvider指向轻量模型。 - 各高级特性(实体抽取、Wiki-Link、Tag 加权、Sleep、Session 生命周期)默认关闭——为了不破坏既有行为而保守启用;首次使用前需查 配置文档。
dsh-mneme
🇨🇳 dsh-mneme(中文)
记忆基因 · 让记忆自我进化 —— 从文本仓库到结构化知识库,记忆不再只是存储,而是会生长。
dsh-mneme 是一个 DeepSeek Harness (DSH) 插件,为 Agent 提供持久的跨会话记忆能力。Mneme(Μνήμη)——希腊记忆女神 Mnemosyne 之名,掌管记忆与梦境,正如 autoDream 在后台巩固记忆。
它能解决什么问题
每次新开对话,AI 都像第一次认识你?
dsh-mneme 给 DeepSeek Harness 装上跨会话记忆。 你聊过的项目、提过的偏好、做过的决定,AI 都记得——即使关掉了窗口,下次打开还在。
三个典型场景
| 场景 | 没装插件 | 装了插件 |
|---|---|---|
| 周一聊完项目需求,周三继续 | "能再描述一下你的项目吗?" | "你指的是上周提到的博客重构吗?当时你说想用 Astro。" |
| 告诉 AI 你的编码习惯 | 每轮都要重复交代 | 一次设定,长期生效 |
| 整理大量资料后关窗口 | 资料丢了 | 自动归档,随时检索找回 |
核心特性
- 跨会话记忆 — 对话中 AI 自动记录关键信息,新会话自动注入相关记忆
- 自动整理 — 后台自动去重、合并、归档,记忆库越用越精炼
- 删对话 ≠ 删记忆 — 删除聊天窗口不会丢掉已保存的记忆(可配置)
- 你的数据你做主 — 所有记忆以 Markdown 格式存于本地,随时打开查看和编辑
- 完全离线 — 默认无需 API Key,所有处理在本地完成
安装
# 安装插件(自动注册 bundle 层)
dsh plugin --profile web add @modusensus/dsh-mneme
dsh web
需要 Node 24+(
node:sqlite)。完整安装 / 配置 / 架构见 插件文档。
快速配置(可选)
装完即用,以下按需开启:
| 需求 | 配置项 | 默认值 | 改法 |
|---|---|---|---|
| 完全离线运行 | embedProvider | openai | 改为 local |
| 删除对话时保留记忆 | sessionLifecycleEnabled | false | 改为 true |
| 让 AI 自动提取结构化信息 | entityExtractionEnabled | false | 改为 true |
在 DSH 设置面板 → 记忆库设置 中修改。完整配置说明见 配置文档。
隐私承诺
- 数据只存在你的电脑本地,不上传任何服务器
- 记忆是 Markdown 文件,人类可读、可手工编辑
- 默认零网络依赖,不需要 API Key
- 无遥测、无分析、无远程日志
文档
| 文档 | 路径 |
|---|---|
| 插件完整文档(功能 / 安装 / 配置 / 架构) | dsh-mneme/README.md |
| 实体结构化设计 | dsh-mneme/docs/ENTITIES.md |
| 语义架构 | dsh-mneme/docs/SEMANTIC.md |
| 本地模型部署指南 | dsh-mneme/docs/LOCAL_MODEL.md |
| v0.1 迁移说明 | dsh-mneme/docs/MIGRATION.md |
| 版本历史 | CHANGELOG.md |
| 安全策略 | SECURITY.md |
🗺️ 路线图
🧬 基因(v0.3.0)→ 🛡️ 审计加固(v0.3.6–0.3.9)→ 💤 睡眠维护(v0.4.0)→ 🕸️ 召回融合与图谱(v0.5.0)→ ✨ 自进化(v0.6.0)→ 🔮 兴趣漂移 + 跨 workspace(v0.7.0+)
| 版本 | 主题 | 状态 |
|---|---|---|
| v0.3.0 | 记忆基因:entities/attrs/relations 三表 + 时间轴 | ✅ |
| v0.4.0 | Sleep Mode:空闲四阶段深度维护 | ✅ |
| v0.5.0 | 召回融合与记忆可视化:BM25 + 图谱 + 热记忆 | ✅ |
| v0.6.0 | 会话生命周期:删会话 ≠ 删记忆 | ✅ |
| v0.7.0+ | 兴趣漂移 + 跨 workspace | 🚧 远期 |
🧪 本地开发
cd dsh-mneme
npm install
npm test # 628 个测试
npm run stress # 三轴线压测
npm run sync # src → lib 同步
📜 License
MIT
🇬🇧 dsh-mneme (English)
Memory Genome · Let memory evolve — from text warehouse to structured knowledge base. Memory is no longer just stored; it grows.
dsh-mneme is a DeepSeek Harness (DSH) plugin providing persistent cross-session memory. Mneme (Μνήμη) — named after Mnemosyne, the Greek goddess of memory and dreams, mirroring how autoDream consolidates memories in the background.
What it does
Every time you start a new chat, the AI acts like it's never met you?
dsh-mneme gives DeepSeek Harness cross-session memory. Projects you've discussed, preferences you've mentioned, decisions you've made — the AI remembers them even after you close the window.
Three typical scenarios
| Scenario | Without plugin | With plugin |
|---|---|---|
| Continue a project discussion from Monday on Wednesday | "Can you describe your project again?" | "You mean the blog refactor from last week? You mentioned wanting to use Astro." |
| Tell the AI your coding habits | Repeat every session | Set once, remember forever |
| Close window after organizing research | Notes are lost | Auto-archived, retrievable anytime |
Core Features
- Cross-session memory — AI automatically records key info during chats; new sessions inject relevant memories
- Auto-consolidation — Background deduplication, merging, and archival; the memory store refines itself over time
- Delete session ≠ delete memories — Closing a chat window doesn't lose saved memories (configurable)
- Your data, your control — All memories stored as local Markdown files, human-readable and editable
- Fully offline — Zero API Key needed by default; all processing happens locally
Install
dsh plugin --profile web add @modusensus/dsh-mneme
dsh web
Requires Node 24+ (
node:sqlite). Full install / config / architecture docs in the plugin README.
Quick Config (Optional)
Works out of the box. Enable these as needed:
| Need | Config key | Default | Change |
|---|---|---|---|
| Fully offline | embedProvider | openai | Change to local |
| Keep memories when deleting sessions | sessionLifecycleEnabled | false | Change to true |
| Structured entity extraction | entityExtractionEnabled | false | Change to true |
Change in DSH Settings Panel → Memory Settings. Full config docs here.
Privacy
- Data stays on your machine only, never uploaded
- Memories are Markdown files, human-readable and editable
- Zero network dependency by default, no API Key required
- No telemetry, no analytics, no remote logging
Docs
| Doc | Path |
|---|---|
| Full plugin docs | dsh-mneme/README.md |
| Entity structure design | dsh-mneme/docs/ENTITIES.md |
| Semantic architecture | dsh-mneme/docs/SEMANTIC.md |
| Local model guide | dsh-mneme/docs/LOCAL_MODEL.md |
| v0.1 migration | dsh-mneme/docs/MIGRATION.md |
| Changelog | CHANGELOG.md |
| Security | SECURITY.md |
🗺️ Roadmap
🧬 Gene (v0.3.0) → 🛡️ Audit hardening (v0.3.6–0.3.9) → 💤 Sleep maintenance (v0.4.0) → 🕸️ Recall fusion & graph (v0.5.0) → ✨ Self-evolve (v0.6.0) → 🔮 Interest drift + cross-workspace (v0.7.0+)
| Version | Theme | Status |
|---|---|---|
| v0.3.0 | Memory genome: entities/attrs/relations + timeline | ✅ |
| v0.4.0 | Sleep Mode: idle 4-phase deep maintenance | ✅ |
| v0.5.0 | Recall fusion & visualization: BM25 + graph + hot memory | ✅ |
| v0.6.0 | Session lifecycle: delete session ≠ delete memories | ✅ |
| v0.7.0+ | Interest drift + cross-workspace | 🚧 Long-term |
🧪 Local Development
cd dsh-mneme
npm install
npm test # 628 tests
npm run stress # three-axis stress test
npm run sync # src → lib sync
📜 License
MIT
查看使用指南 →
该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。
收录徽章
[](https://deepseek-plugin.org/plugins/modusensus/dsh-mneme)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。