dsh-web-search-lite:DeepSeek Harness 免密鑰多引擎聯網搜索

前言

在 DeepSeek Harness(DSH)裏讓模型查當前網頁信息,常見有兩條路:用內置的 web_search(往往對接官方或第三方搜索 API,按次計費、要配密鑰),或自己寫插件去調搜索引擎。若你只是希望對話裏能「搜一下再讀正文」,又不想先申請一堆 API Key,leiming2333/dsh-web-search-lite 針對的是這個場景:開箱即用抓取多家公開結果頁,聚合並去重;需要更穩的結果時再可選 Tavily、Serper 等 API。它和 npm 上的 dsh-web-search-pro(作者 anweat)不是同一個包,裝包前看清名稱。

這是什麼

dsh-web-search-lite 是社區維護的 DSH 聯網工具插件(維護者 leiming2333,MIT 許可,當前 npm 版本 1.3.2)。它向模型註冊兩個新工具 web_search_api 與 web_fetch_api,不接管、不修改 DSH 自帶的 web_search;內置搜索仍在官方「插件 → 網頁搜索」裏配置。

默認同時查詢 DuckDuckGo、Bing 網頁、百度、360 搜索四家,合併去重後返回來源列表;並可把命中 URL 讀成純文本。免密鑰引擎通過讀取公開結果頁拿數據,零額外 npm 運行時依賴(宿主側僅用 Node 內置模塊)。

目錄頁:https://www.skillhub.cn/plugins/leiming2333/dsh-web-search-lite
源碼:https://github.com/leiming2333/dsh-web-search-lite

核心功能

模型可用的工具

工具 作用
web_search_api 一次搜索,返回排序後的來源(標題、URL、摘要、發佈時間)。默認 provider 爲全部引擎聚合;支持單次調用臨時指定 provider、language、maxResults,不寫進設置。
web_fetch_api 將 URL 轉爲純文本(去掉標籤、腳本、樣式),用於打開搜索命中的頁面;可在設置裏關閉註冊。

出錯時工具會給出可操作的提示(反爬建議換引擎或配 API、解析失敗說明頁面結構變化、401/403/429/超時等),而不是隻拋狀態碼。

搜索引擎與 all 合併邏輯

免密鑰(默認 provider: all)

provider 引擎 說明
all 四家合計 併發查詢,輪轉交錯合併,按 URL 去重後截斷到 maxResults
duckduckgo DuckDuckGo 讀 html.duckduckgo.com 結果頁
bingweb Bing 網頁 讀 bing.com/search 結果頁
baidu 百度 讀 baidu.com/s,過濾推廣位
so360 360 搜索 讀 so.com/s;密集請求可能觸發攔截頁,聚合模式下不影響其他引擎
searxng 自建 SearXNG 須填服務地址;配置後也會加入 all

合併策略要點:各引擎併發、各自至少取 max(count, 6) 條;輪轉而非簡單首尾拼接,避免某一引擎霸佔靠前位置;URL 去重時忽略常見跟蹤參數;用 allSettled,單家失敗不拖垮整次搜索,並在輸出中標註「未返回」的引擎。

需要 API Key(可選)

支持 tavily、serper、brave、exa、bing(Azure Bing Web Search API)等;密鑰與端點在設置頁填寫。

設置與存儲

配置項保存在 <DSH_HOME>/web-search-pro/settings.json(默認 ~/.dsh/web-search-pro/settings.json)。目錄名與 API 前綴使用組合行 id web-search-pro,與 npm 包名 dsh-web-search-lite 不同,改包名不會動已有配置。

在 DSH 客戶端打開 設置 → 網絡搜索,可改引擎、密鑰、條數、超時等;保存後下一條消息生效,無需重啓(僅改設置時)。頁面提供 測試連接,用已保存配置跑一次真實查詢。

主要字段(節選):

字段 默認 說明
provider all 搜索引擎
apiKey / endpoint 空 API 密鑰與自定義地址(SearXNG 必填 endpoint)
maxResults 8 1–50
timeoutMs 20000 1000–120000
enableFetch true 是否啓用 web_fetch_api
fetchMaxChars 20000 單頁保留字符上限

安裝與啓用

安裝前確認包名爲 dsh-web-search-lite,不要誤裝 dsh-web-search-pro。本插件 peerDependencies 聲明 @deepseek-ai/dsh-tools 爲 ^0.2.0-rc.1,在 DSH 0.2.2-rc.1 等版本上可通過兼容性檢查。

從 npm 安裝(推薦)

任選其一:

  1. 插件 → 發現,找到「網絡搜索 Lite」安裝
  2. 在對話中說「裝 dsh-web-search-lite」,由 plugin_manager 安裝
  3. 若本機有 dsh CLI:
dsh plugin add dsh-web-search-lite

npm 包:https://www.npmjs.com/package/dsh-web-search-lite

從 GitHub 倉庫安裝(改代碼或跟 main)

倉庫根目錄即插件包;可用 _dev/install.mjs 寫入 desktop profile(會先備份 package.json)。也可在對話中讓 DSH 對本地路徑執行 install_bundle。

裝完後的重啓

  • 首次安裝必須完全退出並重啓 DeepSeek Harness(profile 組合列表在啓動時讀取)。
  • 若設置頁已出現但 /api/web-search-pro/settings 返回 404,檢查 ~/.dsh/web-search-pro/host-status.json;無此文件表示宿主未加載插件,需重啓應用而非僅刷新頁面。
  • 之後只改插件文件時,宿主側可由文件監聽重載;瀏覽器側仍需刷新頁面。

插件以當前 DSH 進程權限運行;安裝前建議瀏覽源碼與 MIT 許可證,確認可接受抓取型引擎對目標站點的訪問方式。

典型用法

  1. 安裝並重啓後,在 設置 → 網絡搜索 確認 provider(默認 all)與 maxResults,點 測試連接 看提供方、條數、耗時與前三條來源。
  2. 在對話中直接提問,例如:「搜索一下今天的科技新聞」——模型可調用 web_search_api,再按需用 web_fetch_api 讀正文。
  3. 單次搜索若需臨時指定引擎或語言,由模型在 web_search_api 參數裏傳入 provider、language、maxResults,不修改 settings.json。

抓取型引擎依賴公開結果頁結構,改版或反爬可能導致單家失敗;需要每天大量、穩定查詢時,建議在設置中改用一家 API provider 並填寫 apiKey。

適用場景與注意

適合

  • 個人或小團隊想在 DSH 裏快速具備聯網檢索與讀頁,又不想先配置搜索 API。
  • 希望多源結果交叉驗證,且能接受偶發單引擎解析失敗。
  • 已有官方 web_search 計費方案,想並行使用免費的 web_search_api / web_fetch_api,而不是替換內置工具。

注意

  • 免密鑰模式是讀取搜索引擎結果頁,遵守各站服務條款與本地合規要求;360 等對高頻請求敏感,宜控制調用頻率。
  • 與內置 web_search 並存時,模型會看到兩套工具,由提示詞或任務說明引導選用哪一套。
  • 社區插件目錄(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係;星標、版本以 GitHub / npm 爲準。

結尾

dsh-web-search-lite 把四家免密鑰抓取與可選商業 API 收成兩個 DSH 工具,並配上可視化設置與測試連接,降低「先配密鑰才能聯網」的門檻;同時明確不改動內置 web_search,便於和官方搜索方案共存。

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

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

小夜