前言¶
在 DeepSeek Harness(DSH)的开发中,如何让智能体在会话之间保持上下文一致性是一个常见需求。dsh-mnemosyne 是一个将本地优先的 SQLite 记忆系统 Mnemosyne 集成到 DSH 的插件。它移植自 Mnemosyne 官方的 Pi coding agent 扩展,旨在为 DSH 提供跨会话的记忆能力,无需依赖云端服务。
核心定位¶
该插件提供了一套完整的记忆管理工具链和设置面板,将 Mnemosyne 的记忆逻辑封装为 DSH 原生工具。数据存储在本地 SQLite 数据库中,默认路径为 ~/.dsh/mnemosyne。
安装与启用¶
安装插件需要通过 CLI 执行以下命令:
# 安装插件到 web profile
dsh plugin --profile web add dsh-mnemosyne
安装后,重启 profile 并进入 Settings > Mnemosyne 点击 Setup 按钮,或者手动安装 Mnemosyne CLI:
uv tool install mnemosyne-memory
核心功能¶
插件提供了六种原生工具,直接供智能体调用:
mnemosyne_remember:存储记忆mnemosyne_recall:检索记忆mnemosyne_forget:遗忘记忆mnemosyne_stats:查看统计信息mnemosyne_sleep:执行会话合并mnemosyne_bind:绑定工作区
除了工具调用,插件还包含以下管理特性:
- 记忆仪表板:通过 Settings 面板或 Better Sidebar 集成,提供记忆概览、过滤、批量编辑和三元组管理。
- 自动合并:默认开启,每 10 个持久化回合会自动检查工作记忆数量并执行合并。
- 过滤管理:支持按信任度、过期时间、重要性筛选,支持批量修改属性。
- 配置同步:设置面板读取并管理
config.yaml,支持一键重置为默认值。
自动记忆机制¶
默认开启自动记忆功能,通过以下机制保证上下文连续性:
- 提示注入:在系统提示中注入
# Mnemosyne Memory头部,告知模型记忆可用。 - 自动同步:自动保存用户消息(过滤掉插件注入的消息),使对话持久化。
- 自动预取:在模型调用前检索相关记忆并注入上下文。
- 会话隔离:记忆按 DSH session_id 分区,新会话默认继承
sessionScope行为(除非手动迁移)。
数据与配置¶
- 数据隔离:所有数据存储在
~/.dsh/mnemosyne,与 Hermes 等其他插件的数据完全隔离。 - 配置来源:配置分为 DSH 侧(设置面板保存)和 Mnemosyne 侧(
config.yaml)。
注意事项¶
- 前置依赖:Settings 中的 Setup 按钮依赖
uv工具在 PATH 中可用。 - 行为兼容:现有安装默认保留旧的
sessionScope行为,即 legacy session 中的记忆可能无法被新的会话隔离逻辑检索到,需要通过仪表板手动迁移。 - 权限运行:插件以当前 DSH 进程权限运行,使用前请检查源码与许可证。
总结¶
dsh-mnemosyne 解决了 DSH 插件在跨会话记忆管理上的空白,通过本地 SQLite 存储和自动化机制,降低了使用门槛。适合需要长期记忆能力的智能体开发场景。