前言¶
在 DeepSeek Harness(DSH)里做长周期开发时,常见问题是:新开一轮对话后,上一轮里已经敲定的架构、约束和决策不会自动带进上下文;若把整段历史贴回 prompt,既费 token,也容易把无关闲聊混进去。社区里也有依赖第三方记忆框架或外部服务的方案,部署和审计成本往往更高。
下面介绍 dsh-memory-eternal-fork:在 DSH 中以插件形式运行的本地记忆库,把对话沉淀为可 git 管理的 Markdown 知识卡,并在需要时通过 memory_recall 按需召回相关片段。本文基于仓库 README 与 package.json(v0.7.9)整理,面向已在用 DSH 0.2.0-rc.x 的开发者。
这是什么¶
dsh-memory-eternal-fork 是 EternalNight996/dsh-memory-eternal 的维护 fork,由 pokiimon 维护,许可证为 MIT,npm 包名为 dsh-memory-eternal-fork。定位是:为 DeepSeek Harness 提供本地 Markdown 记忆库(memory vault)——对话结束后自动沉淀知识卡,Agent 通过工具按需检索,图形界面管理知识卡、图谱与审核流程。
与「只改 DSH 源码」或「锁在私有数据库里」的做法不同,该插件强调:不改 DSH 源码、记忆以纯 Markdown 落在本地目录(默认 ~/.dsh/memory-vault),检索与去重在插件内自研实现,README 称运行时无第三方记忆框架依赖。
与上游及新项目的关系¶
README 明确说明:本仓库是 fork,不是原作者主仓库;代码版权与署名归原作者;本 fork 改动集中在 DSH 0.2.0-rc.x 兼容性(客户端 inject、设置写入通道、捕获钩子)以及界面调整(例如左下角入口改为嵌入式卡片、独立配置页图标、只读写接口口径修正),基线来自社区 PR #7。若上游合并同类修复,README 建议优先使用上游版本。
同时 README 提示:原产品线已升级为面向多智能体的独立项目 memory-eternal,新功能与持续开发以新项目为准(例如 npm i memory-eternal 或 dsh plugin --profile web add memory-eternal)。dsh-memory-eternal-fork 仍适合需要在 DSH 内使用 eternal 系记忆能力、且依赖本 fork 兼容性修复的场景。
核心功能¶
以下能力均来自 README 与 package 描述,可按模块理解:
- 自动沉淀:每轮对话结束后,在满足长度、配额、路由等条件时,将内容写入本地 vault;新卡默认进入审核中心(
pending),批准后才入主库。 - 按需召回:注册
memory_recall工具;开启「自动召回」时,Agent 需要历史上下文时可检索相关知识卡,而不是整段粘贴会话。 - 图形化记忆库:侧边栏底部「记忆」入口(本 fork 改为嵌入式卡片);左栏含知识卡、知识图谱、用量、审核中心、回收中心、记忆配置;「DSH 设置 → 记忆」为纯配置页。
- 跨 Agent 共用同一 vault(可选 CLI 路径):README 说明 Claude Code、Codex CLI、Cursor 等可通过全局安装的
dsh-memoryCLI 与 MCP / hooks 写入同一~/.dsh/memory-vault,并用submittedBy区分来源;DSH 侧以插件形态集成为主。 - 独立 Web 管理:
dsh-memory open可在浏览器打开与 DSH 内嵌同源的 UI(默认http://127.0.0.1:7999),用于统计、搜索、增删改与导入导出。
存储与检索方面,README 概括:去重用词法 Jaccard bigram 与可选语义去重;检索为 CJK 感知方案;图谱由 wikilink / 共享标签等连边;单卡为带 frontmatter 的 .md 文件。
安装与启用¶
插件在 DSH profile 中安装,需 Node.js >= 22(见 package.json 的 engines)。README 给出的 DSH 安装方式为:
# dsh-desktop 用户(推荐):DSH CLI 直接装进 profile
dsh plugin --profile web add dsh-memory-eternal
# 或直接在 profile(pnpm workspace)里更新。注意用 pnpm,npm install 会报 EUNSUPPORTEDPROTOCOL
cd ~/.dsh/profiles/web && pnpm add dsh-memory-eternal@latest
说明:上述命令摘自 fork 仓库 README 原文;本 fork 在 npm 上的包名为 dsh-memory-eternal-fork(SkillHub 目录页与 package.json 均为 v0.7.9)。若你的目标是安装 pokiimon/dsh-memory-eternal-fork 这一维护版,安装前请核对 profile 中实际解析到的 npm 包名与版本,避免误装上游同名包。README 未给出 dsh plugin add github:... 形式命令,本文不另行拼接。
安装完成后 重启 dsh web。README 称重启后应看到:自动沉淀、memory_recall 工具、以及侧边栏「记忆」入口与设置页。
典型用法¶
在 DSH 内¶
沉淀与召回在配置开启后自动参与对话流程;改配置路径为:记忆库左栏「记忆配置」或 DSH 设置 → 记忆,修改后点「保存配置」。其中 autoWebMode、watchdogAutoSpawn 等字段改动需重启 DSH 才生效(README 说明)。
CLI 速查(全局安装 dsh-memory 时)¶
README 提供的命令示例:
dsh-memory recall "数据库选型" # 检索
dsh-memory capture "重要结论..." # 手动沉淀(- 读 stdin)
dsh-memory sweep ~/.claude/projects # 挖掘已有会话记录
dsh-memory setup [--dry-run] # 重跑/预览自动挂载(幂等)
dsh-memory connect <claude|codex|cursor> # 写会话结束自动沉淀 hook
dsh-memory open # 确保 web 存活并打开浏览器
单独安装 CLI 时,README 写明命令来自 npm i -g(示例包名仍为 README 中的 dsh-memory-eternal)。
其它 Agent 接入(可选)¶
若除 DSH 外还要接 Claude Code、Codex 或 Cursor,README 给出例如:
npm i -g dsh-memory-eternal
dsh-memory connect claude
以及 Codex、Cursor 对应的 connect 子命令;会话结束 hook 会把内容写入同一 vault。是否自动改写本机 MCP / hooks 配置,由「自动挂载 MCP(autoMcpSetup)」等配置控制,默认关闭时不自动碰本机配置文件。
配置与排查要点¶
常用默认值(README「记忆配置」表格)包括:记忆库目录 ~/.dsh/memory-vault;自动沉淀 / 自动召回默认开启;「蒸馏知识卡」「语义去重喂 AI」默认开启(会调用模型,可关闭以省成本);捕获最小长度 200、日配额 60 等。
若「库里一直没有卡」,README 说明自动沉淀依次检查:开关 → 本轮文本长度 → 日配额 → 模型路由。可打开「沉淀诊断日志」查看跳过原因,或开启「无路由时存原文卡」。本 fork 针对 DSH 0.2.x 上会话事件读取(snapshotEvents 与旧 .events 字段)及 volatile 配置引用等问题做了修复说明(README 0.7.4–0.7.8 段落),在 0.2.0-rc.x 上若曾遇到「钩子静默不写卡」,升级至本 fork 版本后应对照 README 验证。
服务保活方面,README 区分 autoWebMode(web 如何随 DSH 拉起)、watchdogAutoSpawn(独立看门狗进程)与 autoMcpSetup(是否自动写外部 Agent 配置),三者含义不同,改错容易导致「以为已热更新、实际需重启」的误解。
适用场景与注意¶
适合谁:希望在 DSH 内建立可版本管理的本地记忆、跨会话保留项目决策与约束;当前使用 DSH 0.2.0-rc.x 且需要 eternal 系插件兼容性修复;接受「新卡先 pending、人工或规则审核后再入主库」的流程。
使用前请注意:
- 插件随 当前 DSH 进程权限 运行,可读写 vault 目录并可能调用模型做蒸馏 / 去重;安装前应阅读 GitHub 源码 与 MIT 许可证,自行评估信任边界。
- README 声明长期新功能转向 memory-eternal 独立项目;若你从零选型且不限定 DSH 插件形态,应同时阅读 upstream 的新项目说明再决定。
- 社区插件目录 SkillHub 与 GitHub 均为社区收录与分发渠道,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」的扩展模型。
结尾¶
dsh-memory-eternal-fork 把 DSH 对话沉淀为本地 Markdown 知识库,并用 memory_recall 做小块召回,在 token 与噪音之间做折中;本 fork 的价值在于在保留 eternal 系产品设计的同时,补齐 0.2.0-rc.x 上的兼容与界面问题。
- 目录页:https://www.skillhub.cn/plugins/pokiimon/dsh-memory-eternal-fork
- 仓库:https://github.com/pokiimon/dsh-memory-eternal-fork
- 上游:https://github.com/EternalNight996/dsh-memory-eternal