dsh-obsidian-agent-wiki:DeepSeek Harness 的可搜索 SQLite Obsidian 記憶

DeepSeek Harness 插件生態中,爲智能體提供本地知識庫是常見需求。傳統的文件系統掃描插件只能線性讀取,無法按目錄或屬性過濾,且全文搜索在處理中文短詞時往往存在侷限。dsh-obsidian-agent-wiki 插件通過在啓動時構建內存中的 SQLite 索引,解決了這些問題,爲智能體提供了一個具備全文搜索和結構化過濾能力的 Obsidian 訪問層。

核心功能

  • SQLite 索引:插件基於 Node 22 的內置 node:sqlite 構建,無運行時依賴。在啓動時掃描 vault 並構建內存表,在 wiki_write 和 wiki_append 操作時自動更新索引。
  • 全文搜索:支持 2 字符中文查詢。
  • 結構化過濾:支持按路徑、類別、項目、標籤過濾。
  • 結果排序:支持按匹配次數排序。
  • 工具支持:提供 wiki_read、wiki_list、wiki_write、wiki_append、wiki_search 工具。

安裝與啓用

安裝插件需要 DeepSeek Harness(dsh)版本 ≥ 0.1.1-rc.2,以及 Node 版本 ≥ 22.5。

在終端中執行以下命令:

dsh plugin add dsh-obsidian-agent-wiki

配置

配置插件指向本地 Obsidian 倉庫。

方法一:在 cordis.patch.yml 中配置

在 dsh 的配置文件中添加以下內容:

- id: dsh-obsidian-agent-wiki
  name: dsh-obsidian-agent-wiki
  config:
    vaultPath: B:/path/to/your/vault

方法二:設置環境變量

設置 OBSIDIAN_VAULT_PATH 環境變量,然後重啓 dsh。

工具與用法

插件提供以下工具供智能體調用:

  • wiki_read(file_path)
    讀取指定路徑的筆記內容。

  • wiki_list(path?)
    列出指定路徑下的目錄或文件。路徑爲可選參數。

  • wiki_write(file_path, content)
    寫入或覆蓋筆記內容,操作完成後立即重新索引。

  • wiki_append(file_path, content)
    向筆記追加內容,操作完成後立即重新索引。

  • wiki_search(query, path?, category?, project?, tag?, limit?)
    進行全文搜索和結構化過濾。返回結果包含路徑、標題、類別、項目、匹配次數和摘要,按匹配次數排序。

索引機制與搜索細節

  • 索引構建:插件在啓動時掃描 vault(跳過 .obsidian、.git、node_modules、.trash 目錄)並構建索引。
  • 索引更新:通過 wiki_write 和 wiki_append 工具對筆記進行操作時,會立即觸發對應筆記的重新索引。
  • 手動編輯:如果在 Obsidian 中手動編輯了筆記,索引不會自動更新,需要重啓 dsh 進程才能生效。
  • 全文匹配:插件使用 LIKE '%query%' 而非 FTS5 trigram 進行全文匹配。這是爲了確保支持 2 字符的中文短詞查詢(FTS5 trigram 在查詢短於 3 個字符時會返回零結果)。

注意事項

  • 版本依賴:確保滿足 Node ≥ 22.5 和 dsh ≥ 0.1.1-rc.2 的版本要求。
  • 權限與安全:插件以 dsh 進程權限運行,安裝前建議檢查源碼與許可證(MIT)。
  • 搜索實現:由於使用 LIKE 進行掃描,在筆記數量達到數十至數百篇時性能依然保持亞毫秒級,但在極大量筆記下性能可能下降。

生態背景

DeepSeek Harness 理念是「一切皆插件」。此插件由社區開發者 CagierAsh123 維護,安裝目錄與 GitHub 倉庫爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜