🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

本地记忆本 2132774831/dsh-memory-plugin

DeepSeek Harness
213277483116 天前有提交已提供中文文档扫描:未发现敏感能力

跨对话记住偏好与约定,随时翻看编辑

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 2132774831/dsh-memory-plugin
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/client.js:255
    return fetch(url, { headers: { Accept: 'application/json' } })
  • 发起网络请求
    lib/client.js:267
    return fetch(url, {
  • 发起网络请求
    lib/client.js:330
    fetch(EXPORT_API + query, { headers: { Accept: 'text/markdown' } })
  • 发起网络请求
    lib/client.js:357
    fetch(IMPORT_API, {
  • 发起网络请求
    lib/client.js:748
    return fetch(STATE_API + '?limit=1', { headers: { Accept: 'application/json' } })
  • 发起网络请求
    lib/client.js:820
    fetch(MEMORY_API, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

这是我为 DSH (DeepSeek Harness) 制作的一款插件,可以进行跨对话记忆支持手动导入

README

由 DeepSeek 最新模型翻译生成
dsh-local-memory DSH 的纯本地长期记忆 —— 跨对话、跨项目,数据只存在你本机的一个 JSON 文件里。 不联网、不调用任何大模型、不需要 API key、不用 Docker、不用起服务。装完就能用。 它解决什么问题 AI 每次开新对话都从零开始:不记得你的偏好,不记得上个会话定下的约定,也不记得上次踩过的坑。 这个插件给 DSH 配一个记忆本: - 对话里确认了值得长期保留的结论 → 写进记忆本; - 下次新对话,相关记忆会自动出现在上下文里(或模型主动检索); - 你可以在设置页里直接翻看、新增、编辑、删除这些记忆。 为什么是「纯本地」 市面上更"聪明"的记忆方案(比如 Hindsight)通常是一个独立服务 + 一个大模型:它用大模型"理解"你的话、抽取要点,再把记忆存进数据库。 代价是:你得跑一个服务、配一把 API key,而且"理解"这一步要把内容发到大模型厂商的云上。 这个插件走了另一条路:不做语义理解,只做关键词匹配。
展开完整文档(README 剩余 1 节)
dsh-local-memory

DSH 的纯本地长期记忆 —— 跨对话、跨项目,数据只存在你本机的一个 JSON 文件里。

不联网、不调用任何大模型、不需要 API key、不用 Docker、不用起服务。装完就能用。

它解决什么问题

AI 每次开新对话都从零开始:不记得你的偏好,不记得上个会话定下的约定,也不记得上次踩过的坑。

这个插件给 DSH 配一个记忆本:

- 对话里确认了值得长期保留的结论 → 写进记忆本;
- 下次新对话,相关记忆会自动出现在上下文里(或模型主动检索);
- 你可以在设置页里直接翻看、新增、编辑、删除这些记忆。

为什么是「纯本地」

市面上更"聪明"的记忆方案(比如 Hindsight)通常是一个独立服务 + 一个大模型:它用大模型"理解"你的话、抽取要点,再把记忆存进数据库。

代价是:你得跑一个服务、配一把 API key,而且"理解"这一步要把内容发到大模型厂商的云上。

这个插件走了另一条路:不做语义理解,只做关键词匹配。

| | 纯本地(本插件) | 服务型方案(如 Hindsight) |
| 单独跑服务 | 不用 | 要 |
| 大模型 key | 不用 | 要 |
| 联网 | 不用 | 要(抽取那一步) |
| 数据在哪 | 你本机一个 JSON 文件 | 服务端数据库 |
| 检索方式 | 关键词匹配(中文按二字组合) | 语义检索、图谱推理 |
| 装完即用 | 是 | 否 |

够用吗? 对"记住偏好 / 约定 / 决策 / 坑"这类需求,够用。中文按二字组合切词(「鉴权设计」→ 鉴权 / 权设 / 设计),比单字精确得多,又不需要分词器。

记忆存在哪

~/.dsh/dsh-local-memory.json

一个纯文本 JSON,可以直接用编辑器打开、改、备份、同步:

{
"version": 1,
"memories": [
{
"id": "m-abc123-xy",
"text": "鉴权用的是轮询而不是 webhook,因为要避免公网回调",
"tags": ["topic:auth"],
"project": "acme-payments-api",
"createdAt": 1767225600000,
"updatedAt": 1767225600000,
"hits": 3
}
]
}

插件配置在 ~/.dsh/dsh-local-memory-config.json。

四个工具

| 工具 | 干什么 |
| memory_save | 记住一条结论(文本重复时不新增,只合并标签并刷新时间) |
| memory_search | 按关键词检索(默认搜全部记忆,不论哪个对话、哪个项目写的) |
| memory_list | 列出最近的记忆 |
| memory_forget | 删除一条记忆(按 id) |

自动回忆

每次模型回答前,插件拿你这一轮的输入去记忆本里做一次关键词检索,命中的条目会作为 一条附加上下文注入。纯本地、微秒级,没有超时问题。

它不会硬塞无关记忆:查询为空、太短(默认 < 8 字)、或完全没命中时,就什么都不注入。

设置页

设置 → 本地记忆,分三块:

记忆(查看 / 新增 / 编辑 / 删除)
- 关键词筛选框
- 「+ 新增记忆」表单
- 每条记忆显示正文、标签、项目、时间、被用过几次、id
- 每条都能编辑、删除(删除有二次确认)

存储
- 记忆文件路径、配置文件路径
- 条数 / 标签数 / 项目数 / 文件大小
- 已用过的标签与项目一览

设置
- 启用本地记忆(总开关)
- 每轮自动回忆 + 最多注入几条 + 输入短于此不触发
- 写入时自动打项目标签
- 删除对话前提醒整理记忆(控制会话菜单里是否出现「整理记忆…」)
- 把记忆库说明写进系统提示词
- 记忆条数上限
- 存储文件路径

检索权重
- 五项权重滑杆,改了立刻生效;「权重恢复默认」一键还原(见下面的配置项)

设置保存即时生效,不用重启。

记忆导入 / 导出(Markdown)

设置页的「记忆」区有两个按钮:

- 导出 Markdown —— 把记忆导成 dsh-local-memory-<日期>.md 下载下来;
- 导入 Markdown —— 选一个 .md 文件导进来。

格式是「人也能读、机器也能解析」的,本插件导出的长这样:

本地记忆库导出

- 导出时间:2026-10-06T12:00:00.000Z
- 条数:1
- 来源:dsh-local-memory@1.1.1

- 标签:topic:auth, pref
- 项目:acme-payments-api
- 创建:2026-10-05T20:12:33.368Z
- 更新:2026-10-05T20:12:33.368Z

鉴权用的是轮询而不是 webhook,因为要避免公网回调

导入是宽容的,所以能接住别的来源:

| 来源 | 能否导入 |
| 本插件在另一台电脑上的导出 | ✅ 原样往返 |
| 别的 Agent / 笔记工具导出的 Markdown(## 分节) | ✅ 每节当一条记忆 |
| 一堆 --- 分隔的纯文本 | ✅ |
| 没有任何结构的一整篇 | ✅ 整篇当一条 |

导入是幂等的:正文归一化后相同的视为同一条 —— 已存在就合并标签、补项目、刷新时间,不会产生重复。所以同一个文件导两次不会翻倍。

删除对话前整理记忆

设置里打开「删除对话前提醒整理记忆」后,会话(对话)的「...」菜单里会多出一行「整理记忆…」,点开是一个弹窗:把这段对话里值得长期保留的结论写下来、存进记忆库,然后再去归档/删除这个对话,就不会把有价值的东西一起丢掉了。

一个诚实的限制:插件槽位是「追加」语义,拦不住系统原生的删除动作,也没法自动读整段对话去总结(那需要调用大模型,而这个插件的卖点恰恰是不调模型)。
所以这里做成「会话菜单里的顺手入口 + 弹窗快记」,而不是自动拦截删除。
想让它更自动,只能引入大模型,那就不是纯本地插件了。

项目标签是怎么来的

写入记忆时,插件按会话工作目录认一下项目名,作为标签存下来(方便按项目筛选, 不影响默认检索范围——默认始终搜全部记忆):
- 逐级向上找有可读 config 的 .git(worktree 的 .git 文件指针也认;空 .git 目录不算);
- 家目录是硬边界,绝不越过;
- 有 remote 就用 owner/repo(跨 clone 稳定),否则用目录名。

配置项

~/.dsh/dsh-local-memory-config.json

| 字段 | 默认 | 说明 |
| enabled | true | 总开关 |
| storeFile | ~/.dsh/dsh-local-memory.json | 记忆文件路径 |
| maxMemories | 5000 | 条数上限,超出丢最旧的(10–100000) |
| autoRecall | true | 每轮自动回忆 |
| autoRecallMaxItems | 5 | 最多注入几条(1–20) |
| autoRecallMinChars | 8 | 输入短于此不触发(0–500) |
| autoTagProject | true | 写入时自动打项目标签 |
| organizeBeforeDelete | false | 会话菜单里是否出现「整理记忆…」入口 |
| weights | 见下 | 检索评分权重 |
| injectBrief | true | 是否把记忆库说明写进系统提示词 |

weights(检索权重) —— 关键词打分的各项分值,设置页有滑杆,也能直接改文件:

| 字段 | 默认 | 含义 |
| textMatch | 2 | 正文命中一个查询词项的基准分 |
| tagMatch | 1 | 只在标签里命中的基准分 |
| wholeQuery | 5 | 整条查询原样出现在正文里的额外分 |
| exactTag | 3 | 标签与整条查询完全相同时的额外分 |
| longTermBonus | 1.5 | 长度 ≥3 的词项的权重倍率 |

调大某一项 = 这类命中更有分量。改完点「保存设置」立即生效。

安装

从 GitHub 直接装(推荐,不用手动下载):

dsh plugin --profile desktop add github:2132774831/dsh-memory-plugin

把 desktop 换成你自己的 profile 名(用 dsh plugin list 看)。

或者用本地路径装(已经克隆/解压到本地时):

dsh plugin --profile desktop add /绝对路径/dsh-local-memory

⚠️ 路径必须用绝对路径。用相对路径(如 ./dsh-local-memory)会被解析成相对 profile 目录,装出来是个指不到东西的死链接。

装完 重启 dsh web,设置页会出现「本地记忆」。更多细节见 INSTALL.md(含验证与排错)。

开发与测试

node test/smoke-store.mjs # 存储与检索:切词、判重、CRUD、容错
node test/smoke-store.mjs # 存储与检索:切词、判重、CRUD、权重、导入导出
node test/smoke-projects.mjs # 项目识别:.git 查找、remote 归一化、边界
node test/smoke-host.mjs # Host 半侧:工具、自动回忆、路由(含 /export /import)
node test/smoke-client.mjs # 设置页 bundle 契约(三个槽位)

npm test # 全部(77 项断言)

测试全部离线:临时目录 + 假 ctx + 假 DOM,不碰真实记忆文件。

环境要求

| 项 | 要求 |
| Node | >= 20 |
| 平台 | DSH web profile |
| 运行时依赖 | 零 |
| 外部服务 | 无 |

卸载

dsh plugin --profile desktop remove dsh-local-memory

记忆文件不会被删 —— 想清掉就自己删 ~/.dsh/dsh-local-memory.json。

许可

MIT
预览分享卡片长什么样 ↓2132774831/dsh-memory-plugin
分享 · DeepSeek Harness Hub
2132774831/dsh-memory-plugin

跨对话记住偏好与约定,随时翻看编辑

这是你的仓库?认领条目

回到顶部