前言¶
在 DeepSeek Harness(DSH)的插件體系裏,智能體需要把搜索和正文讀取拆成可替換、可管理的底層能力。只接一個搜索接口,往往只能拿到單一來源;多來源併發、失敗隔離、正文抽取和本機狀態管理,都要由插件自行處理。
下面介紹 mmzm0808/dsh-ventus-search。這是一個面向 DSH 的搜索與正文抓取插件,把 Bing、360、Bilibili 三個搜索來源整合到同一入口,並提供正文抓取、設置卡、本機狀態 API 與狀態文件管理。
這是什麼¶
Ventus 搜索由 mmzm0808 維護,倉庫名爲 dsh-ventus-search,許可證爲 MIT。
它解決兩件事:
- 搜索:把 Bing、360、Bilibili 三引擎併發搜索的結果整理爲可返回的結果集。
- 抓取:對網頁正文做抽取、黑名單過濾、鏡像回退與體積控制。
插件同時附帶 Ventus 系列設置卡,可在設置中控制總開關、每引擎開關,並查看健康狀態或執行測試搜索。
核心能力¶
多引擎搜索與結果整理¶
搜索側主要包含以下能力:
- Bing、360、Bilibili 三引擎併發搜索。
- 標題命中 ×3 + 摘要命中 ×2 − 排名權重評分。
- URL 規範化去重。
- 單域名限額。
- Bing/360 跳轉包裝解碼。
- 查詢級 LRU 緩存,TTL 爲 300s。
- 429/5xx/超時自動重試。
在失敗處理上,插件會隔離單引擎失敗,避免影響其他引擎;也支持備用查詢重試。整體超時到點時,返回已有部分結果。全部引擎失敗時,gracefulDegradation 可返回空結果而非拋錯。
正文抓取¶
抓取側圍繞正文獲取做了以下處理:
- 廣告/追蹤域名黑名單。
- 類 Readability 正文抽取。
- 鏡像域名回退。
- 體積上限。
如果 Bilibili 搜索請求的 Cookie 爲空,會使用內置默認 buvid3。
設置卡與健康狀態¶
插件提供 Ventus 系列設置卡,包含:
- 總開關。
- Bing、360、Bilibili 每引擎獨立開關。
- 每引擎健康狀態:綠=正常、紅=失敗、灰=未測,並顯示最近成功時間或失敗原因。
- 測試搜索按鈕:執行真實搜索,並展示耗時、來源數與結果列表。
安裝與啓用¶
先執行安裝命令:
dsh plugin --profile web add github:mmzm0808/dsh-ventus-search
這條命令會把 dsh-ventus-search 安裝到 DSH 的 web profile 中。倉庫已提交完整 lib/ 構建產物,安裝時無需執行構建腳本。DSH 插件開發使用 pnpm;通過 GitHub 分發時,不要求發佈 npm。
安裝後重啓 dsh。之後進入:
設置 → Ventus 插件 → Ventus 搜索
在這裏開啓總開關,並按需啓用或禁用 Bing、360、Bilibili。
典型用法¶
下面介紹幾個常見操作。
1、檢查總開關¶
在設置卡中查看總開關狀態。總開關關閉後,搜索與抓取能力不可用。
2、單獨控制引擎¶
可以在設置卡中單獨啓用或禁用:
- Bing
- 360
- Bilibili
引擎實際啓用需要同時滿足兩個條件:
配置 engines.<id> 啓用
狀態文件 engines.<id>.enabled 啓用
兩者都滿足時,對應引擎纔會生效。
3、執行測試搜索¶
在測試搜索輸入框中輸入關鍵詞。默認關鍵詞爲:
DeepSeek Harness 最新動態
點擊測試搜索後,查看耗時、來源數與結果列表。
4、調用本機狀態 API¶
狀態 API 爲 loopback-only,僅本機可訪問,並返回 Cache-Control: no-store。
查看當前狀態:
GET /api/ventus-search/state
修改 enabled 或 engines:
PATCH /api/ventus-search/state
執行真實測試搜索:
POST /api/ventus-search/test
狀態文件¶
狀態文件路徑爲:
~/.dsh/plugins/ventus-search/state.json
寫入時採用原子方式:先寫臨時文件,再執行 fsync,最後 rename。這樣可減少進程異常時產生半截狀態文件的風險。
適用場景與注意¶
Ventus 搜索適合以下場景:
- 需要在 DSH 中整合 Bing、360、Bilibili 多個搜索來源。
- 希望插件處理失敗隔離、重試、整體超時與部分結果返回。
- 需要同時使用搜索和正文抓取能力。
- 希望通過設置卡和本機 API 管理插件狀態。
使用前需要注意:插件以當前 DSH 進程權限運行,會訪問外部搜索接口、抓取網頁,並讀寫本地狀態文件。安裝前應檢查源碼、依賴與 MIT License。如果運行環境要求嚴格,應在可信網絡和可控賬戶下使用。
結尾¶
Ventus 搜索把多引擎搜索、結果整理、正文抓取和本機狀態管理放在同一個 DSH 插件裏,適合需要在 DSH 中接入聯網檢索能力的插件開發場景。
GitHub:
https://github.com/mmzm0808/dsh-ventus-search
目錄頁線索:
https://www.skillhub.cn/plugins/mmzm0808/dsh-ventus-search