dsh-tool-web-enhanced:爲 DeepSeek Harness 的 web_search 增加可組合檢索模塊

前言

在 DSH 生態裏,工具能力通常以插件形式擴展。對智能體開發者來說,stock web_search 往往只返回原生搜索,而實際使用又可能同時需要本地 SearXNG、本地 Markdown RAG 或 Parallel 結果。

dsh-tool-web-enhanced 是 edusrez 維護的 DSH 插件,MIT 許可,定位是 stock web_search 的 drop-in replacement:原生結果仍作爲第一個 section,其他來源作爲可選 section 附加到同一個搜索響應中。

這是什麼

dsh-tool-web-enhanced 是一個 web-search 插件。它圍繞 web_search 建立分節結構:native 結果優先,SearXNG、RAG、Parallel 等模塊各自作爲 section 出現。

沒有配置額外模塊時,保持 stock web_search 的行爲。

核心功能

  • Drop-in replacement for stock web_search
  • 模塊化 per-section 架構,原生結果保持第一。
  • 內置 SearXNG section、面向本地 markdown databases 的 RAG section,以及 Parallel section。
  • 支持可選 topicsources 參數;sources 可取 nativesearxngragparallelall
  • 提供 opt-in 的 parallel-extract web_fetch provider,可將 URL 的完整文檔作爲 markdown 返回,默認關閉。
  • 模塊缺失、禁用或不可達時靜默降級,只省略對應 section,不將請求整體變成錯誤。
  • 以 DSH bundle 形式安裝,插入 enhanced 行並禁用 stock tool-web 行。

安裝與啓用

先確認當前 DSH 環境已滿足 peer dependencies,包括 @deepseek-ai/cordis 以及 DSH web/tool 相關包。

執行安裝:

npm install dsh-tool-web-enhanced

安裝後會應用 DSH bundle patch,插入增強插件行,並禁用 stock tool-web 行。

注意:插件會以當前 dsh 進程權限運行,可能讀取你配置的本地文件目錄,並根據配置訪問 SearXNG、embedding 或 Parallel 服務。安裝前應檢查源碼、依賴關係和許可證。

倉庫地址:

https://github.com/edusrez/dsh-tool-web-enhanced

典型用法

配置 SearXNG section

如果你已經有一個本地 SearXNG JSON API,可以配置 sections.searxng.url 指向其 base URL。

sections:
  searxng:
    url: '<local-searxng-json-api-base-url>'

配置後,SearXNG 來源會作爲獨立 section 參與返回。

配置 RAG section

RAG section 面向本地 markdown databases。將本地 markdown 文件目錄加入 sections.rag.databases,並設置每個 database 的 topK

sections:
  rag:
    databases:
      - path: '<local-markdown-directory>'
        topK: 5

RAG 支持 auto / local / remote embeddings。

選擇 sources

調用時可通過 sources 參數指定返回的來源取值。已列出的取值包括 nativesearxngragparallelall

參數示意:

{
  "sources": "all"
}

啓用 parallel-extract

parallel-extract 默認關閉。若需要 web_fetch 返回完整 markdown 文檔,可以將其配置爲 opt-in provider:

fetchProvider: 'parallel-extract'

API key 可通過 env var 或 literal apiKey 提供,literal 值優先。

配置 Parallel section

Parallel section 可配置 sections.parallel.modesections.parallel.maxResults。其中 maxResults 上限爲 10,且該 section 無分頁。

sections:
  parallel:
    maxResults: 10

適用場景與注意

  • 適合在 DSH 中把本地 SearXNG、本地 Markdown RAG、Parallel 等來源接入同一個 web_search 響應的場景。
  • 適合希望保持原生搜索結果優先,同時按 section 查看其他來源的使用者。
  • 如果只需要 stock web_search,或不想引入額外依賴、本地路徑和外部 API 權限,可以繼續使用原生工具。

使用前建議確認:

1、當前 dsh 進程有權限讀取你配置的本地目錄,並允許目標 API 網絡訪問。
2、依賴滿足 peer dependencies,包括 @deepseek-ai/cordis 和 DSH web/tool 相關包。
3、靜默降級不會報錯:模塊 URL、路徑、API key 或網絡異常時,對應 section 可能直接消失,排查時需要檢查配置和運行日誌。
4、parallel-extract 是 opt-in,默認 disabled。
5、Parallel maxResults 最多 10,沒有分頁。

結尾

dsh-tool-web-enhanced 的價值在於把原生 web_search 擴展爲可組合的檢索入口:native 結果仍然優先,SearXNG、RAG 和 Parallel 按配置可選出現。

若你希望在 DeepSeek Harness 中同時使用多個檢索來源,它可以作爲一個可選的 web-search 插件位置。

GitHub:

https://github.com/edusrez/dsh-tool-web-enhanced
羽毛球分组比赛记分
小程序二维码

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

小夜