dsh-local-search:讓模型查本機索引,而不是猜路徑

前言

DeepSeek Harness(DSH)會話通常只綁定一個工作目錄。目錄內的 grep、glob 很快,但目錄外幾乎看不見。任務若依賴散落在其他盤符或項目外的合同、筆記、PDF,模型往往只能猜路徑,或停下來請你另開窗口自己找——對話空轉,查找又回到你手上。

本機全文檢索插件 fishdivinity/dsh-local-search 把「找文件、讀正文」拆成五個只讀工具:文件名走 Everything 的 es.exe,文檔正文走 Anytxt Searcher 的 JSON-RPC。查詢走已有索引,毫秒級返回,不掃盤、不寫盤、不重建索引。維護者爲 fishdivinity,npm 包名 @fishdivinity/dsh-local-search,社區目錄分類爲「記憶」,許可證 MIT,當前 package 版本 0.4.0。

這是什麼

一句話:在 Windows 上爲 DSH 提供全盤文件名檢索與 PDF / Word / Excel / PPT / EPUB 等格式的正文檢索,全部只讀,由模型調用工具完成查找與引用。

與「只在工作區裏搜」相比,差別在於索引覆蓋整機(在配置的搜索範圍內),且非純文本格式可通過 Anytxt 取正文,而不必你手動複製粘貼。

核心功能:五個工具

工具 引擎 用途
local_search_files Everything(es.exe) 按文件名、路徑、跨盤發現文件與文件夾
local_search_content Anytxt JSON-RPC 在 PDF、DOCX、XLSX、PPTX、EPUB、RTF、TXT、MD 內搜正文
local_search_fragments Anytxt 單文件內匹配附近的片段
local_search_read Anytxt 單文件提取純文本(有上限)
local_search_status 兩者 檢查各引擎是否可達

插件不捆綁 Everything、es.exe 或 Anytxt,需自行安裝並授權;也不負責 OCR、刪改文件或啓動索引引擎以外的寫操作。

README 中歸納的適用情形包括:檢索只是完成主任務的一步;你知道大意但記不清關鍵詞;答案要跨多文件對比;批量從多份文檔抽字段;目標不是純文本無法用 grep;回答需要帶路徑與摘錄以便覈對。

環境與依賴

  1. 操作系統:Windows。
  2. DSH:>=0.2.1-0 且 <0.3.0(見 README 徽章與 Requirements)。
  3. Everything:需運行;另需下載 es.exe(voidtools 提供)。插件可自動探測 PATH 或常見安裝目錄,也可在配置裏設置 files.everything.esPath。
  4. Anytxt:需運行 GUI(ATGUI.exe),JSON-RPC 服務在 GUI 進程內;僅索引服務不夠。

安裝與啓用

安裝命令必須寫入當前會話實際使用的 profile:Desktop 應用用 desktop,dsh web 用 web。

dsh plugin --profile desktop add @fishdivinity/dsh-local-search   # Desktop app
dsh plugin --profile web add @fishdivinity/dsh-local-search       # dsh web

若要從源碼安裝而非 npm 包,將規格換爲 github:fishdivinity/dsh-local-search(README Install 節原文)。

安裝後重啓 profile 或新開 session,模型工具列表中會出現上述五個 local_search_* 工具。

配置要點

在 DSH 側邊欄 Plugins → Official plugins 中的 Local Search 卡片進入插件頁。保存後對下一次工具調用生效;離開頁面前未保存的編輯會丟棄。Reset 會清除引擎與 limit 相關設置並由探測重新填充,搜索範圍與啓動檢查開關保留。

頁面按能力分區:File names、File contents 各自選擇後端並展示對應字段;Search scopes、Limits、Startup 與後端無關。Anytxt 端點下方有 Test connection,可同時探測 Everything 與端點(無需先保存);es.exe 路徑填錯會提示文件缺失。保存前會對端點與 es.exe 路徑做探測,失敗時可選擇是否仍保存(硬錯誤如無此路徑則無法繞過)。

路徑字段保存時會規範爲 Windows 寫法(盤符大寫、反斜槓等);若路徑存在,以磁盤實際拼寫爲準。

更細的 scopes、引擎選擇、錯誤診斷與安全限制見 GitHub README 與 簡體中文 README。

典型用法(模型側)

文檔未給出固定 CLI 示例,而是描述工作流:你在對話裏提出需要某類文檔或某段表述的任務;模型依次調用 local_search_status 確認引擎可用,用 local_search_files 或 local_search_content 查索引,再用 local_search_fragments / local_search_read 精讀命中文件,最後帶路徑與摘錄回答。例如「對比兩份合同裏的付款條款」「從多份會議紀要裏歸納關於進度的決定」——搜索是手段,閱讀與對比由模型完成。

適用場景與注意

適合:Windows 上已部署 Everything 與 Anytxt;希望 agent 在本機索引範圍內自主找名、搜正文並引用來源;工作常涉及 PDF、Office、EPUB 等非倉庫內純文本文件。

務必注意:

  • 插件以當前 DSH 進程權限運行,能檢索到的範圍受 Everything / Anytxt 索引與你在插件裏配置的 search scopes 約束;安裝前請閱讀源碼與 MIT 許可證,確認可接受其只讀邊界與已知限制(README 的 Known limitations、Security and limits)。
  • 社區插件目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝與配置以 GitHub 文檔爲準。
  • GitHub 上該倉庫公開 star 數爲 2(與目錄頁一致),不代表功能完備度,僅作生態參考。

結尾

dsh-local-search 把「整機文件名 + 常見文檔正文」收斂爲五個只讀工具,讓 DSH 在索引上查盤而不是猜路徑。需要安裝命令、配置字段與限制說明時,可直接查閱倉庫文檔。

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

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

小夜