DeepSeek Harness 插件

omdsh-dev/dsh-mnemon

Star 数 ★ 11 分类 记忆 收录于 2026-08-13 npm dsh-mnemon

Mnemon 深度集成:本地三层记忆(Runtime Memory、可检索 Documents、受监督 Memory Spaces)。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-mnemon

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:omdsh-dev/dsh-mnemon

GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

Mnemon 与 DSH 的深度集成,为 DSH 提供完备的记忆系统能力。

dsh-mnemon 是 DeepSeek Harness(DSH)的本地 Mnemon 记忆插件。它把每轮可见的运行时热记忆、可直接阅读的项目档案(Documents)和按需召回的长期记忆体(Memory Spaces)组织成一个受监督、可检索、可维护的三层体系。

插件把 Mnemon 的长期记忆体能力接入 DSH,并补充 Runtime Memory、Documents、生命周期、受限子 Agent、WebUI、命令和权限边界。当前用户指令和仓库事实始终高于历史记忆。

What's more? 更多 DSH Native 能力支持正在路上。Memory to View.

实机演示

dsh-mnemon 记忆系统实机演示:状态、运行时记忆、多记忆体图谱、档案、检索、实体与监督写回

三层记忆

层级 适合保存 如何记住 如何进入上下文
运行时热记忆 用户偏好、稳定约定、环境事实、常用经验 显式操作或合格的后台审查更新 memories.json,再生成 USER.md / MEMORY.md 投影 每轮直接注入
项目档案 设计、调查、流程、架构理由、交接材料 创建或更新受管 Markdown 与 index.json;整理容量时先建立 Mnemon 冷引用,再迁移原文 先检索 active Documents,再按需读取全文
记忆体 跨会话的长期事实、决策、实体与关系 受限 spawn worker 选择最窄空间并查重,通过 Mnemon remember / link 写入四图 只从已激活 Memory Spaces 按需召回
当前任务产生的可复用信息
          |
          +-- 短小、稳定、每轮常用
          |      主 Agent / 合格的 fork 审查
          |                 |
          |      add | replace | remove
          |                 v
          |      memories.json(权威源)
          |                 |
          |      USER.md + MEMORY.md ----------> 每轮 prompt
          |
          +-- 完整设计、调查、流程与交接
          |      主 Agent / 合格的 fork 审查
          |                 |
          |          create | update
          |                 v
          |      index.json + active/*.md ------> 检索后按需全文
          |                 |
          |      Mnemon 冷引用 -> archived/*.md(容量整理)
          |
          `-- 跨会话事实、决策、实体与关系
                    主 Agent
                       |
              spawn:选空间 / 查重 / 写入
                       v
              Mnemon CLI -> <space>/mnemon.db
                       |
              spawn:仅召回 active 空间 -------> 有界证据

核心能力

  • 主动记忆路由:内置 Prompt、生命周期提示与工具说明会启发 LLM 按需调用全部读写能力;用户明确要求回顾、记住、修改、忘记或建档时,会自动选择对应层级和操作。
  • 统一的 globalworkspacecustom 存储范围,覆盖三层数据。
  • 多记忆体目录:每个记忆体拥有稳定 ID、名称、路由说明、激活状态和独立 mnemon.db
  • 受限子 Agent:长期召回与语义写入使用隔离的 spawn worker;后台审查使用继承已完成 checkpoint 的 fork worker。
  • 可靠容量维护:USER 热记忆在本地保守合并,MEMORY 热记忆先归档再压缩,Documents 先建立冷索引再迁移;revision 冲突时保留原数据。
  • DSH 原生体验:模型工具、/mnemon 命令、双语 Web 工作台、全局明暗主题和诊断状态页。
  • 本地优先:CLI 以参数数组启动且禁用 shell;数据库和文档不需要远程记忆服务。

前置条件

  • 可用的 DSH Web profile。
  • 本地 mnemon CLI。
  • 支持 outputSchematoolFilterpersonadepthLimit 的子 Agent provider。常规语义操作优先使用 spawn;默认后台审查还需要名为 fork、可继承父上下文的 provider。

兼容基线dsh-mnemon 0.1.0 已在 @deepseek-ai/dsh 0.1.0-rc.6(2026-08-13 快照)的 live web profile 上实测通过,最后验证日期 2026-08-14。插件不声明固定的最低版本矩阵;DSH 迭代快,升级前先在隔离 profile 或已备份的数据目录中复跑快速开始的验证步骤。

快速开始

安装 Mnemon:

# macOS
brew install --cask mnemon-dev/tap/mnemon

# macOS / Linux,也可通过 Go 安装
go install github.com/mnemon-dev/mnemon@latest

mnemon --version

安装插件并重启 DSH Web profile:

dsh plugin --profile web add dsh-mnemon
dsh --profile web

未发布到 npm 的预发布版本可从 git 安装:

dsh plugin --profile web add "github:omdsh-dev/dsh-mnemon"

本地开发检出使用绝对路径:

dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"

打开 DSH 的“设置 -> 插件配置 -> Mnemon”选择存储范围,再进入会话的“记忆系统”Tab 创建或激活记忆体。配置重启后生效;切换范围不会自动迁移、合并或删除旧数据。

升级与卸载(dsh plugin 转发给 profile 目录下的 pnpm):

# 升级
dsh plugin --profile web update dsh-mnemon

# 卸载(同时从 profile 移除其 bundle 注册)
dsh plugin --profile web remove dsh-mnemon

卸载不会删除记忆数据:global 范围数据留在 ~/.mnemonworkspace / custom 范围数据留在对应目录,重新安装后即可继续使用。若只想临时停用自动读写而不卸载,可在插件配置里关闭 writebackMode / recallMode / lifecycleEnabled(详见配置参考的“开关交互”与 tabEnabled 的当前限制)。

最小配置

配置位于 $DSH_HOME/settings.yaml(默认通常为 ~/.dsh/settings.yaml):

mnemon:
  storageScope: global # global | workspace | custom
  • globalMNEMON_DATA_DIR,未设置时为 ~/.mnemon
  • workspace:启动 DSH Host 时工作目录下的 .mnemon
  • customdataDir 指定的绝对路径或 ~/... 路径。

完整配置、覆盖优先级和只读模式见配置参考

使用入口

Web 工作台提供状态、运行时、记忆体、档案、沉淀、检索、实体、内容八个页面,分为三组:「状态」独立成第一组;「运行时、记忆体、档案」对应三层存储;「沉淀、检索、实体、内容」为读写工具。主要界面随 DSH 全局语言在中文与英文间切换。

记忆也会在对话流中直接体现(对话内交互,默认关闭,可在「设置 → 插件配置 → Mnemon → 对话内交互」中逐项开启,保存即实时生效):

  • 记忆工具卡:每个 mnemon_* 工具调用都以记忆风格的卡片呈现——召回显示查询与命中数、写入显示对象摘要,可展开查看参数与结构化结果,并可一键跳到记忆视图对应页面;
  • 回合记忆条:完成的回合若触及记忆,回合尾会出现「本回合记忆 · 召回 N · 沉淀 M · 档案检索 K」摘要,展开可见具体工具名;
  • 存入记忆:每条已定稿的助手回复旁有「存入记忆」按钮,候选内容可编辑,提交后由隔离的记忆子 Agent 判断、查重并沉淀,不占用主对话上下文。

常用命令:

/mnemon status
/mnemon recall <查询>
/mnemon related <完整记忆 ID>
/mnemon remember <稳定、自包含的长期洞察>
/mnemon forget <完整记忆 ID>

推荐的查询顺序是:热记忆 -> active Documents -> 已激活记忆体 -> 命中记录指向的归档原文。不要把临时进度、原始日志、秘密或可直接从仓库重新获得的普通事实写入长期记忆。

权限与数据

  • 文件:通过本地 mnemon CLI 读写数据目录——global 范围是 ~/.mnemonworkspace / custom 范围是用户指定的目录;插件不直接写这些目录,WebUI 也不直接读 SQLite。sourcePaths 不能逃出发起会话的工作区,也不能指向受管 Documents 目录。
  • 进程mnemon 以参数数组启动且禁用 shell,输出有上限,超时先 SIGTERMSIGKILL
  • 网络:插件与 Mnemon 均本地运行,不发起远程调用;子 Agent 的模型推理走 DSH 已有的 provider 连接。
  • 凭据:插件不存储、不读取任何凭据或 API key,模型凭据完全由 DSH 与 provider 管理。
  • 用户数据:记忆内容(用户画像、项目档案、长期记忆)全部落在本地 SQLite / JSON,不会上传。
  • 诚实披露:当前没有确定性的凭据/秘密检测器,请勿向热记忆、Documents 或 Memory Spaces 写入密钥、token 或私钥。完整边界(进程/文件/Web/模型)与备份恢复见运维、安全与故障排查

文档

开发

pnpm install
pnpm run verify

verify 依次运行 TypeScript 检查、Vitest 测试和生产构建。构建产物写入并提交到 lib/;详细发布与真实 WebUI 验证流程见开发文档

License

MIT。发现安全问题请通过 SECURITY.md 中的渠道私下报告,不要直接开公开 issue。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →