前言¶
在 DeepSeek Harness(DSH)里跑智能体,上下文窗口再大,也扛不住长项目:偏好和协作约定每轮都要重复交代,设计文档散落在仓库各处,跨会话的事实又容易丢。把一切都塞进一个向量库,检索时噪声多、写入时难管控,Agent 还可能在不该写的时候悄悄改记忆。
dsh-mnemon 是社区维护者 omdsh-dev 推出的记忆类插件,目前在 SkillHub 插件库 归类为「记忆」,GitHub 约 205 stars、10 forks,采用 MIT 许可证。它给 DSH 提供统一的记忆控制面:运行时上下文、可检索的项目档案、可插拔的长期记忆体,再配合 WebUI、Headless 工具与受监督的 Agent 工作流,把「该记什么、放哪一层、怎么召回」拆清楚。
需要说明的是:SkillHub 是面向中国用户的 DSH 插件社区目录,与 DeepSeek / 幻方无官方从属关系;DSH 本身的理念是「一切皆插件」,这类目录便于发现与安装,但不等于官方应用商店。
这是什么¶
一句话定位:dsh-mnemon 是 DeepSeek Harness 的三层、可插拔、Agent 驱动的记忆系统——不要求所有知识进同一种数据库,而是用 Runtime(运行时)、Documents(档案)、Memory Spaces(记忆体)三层分工,第三层底层可在九种 Provider 间切换。
维护者为 omdsh-dev,源码仓库:https://github.com/omdsh-dev/dsh-mnemon。当前 npm 包版本为 0.3.0(以仓库 package.json 为准),官方 README 标明已在 DSH 0.1.1-rc.2 上验证。
核心功能与亮点¶
三层记忆,各管一类知识¶
| 层级 | 适合保存 | 如何进入 Agent | 由谁管理 |
|---|---|---|---|
| Runtime 运行时 | 偏好、协作规则、项目约定、环境事实 | 每轮通过紧凑的 USER.md / MEMORY.md 投影注入 |
dsh-mnemon Host 确定性管理 |
| Documents 档案 | 设计、调查、流程、复盘、交接材料 | 先检索,再按需阅读完整 Markdown | dsh-mnemon Host 确定性管理 |
| Memory Spaces 记忆体 | 跨会话事实、决策、实体与关系 | 从已激活记忆体召回有界证据 | Mnemon Native 或外部 Provider |
简单判断规则:每轮都需要的放 Runtime,需要完整阅读的放 Documents,跨任务按需召回的放 Memory Spaces。 当前指令、仓库文件与实时工具结果始终优先于历史记忆——三层不是同一内容的副本。
九种长期记忆 Provider,第三层可替换¶
官方优先的原生引擎是 Mnemon(本地 CLI + SQLite)。除 Mnemon 外,Memory Spaces 还可对接 OpenViking、Honcho、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory 等 Provider。前两层的存储与工作区交互模型不随 Provider 变化;外部 Provider 默认关闭,需显式启用。
Agent 驱动 + Host 管控的写入路径¶
「沉淀记忆」「存入记忆」等写操作会经独立任务 Agent 做判断、选路、查重与提炼,Host 控制是否真正写入;「检索」「本回合记忆」则是确定性的 Host 只读路径。任务 Agent 默认不挤占主对话历史,可在 设置 → 记忆系统 → 后台任务 Agent 指定专用模型路由。
多入口共用一套系统¶
- Sidebar WebUI:状态、运行时、档案、记忆体、Provider 配置与可视化
- 对话 UI:本回合记忆、存入记忆、跳转对应页面
- Headless:无 WebUI 时仍支持运行时注入、档案检索、记忆体工具与受监督写入
- 斜杠命令:
/mnemon status、recall、related、remember、forget
自 v0.3.0 起,三层成为可组合内核中的默认拓扑:MemoryBoot 装配 Layer、Adapter、Strategy、Guard 等扩展点,用户仍只安装一个 dsh-mnemon 包即可。
安装与启用¶
插件以 当前 dsh 进程权限 运行,安装前建议阅读源码与 MIT 许可证,确认可接受其数据与安全边界(下文注意事项有说明)。
1. 安装 Mnemon Native(推荐默认引擎)¶
Mnemon 是默认且最简单的本地优先起点:
# macOS
brew install --cask mnemon-dev/tap/mnemon
# macOS / Linux,也可通过 Go 安装
go install github.com/mnemon-dev/mnemon@latest
mnemon --version
Windows 可安装 v0.2.3 或更高版本的官方 ZIP,细节见仓库 Getting Started 文档。
2. 安装 DSH 与插件¶
官方 README 建议在可复现场景下固定 DSH 版本。DSH 0.1.1-rc.2 的完整 profile 需要 Node.js ^22.19.0 || >=24.0.0(Node 20 缺少 rc.2 使用的部分宿主原语);dsh-mnemon 包本身仍保留对 Node 20 的兼容,以适配较旧的 DSH Host。
npm install -g @deepseek-ai/dsh@0.1.1-rc.2
dsh --version
Web 交互场景安装插件(各 profile 的插件清单彼此独立):
dsh plugin --profile web add dsh-mnemon
dsh --profile web
一次性 Headless 任务需单独安装:
dsh plugin --profile headless add dsh-mnemon
dsh --profile headless "回答前先检查持久化的项目上下文。"
本地开发检出时,可用绝对路径链接:
dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"
dsh plugin --profile headless add "link:/absolute/path/to/dsh-mnemon"
也可通过 GitHub 仓库安装(与目录页常见的 github:owner/repo 写法等价):
dsh plugin --profile web add github:omdsh-dev/dsh-mnemon
典型用法示例¶
完成安装后,可按官方「5 分钟验证」流程走通第一次工作流:
- 打开 记忆系统 → 状态,确认 dsh-mnemon、Mnemon Native、运行时、档案与已启用 Provider 正常;
- 打开 记忆体 → 概览 → 创建记忆体,人工选择一个已启用的 Provider;
- 通过 沉淀记忆 提交一条稳定、未来仍有用的候选信息;
- 在 检索 先执行直接检索,再对同一问题执行 Agent 查询(只读,基于有界证据组织答案);
- 回到对话,展开 本回合记忆,点击条目跳转到对应来源。
Headless 场景可直接带任务启动:
dsh --profile headless "Check durable project context before answering this task."
对话内也可使用命令快速操作,例如查看状态或召回:
/mnemon status
/mnemon recall 项目里关于数据库迁移的决策
一级页顺序在 WebUI 中保持稳定:状态、运行时、档案、记忆体——熟悉这个顺序,日常维护会省不少时间。
适用场景与注意事项¶
适合谁用:
- 长期在 DSH 上做编码、调研或运维类 Agent 工作,需要跨会话保留项目约定与决策;
- 希望 Runtime / 文档 / 长期记忆分层管理,而不是「一个 RAG 库打天下」;
- 已有 Mem0、Honcho 等记忆服务,想在 DSH 内统一编排、按需切换 Provider;
- 既要用 WebUI 可视化维护,也要在 CI / 脚本里用 Headless 读写在场记忆。
使用前请注意:
- 权限与安全:插件与 DSH 同进程权限运行;Provider 凭据保存在本地
state/memory-providers.json(mode 0600),但不会回传给浏览器。任何层级都不应写入密钥、Token 或原始敏感日志——当前尚无确定性 secret 扫描器。 - 数据生命周期:Runtime 与 Documents 为本地确定性存储;关闭 Provider 只清理本地目录元数据,不删除远程数据;卸载插件不会删除本地或远程记忆数据;切换 global / workspace / custom 作用域也不会自动迁移旧根目录。
- 环境版本:若使用 DSH 0.1.1-rc.2 完整能力,请准备 Node 22.19+ 或 24+;与 README 验证矩阵不一致的旧 Host 可能出现兼容问题。
- 社区属性:Stars、Forks 随时间变化,本文写作时 SkillHub 目录显示约 205 stars;以你打开目录页或 GitHub 时的实时数据为准。
结尾¶
dsh-mnemon 把 DSH 里最容易「越用越乱」的记忆问题,拆成 Runtime、Documents、Memory Spaces 三层,并在第三层保留 Provider 插拔空间;写入路径受 Host 与任务 Agent 双重约束,读路径则尽量保持确定性。若你正在为 Harness 智能体补长期记忆,值得从默认的 Mnemon Native 起步,再按项目需要接入外部引擎。