前言¶
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