前言¶
DeepSeek Harness 的设计理念强调模块化与扩展性。在构建具备长期记忆能力的智能体时,开发者常面临数据持久化方案侵入性强、图谱维护困难或检索效率低的问题。dsh-memory-graph 是一个基于 DSH 生命周期扩展点开发的插件,它通过本地 SQLite 数据库提供长期记忆与时间知识图谱,不修改 Harness 源码,卸载即可移除所有工具与 UI 组件。
插件定位¶
这是一个本地优先、非侵入式的长期记忆与知识图谱插件,由维护者 zmh2000829 开发,采用 MIT 许可证。它为 DSH 代理提供可审计、可维护的持久化存储,并在 DSH Web 界面中渲染实体图谱。
核心能力¶
该插件通过以下机制实现记忆与知识图谱的稳定运行:
- 非侵入式设计:不依赖 Harness 源码补丁或 Fork 代理循环。卸载插件后,其工具、监听器、路由及 UI 贡献会自动移除。
- 可维护的图谱:使用规范名称、冲突检测、实体合并/重命名、孤立节点发现以及引用感知的垃圾回收,确保图谱在长时间对话后仍保持可用。
- 中文检索支持:使用 FTS5 三元组索引结合短查询回退机制,处理连续 CJK 文本而无需依赖空白符分词。
- 混合相关性召回:结合词法匹配、图邻近性、重要性、时间衰减和显式访问强化进行排序。语义召回(OpenAI 兼容嵌入)默认关闭,作为可选补充。
- 每回合控制:DSH Web 界面提供“默认”、“本回合开启”、“本回合关闭”选项,允许在对话中动态调整记忆策略,该设置仅对下一轮生效。
- 故障处理与恢复:支持可恢复的源归档(限制上下文长度)和持久化故障处理(SQLite 写入失败进入离线邮箱,启动时重放)。
安装与启用¶
当前版本直接从 GitHub 克隆安装。安装前请确保环境满足 Node.js 版本要求(^22.19.0 或 >=24.0.0)。
- 克隆仓库并安装依赖:
git clone https://github.com/zmh2000829/dsh-memory-graph.git
cd dsh-memory-graph
npm ci
npm run check
- 将本地检出链接到 DSH 配置文件:
dsh plugin --profile web add "$PWD"
dsh web
- 打开 DSH Web 界面,在侧边栏展开 Memory 即可查看仪表盘与知识图谱。
使用与维护¶
安装后,插件默认启用自动召回、自动轮次摘要和可视化。知识图谱视图基于配置文件范围的数据库,而非当前会话,可用于检查关联、重复实体及错误关系。
- 验证安装:
dsh plugin --profile web list dsh-memory-graph
- 升级:由于使用本地检出链接,升级时只需拉取代码并重新校验:
cd /path/to/dsh-memory-graph
git pull --ff-only
npm ci
npm run check
- 卸载:
dsh plugin --profile web remove dsh-memory-graph
注意:卸载操作仅移除配置链接,**不会**删除本地 SQLite 数据库和 JSONL 备份文件。
注意事项¶
- 环境依赖:插件依赖 Node.js 环境,安装前请使用
dsh --version和dsh plugin --profile web list确认 CLI 与配置文件可用。 - 数据安全:数据存储在本地私有 SQLite 数据库中,确保 DSH 进程有读写权限。
- 多会话共享:Web 界面的知识图谱仪表盘基于全局配置文件数据库,所有会话共享同一数据源;如需隔离,需使用独立的
path配置。 - 版本兼容:请确保使用 Node.js
^22.19.0或>=24.0.0。