前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”,通过扩展插件来增强智能体的能力。dsh-memgas 是其中的长期记忆插件,解决的是智能体在多会话交互中丢失项目上下文、无法复用历史约定与决策的问题。
插件定位¶
该插件由用户 quqxui 维护,基于 MIT 许可证开源。它为 DSH 提供长期记忆存储能力,核心在于多通道检索融合与记忆演化闭环。
核心功能¶
多通道检索融合¶
插件并行运行四个检索通道,并基于倒数排名融合(RRF)方法输出最终结果:
* Lexical(词法):基于 SQLite FTS5,保留标识符完整性,适合路径、包名、错误码。
* Dense(密集):向量相似度,适合同义问法。
* Granularity(粒度):基于熵路由器加权,决定检索单元(会话/轮次/摘要/关键词)。
* Graph(图):基于个性化 PageRank 的关联图检索,适合多跳关联。
记忆演化闭环¶
插件在后台队列中运行六个维护进程,持续优化记忆库:
* Associate:将新记忆与现有记忆聚类关联。
* Reconcile:合并重复项,处理冲突。
* Reinforce:增加常用记忆的权重。
* Decay:归档未使用的记忆。
* Abstract:对大集群进行摘要。
* Re-associate:刷新关联图。
本地存储¶
数据存储于本地 SQLite,不依赖外部 API Key 或模型下载,不离开机器。
安装与启用¶
安装插件需要访问 npm registry 或直接从 GitHub 安装。
dsh plugin --profile web add dsh-memgas
或
dsh plugin --profile web add github:quqxui/dsh-memgas
仓库包含预构建的单文件工件,GitHub 安装无需构建步骤。安装后重启 DSH 即可生效,默认零配置。
典型用法¶
模型工具¶
模型可调用以下工具:
* memory_save:保存事实或约定。
* memory_search:检索记忆。
* memory_status:查看状态。
用户命令¶
用户可通过 /memory 前缀指令管理记忆:
/memory search <query> # 检索并列出记忆卡片
/memory diag <query> # 查看各检索通道的详细结果和融合过程
/memory list [n] # 按重要性列出记忆
/memory export # 导出记忆为 JSON
/memory forget <id> # 归档记忆
示例¶
在一个会话中保存项目约定:
$ dsh --profile headless "Use memory_save to remember: this project deploys on port 8080,
and dependencies are managed with pnpm."
Saved to memory:
1. **Environment**: the project's deployment port is 8080.
2. **Convention**: dependencies are managed with pnpm (not npm/yarn).
在新会话中直接提问,无需显式调用工具,插件已将记忆注入上下文:
$ dsh --profile headless "What port does this project deploy on? What manages dependencies?
Answer directly."
From long-term memory:
- **Deployment port**: 8080
- **Dependency management**: pnpm
配置与扩展¶
虽然支持零配置运行,但仍可通过 cordis.patch.yml 进行自定义。配置项包括模式选择(lite/hybrid/memgas)、召回数量、自动摘要开关以及本地模型嵌入器配置。
适用场景与注意¶
该插件适合需要跨会话维护复杂项目上下文的场景。数据完全本地存储,适合对隐私敏感的项目。安装前建议检查源码与许可证。