前言¶
DeepSeek Harness (DSH) 的对话会话通常以静态日志形式存在,难以在后续会话中快速检索特定信息。dsh-plugin-rag 是一个插件,它通过语义检索(RAG)技术,将你的所有 DSH 聊天会话转化为可搜索的持久化记忆。
插件简介¶
- 名称: dsh-plugin-rag
- 核心价值: 为所有 DeepSeek Harness 聊天会话提供语义记忆(RAG),实现自动、自包含且非破坏性的对话索引。
- 维护者: mervyn-teo
- 许可证: MIT
核心功能¶
该插件通过监听 DSH 的事件系统来实现以下能力:
- 自动索引: 自动将对话转化为可搜索的记忆,无需手动导出或重建。
- 增量索引: 新消息会递增索引,旧内容在压缩或替换时会递减,始终保持索引反映当前会话状态。
- 非破坏性: 仅监听发布的事件,不修改 DSH 的运行循环。
- 自包含: 向量数据存储在本地 JSON 文件中,不依赖外部数据库。
- 模型无关: 支持内置预设或自定义端点。
- 工具集成: 提供
rag_search工具供模型调用。 - 索引规则: 默认启用索引工具结果,默认禁用索引推理块。仅索引人类发出的
user/message事件。
安装与启用¶
安装该插件需要修改 package.json 和 cordis.patch.yml。
- 在
package.json的dependencies中添加:
"dsh-plugin-rag": "github:mervyn-teo/dsh-plugin-rag"
- 在
cordis.patch.yml中添加插入行:
- insert:
- id: rag
name: dsh-plugin-rag
config:
enabled: true
provider: soclaas-bge-m3
model: bge-m3
endpoint: https://soclaas-api.comp.nus.edu.sg/v1
topK: 5
dataDir: ""
includeToolResults: true
includeReasoning: false
maxChunkChars: 4000
- 重新安装并重启 Harness。
使用方法¶
安装完成后,模型将获得 rag_search 工具。你可以通过以下命令检索历史对话:
rag_search("how did we set up the terminal plugin's WebSocket handshake?")
注意事项¶
- 存储位置: 索引默认存储在
~/.dsh/rag/index.json。 - 重建机制: 更改模型或端点会触发完全重建。
- API 密钥: 通过环境变量或设置管理,不存储在索引文件中。
- 重启行为: 重启是幂等的,仅处理新内容。
参考资源¶
- GitHub 仓库: https://github.com/mervyn-teo/dsh-plugin-rag
- 生态目录: https://www.skillhub.cn/plugins/mervyn-teo/dsh-plugin-rag