dsh-living-memory:DeepSeek Harness 的本地化自维护记忆插件

在 DeepSeek Harness (DSH) 的插件化生态中,构建具备长期记忆能力的智能体是常见需求。传统记忆方案往往依赖静态日志,检索效率低,或者依赖外部云服务,存在隐私风险。dsh-living-memory 旨在解决这些问题,提供一个完全本地化、具备自我维护能力的记忆存储与检索方案。

插件介绍

dsh-living-memory 是一个为 DeepSeek Harness 设计的“活体”记忆插件,由 dearbld 维护。它将智能体在对话中的信息、学到的教训以及做出的决策捕获到本地的 SQLite 知识库中,并定期进行主动维护:去重、合并、关联成知识图谱,以及模拟海马体的“遗忘-重用”机制。

核心功能

  • 完全本地化与单文件存储:数据完全存储在本地,单一 SQLite 文件。默认情况下,没有任何遥测数据离开设备。可选的向量通道在未配置前处于关闭状态。
  • 自维护夜间巡检:插件会定期运行夜间巡检,自动处理存储库。它执行去重与合并(处理高相似度条目)、时间衰减(未使用的条目权重降低)、冲突检测(新旧记忆冲突时标记而非静默覆盖)以及知识图谱的构建。
  • 混合召回机制:支持 7 种信号的混合检索,使用 Reciprocal Rank Fusion (RRF) 算法融合排序。这包括全文检索(SQLite FTS5 + jieba 分词)、衰减因子、相关性权重、共现统计、知识图谱 PPR 算法以及跳数增强。
  • 中文优先处理:采用专门的中文分词配置,确保中文语料检索的准确性。
  • Web GUI 遥测面板:集成在 DSH 的 Web GUI 中,提供数据快照和审计追踪。
  • 数据与代码分离:守卫规则和字典配置为 JSON 数据文件而非代码逻辑。这意味着调整防御策略或自定义术语无需修改源码,且发布的包中不会包含特定的站点特定黑名单。

安装与启用

使用官方安装命令即可完成注册。该命令会根据指定的 profile(默认为 web)调用对应的包管理器。

dsh plugin --profile web add dsh-living-memory

安装完成后,重启 DSH,插件会自动注册以下工具:

  • memory:提供 search(搜索)、timeline(时间线)、stats(统计)、read_episodic(读取片段)、read_evolution(读取演变)功能。
  • memory_write:提供带类型写入功能(fact / decision / todo / lesson),支持可选的关系边。

插件通过 cordis.patch.yml 自动挂载读写角色,默认配置为零配置。若需限制写入权限,可调整该文件。

数据位置与配置

数据文件默认存储在用户主目录下的 DSH 配置路径中:

~/.dsh/dsh-living-memory/

该目录包含数据库文件、每日快照以及配置文件(如 guard-rules.json 和 dict-extra.json)。

向量通道(可选)

插件支持向量通道用于增强检索,但默认关闭。如需启用,需在 DSH 的凭证管理器中配置 EMBEDDING_BAILIAN_KEY。此时插件会通过 DSH 的凭证管道读取该密钥,而不会在本地存储该密钥。

守卫规则与字典

根据设计理念,守卫规则和字典是数据文件,而非代码。
* 守卫规则:分三层,第一层优先级最高。包含拒绝(硬拦截)、敏感(不自动提取)、警告(软拦截)三类规则组。
* 字典:用于实体识别和知识图谱类型标注。支持自定义 JSON 文件覆盖默认配置。

典型用法

在智能体的工作流中,推荐遵循以下步骤:

  1. 先搜索再行动:在执行任务前调用 memory search <topic>,检查是否有相关的过往决策或事实。
  2. 写入关键信息:通过 memory_write 记录决策、教训或待办事项,并指定类型。
  3. 查看时间线:使用 memory timeline 查看按时间倒序排列的记忆概览,帮助智能体定位上下文。
  4. 依赖夜间巡检:让插件在夜间自动执行去重、合并和衰减操作,保持知识库的整洁和准确。

注意事项

  • 插件以当前 DSH 进程的权限运行,请确保安装前检查源码与许可证(MIT)。
  • npm publish 前会自动运行 scripts/preflight.cjs 进行发布前的合规扫描。
  • 插件不强制依赖任何外部服务,即便向量通道不可用,剩余的 6 种本地信号也能保证基本功能运行。
羽毛球分组比赛记分
小程序二维码

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

小夜