DeepSeek Harness 插件:dsh-knowledge-sqlite

前言

DeepSeek Harness(DSH)的默認全文搜索(unicode61)無法匹配中文子串,導致在需要跨會話記憶的場景下檢索效率低下。dsh-knowledge-sqlite 旨在解決這個問題,它基於 V1.11 社區提案,爲 DSH 提供了一套跨會話知識管理方案,支持中文子串檢索和查詢擴展。

是什麼

這是一個由 NinjaSln-labs 維護的插件,核心是 ctx.knowledge 服務接口和 knowledge_* 模型工具。它將知識存儲在 SQLite 文件中,利用 FTS5 trigram 索引實現中文分詞檢索,並集成了 L1 查詢擴展機制。中文版 README(README.zh.md)爲權威版本。

核心功能

插件提供以下核心能力:

  • 知識管理工具:支持 knowledge_write(寫入)、knowledge_update(更新)、knowledge_list(列表)、knowledge_delete(刪除)以及 knowledge_probe(探針/實驗)。
  • 中文檢索:基於 SQLite FTS5 trigram,支持中文子串檢索,解決傳統全文搜索無法匹配中文的問題。
  • 查詢擴展:默認開啓 L1 查詢擴展,通過一次小模型調用提升召回率。
  • 數據持久化:支持 TTL 過期機制、Tombstone(墓碑)機制和 DedupeKey 去重。
  • 事件發射:在數據寫入、更新、刪除時發射 knowledge/written、knowledge/updated、knowledge/deleted 事件。
  • 權限與隔離:基於 session.header.cwd 實現工作區隔離;默認開啓 Ask-gated 權限控制,寫入和刪除需用戶批准。

安裝與啓用

使用官方安裝命令即可添加插件:

dsh plugin add dsh-knowledge-sqlite

典型用法

在 DSH 的配置文件(如 cordis.patch.yml)中配置插件參數。

  1. 配置權限:默認開啓 Ask-gated,需要用戶批准。若需跳過審批,可設置爲 gating: 'none'。
  2. 配置數據庫路徑:自定義 SQLite 數據庫文件位置。
  3. 配置檢索:調整檢索的候選數量和擴展超時時間。
# cordis.patch.yml / profile row
- id: knowledge-sqlite
  name: 'dsh-knowledge-sqlite'
  config:
    gating: 'ask'
    databasePath: '/custom/data/knowledge.sqlite'
    queryExpansion:
      enabled: true
      timeoutMs: 3000
    retrieval:
      topN: 20
      maxCandidates: 200
    authorization:
      allowedGlobalWriters: []

適用場景與注意

  • 適用場景:需要構建具備長期記憶和精確中文檢索能力的 DSH 智能體。
  • 注意事項:
    • 該插件基於 V1.11 社區提案,非 DeepSeek 官方功能。
    • 身份驗證基於 session.header.cwd,確保不同工作區的數據隔離。
    • 安裝前請檢查源碼與許可證(MIT)。
    • 默認開啓 Ask-gated,在無頭部署中需注意審批邏輯。

結語

該插件通過 SQLite FTS5 技術解決了 DSH 中文檢索的痛點,適合需要長期記憶和精確檢索的智能體開發。更多細節可參考 GitHub 倉庫。

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

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

小夜