dsh-nodal-memory:DSH 纯本地长期记忆(SQLite + 中文检索 + 关系图)

前言

在 DeepSeek Harness(DSH)里做智能体或长对话开发时,常见问题是:新开一轮对话就丢掉偏好、约定和踩坑记录,只能反复口头交代上下文。把「值得长期保留的结论」落到本机、并在后续对话里自动召回,是比每次粘贴长 system prompt 更稳的做法。dsh-nodal-memory(上游仓库包名 dsh-local-memory,v2)面向 DSH 桌面配置,也提供可双击运行的独立界面,数据默认只在本机、可不联网使用。

这是什么

  • 目录标识:SkillHub 上的 2132774831/dsh-nodal-memory,分类为记忆;维护者 2132774831。
  • 一句话:DeepSeek Harness 纯本地长期记忆 v2——SQLite 存储、中文二元组检索、记忆关系图、可选语义检索;也能当独立软件运行。
  • 版本与许可:package.json 中为 2.6.1,MIT;v1 已停更,旧版见 dsh-memory-plugin。

核心功能

跨对话落盘与召回

插件让对话中产生的长期结论写入本地库,后续会话由宿主侧自动回忆 / 自动存储(具体工具与路由在 src/host/)。默认不调用大模型、不需要 API key;数据路径为 ~/.dsh/dsh-local-memory.db,插件与独立软件共用同一库。

中文检索(二元组 + FTS5)

SQLite FTS5 默认分词对中文不友好;v2 写入时额外生成二元组切分列(例:我喜欢吃牛肉面 → 我喜 喜欢 欢吃 吃牛 牛肉 肉面),两字词可命中且减少过度匹配。排序为:

score = relevance × importanceFactor × decay × usageBoost

decay 按类别设半衰期(工作 365 天 / 偏好 730 天 / 情感 60 天);usageBoost 用对数抑制高频霸榜;陈旧条仍可搜到但后移,精确命中不丢弃并可标记时效警告。

类别与补标

写入时按本地词表粗分 工作 / 偏好 / 情感,证据不足为「未分类」;类别影响半衰期。DSH 设置里「本地记忆」分区可做列表与补标;误判可在补标页修改。

记忆关系图

五种确定性关系自动连线(无需 API key):共现(同次检索同时命中)、共享标签(idf 加权)、语义相近(向量余弦,需可选 embedding)、同项目、时间相邻。界面支持力导向聚簇、孤立与疑似冲突标记。

直觉页

「该想起的」侧重重要且久未使用;「疑似冲突」只给候选与理由,不自动改数据。

一套 UI、两个入口

关系图、卡片、联想、直觉、设置等完整界面只在独立软件 app/ 维护。DSH 插件侧为轻量设置 +「打开完整记忆界面」:宿主 /dsh-local-memory/open 检测实例、必要时用 DSH 自带 Node 拉起服务再跳转;单实例锁、闲置约 10 分钟自动关闭(上游 DSH 退出后,有轮询请求则暂不收)。

可选语义检索

关闭时关键词检索照常。开启后在设置页配置 OpenAI 兼容 embedding 端点(例:https://api.siliconflow.cn/v1,模型 BAAI/bge-m3);仅发送记忆正文与查询词。DeepSeek 官方无 /embeddings,其 key 不能用于此处。失败自动降级为关键词检索。

安装与启用

作为 DSH 插件

装完后必须重启 DeepSeek Harness(运行中实例不热加载插件)。

# 从本地目录
dsh plugin --profile desktop add <本仓库绝对路径>

# 或从 tarball
dsh plugin --profile desktop add ./dsh-local-memory-2.0.0.tgz

重启后在 DSH 网页端 → 设置 → 左侧 「本地记忆」(settings.section,order 28)。

作为独立软件

node app/server.mjs --open

或双击仓库内 启动记忆软件.cmd(压缩包中为 start.cmd)。端口由系统分配,实例信息写在 ~/.dsh/local-memory/instance.json。首次启动自动建库。

从 v1 迁移:

node scripts/migrate-v1.mjs --from ~/.dsh/dsh-local-memory.json

运行环境:engines.node 要求 >= 20。

典型用法

  1. 安装插件并重启 DSH,在设置 → 本地记忆查看列表或补标。
  2. 需要关系图 / 直觉页时,点「打开完整记忆界面」,或单独运行 node app/server.mjs --open。
  3. 需要「换说法也能搜到」时,在独立软件设置页填 embedding 端点,再执行「给历史记忆补向量」。

配置与数据位置:

项 位置
记忆库 ~/.dsh/dsh-local-memory.db
插件配置 ~/.dsh/dsh-local-memory.v2-config.json

适用场景与注意

适合:希望 DSH 对话跨项目保留本机记忆、又要在浏览器里管理关系图与冲突候选的开发者;也可不装 DSH,仅用独立软件管理同一格式数据。

注意:

  • DSH 插件在当前 dsh 进程权限下运行;安装前请自行审阅 GitHub 源码 与 MIT 许可证。
  • SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系;安装命令以上游 README 为准,勿凭仓库名臆造 dsh plugin add github:... 形式。
  • v2 暂不提供 v1 的 Markdown / Kun / Hermes 导入导出;需可先 v1 导出再 migrate-v1.mjs。
  • 可选语义检索会访问你配置的兼容端点,其余默认不联网。

结尾

dsh-nodal-memory 把长期记忆固定在 SQLite、用二元组改善中文检索,并用关系图与直觉页做本地可解释的联想与冲突提示;插件负责接口与跳转,完整界面与单实例生命周期由独立软件统一维护。查阅目录页 SkillHub 与仓库 GitHub 获取最新说明与发布包。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜