dsh-file-reference-everything:DeepSeek Harness 全盤文件引用

在 DeepSeek Harness (DSH) 中,默認的 @ 文件引用補全通常侷限於當前工作區。若需訪問機器上任意文件,或利用 Everything 搜索引擎實現毫秒級響應,需要額外的工具。dsh-file-reference-everything 插件提供了 ctx.fileReferences 的全盤實現方案。

插件簡介

dsh-file-reference-everything 是 lumose0 維護的一個 DSH 插件。它將智能體的文件引用能力從“當前工作區”升級爲“機器上任意文件”。當 Everything 運行時,它通過 es.exe 命令行客戶端提供毫秒級的原生搜索;若 Everything 未運行,插件會使用其內置的、跨平臺的有限索引作爲後備方案。

核心功能

  • 全盤文件引用實現:完整實現了 ctx.fileReferences 接口。
  • Everything 即時搜索:通過 es.exe 命令行客戶端響應查詢,速度極快。
  • 跨平臺後備索引:在 macOS 和 Linux 上,當沒有 Everything 時,使用內置的有限磁盤索引。
  • 查詢支持:支持模糊搜索和正則表達式。
  • 工作區優先:工作區結果始終被合併,並排在全盤搜索結果之前。
  • 文本引用指引:提供文件路徑文本引用,實際讀取內容需依賴 read 工具。

安裝與啓用

推薦安裝到 web 配置文件中,因爲 @ 文件補全 UI 僅存在於該配置下。

dsh plugin --profile web add github:lumose0/dsh-file-reference-everything

安裝注意事項:
* 該包包含 prepare 腳本,會在安裝時從源碼構建 lib/。如果你使用 pnpm >= 10,首次添加可能會失敗,需要在 pnpm-workspace.yaml 中添加:

    allowBuilds:
      dsh-file-reference-everything: true
然後重新運行安裝命令。這僅允許在安裝時執行代碼,建議在允許前審查源碼。
  • 如果安裝到非 web 配置文件,可能會看到無害的警告 patch: entry "file-reference-local" not found。

典型用法

查詢語法位於 @ 之後(路徑含空格請使用 @")。

  1. 模糊搜索:在合併的工作區與全盤索引中搜索。
    • 示例:@config
  2. 正則匹配:使用正則表達式。
    • 示例:@re:pattern 或 @regex:pattern
  3. 絕對路徑瀏覽:指定絕對路徑。
    • 示例:@D:/...、@//server/share/...、@~/...
  4. 相對路徑瀏覽:基於代理當前工作目錄。
    • 示例:@src/comp

注意:插件僅提供文本路徑引用。當模型需要讀取文件內容時,必須調用 read 工具。插件會向模型提供一段系統提示,告知其使用 read 工具,並在未讀取前不得聲稱已查看文件。

注意事項與限制

  • 僅文本引用:選中的路徑是文本引用,讀取操作仍需 read 工具支持,且受部署環境的文件系統權限限制。
  • 後備索引限制:全盤後備索引是有限的(受 globalMaxEntries 限制)且是惰性的(僅在查詢間隔超過 refreshSeconds 時重建)。它不支持 .gitignore 語義,僅跳過 excludedDirectories 中列出的目錄。
  • es.exe 衝突:如果查詢以 - 開頭,可能會被 es.exe 解析爲命令行選項而非搜索詞。
  • 重複條目:同一個文件可能同時出現在工作區相對路徑和全盤絕對路徑結果中。
  • 固定評分:對於插件無法匹配的通配符等特定語法,評分是固定的,可能不如精確匹配的排名準確。

適用場景

適合需要在 DSH 智能體中快速定位系統配置文件、第三方庫代碼或任意磁盤文件的場景。在使用前,請確保對插件源碼進行審查,並檢查其許可證(MIT)是否符合你的項目要求。

總結

dsh-file-reference-everything 通過替換 DSH 默認的文件引用提供者,將文件搜索範圍擴展到了整個機器。它利用 Everything 提供極致性能,同時提供跨平臺的回退機制,並確保工作區文件始終優先級最高。

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

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

小夜