dsh-self-memory: 本地离线的 DSH 经验记忆闭环

在 DeepSeek Harness (DSH) 的开发与调试过程中,智能体经常会遇到重复性问题。如果每次都从零开始解释背景,效率较低。我们需要一种机制,让智能体能够跨会话记住遇到的问题、解决方法以及脚本路径,从而减少重复劳动。dsh-self-memory 旨在解决这一问题,通过结构化记录和自动检索,实现离线、零依赖的经验记忆闭环。

插件简介

dsh-self-memory 是一个由 cyanxi69-jpg 维护的 DSH 插件。它将会话中遇到的问题、多种解决方法、脚本文件路径以及模型调用全过程进行结构化记录。新会话启动后,系统会自动检索历史方案并注入上下文,通过“先查、试、标命中/失败、回写”的流程,实现经验的自动沉淀与复用。

核心能力

  • 结构化记录:将问题、方案、脚本路径与模型调用全过程结构化存储。
  • 自动检索与注入:新会话自动检索历史方案并注入上下文,支持命中与失败反馈。
  • 零依赖与离线:纯本地运行,无需外部服务,离线可用。
  • 外部导入:支持通过接口导入现有的解决方法。
  • 前提感知检索:根据不同的前提条件返回不同的解决方案。
  • 泛化与规范化:自动生成泛化问题以增强检索能力,支持关键词规范化与同义词表管理。

安装与启用

安装该插件需要将本地目录添加到 DSH 的插件配置中。

dsh plugin --profile web add <本目录>

安装后,可以通过免重启热挂载的方式生效:

dev_install_package {"dir": "<本目录>"}

安装完成后,可以通过以下命令验证插件状态:

selfmem_status

如果代码更新,需要执行以下命令重载:

dev_reload_package dsh-self-memory

典型用法

1. 检索历史方案

当需要查找历史经验时,使用 selfmem_search。

selfmem_search {"query":"如何识图"}

2. 记录新的解决方案

记录问题时,可以指定关键词权重、适用前提以及方案内容。例如,记录断网时的安装方案:

selfmem_record {"problem":"断网时如何安装插件","solution":"解压本地包 → dsh plugin add <目录> → pnpm install → dev_install_package 热挂载","keywords":{"plugin":1,"network":0.6},"appliesTo":{"network":"no"}}

3. 标记方案结果

当智能体尝试了历史方案后,可以反馈结果。成功则标记命中,失败则记录根因。

selfmem_hit {"query":"断网时如何安装插件","solutionId":"s-…"}
selfmem_fail {"query":"断网时如何安装插件","solutionId":"s-…","rootCause":"…"}

4. 外部导入

如果有现成的知识库,可以通过 selfmem_import 进行导入。

selfmem_import {"source":"examples/import-demo.json"}

限制与注意事项

  • 检索方式:目前仅支持关键词、泛化文本和倒排索引检索,暂不支持向量语义检索。
  • 数据提取:虽然会自动采集会话轨迹,但不会自动提炼为记录,通常需要手动调用 LLM 进行提取。
  • 存储性能:记录以 JSON 文件形式存储,当记录达到万级后,性能可能会受到限制。

总结

dsh-self-memory 是一个专注于本地化、结构化经验沉淀的工具。它通过简单的命令交互,帮助 DSH 智能体构建自己的知识库,减少重复性问题的排查成本。其开源许可证为 MIT,项目地址见 GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜