前言¶
DeepSeek Harness (DSH) 採用插件化架構,將功能模塊化以擴展能力。在進行聯網搜索或內容抓取開發時,單一搜索引擎往往無法滿足數據廣度需求,且缺乏正文抽取能力。dsh-ventus-search 插件將 Bing、360 和 Bilibili 註冊進 DSH 的 ctx.web,提供多引擎併發搜索、結果評分去重與類 Readability 正文抓取功能。
核心功能¶
- 多引擎併發:支持 Bing、360、Bilibili 併發搜索。支持跳轉鏈接解碼與域名限額(單域名最多返回數)。
- 結果質量控制:基於命中權重(標題 ×3 + 摘要 ×2)的評分機制,自動 URL 規範化去重。
- 容錯機制:單引擎失敗自動隔離,不影響其他引擎。支持備用查詢重試與整體超時兜底。
- 緩存與性能:提供查詢級 LRU 緩存(默認 TTL 300s),支持 AbortSignal。
- 正文抓取:集成類 Readability 算法,支持廣告/追蹤域名黑名單過濾與鏡像域名回退。
- 安全與穩定性:API 限本機訪問(Loopback-only),狀態文件採用原子寫入(fsync + rename)。
安裝與啓用¶
通過 DSH 官方插件命令安裝:
dsh plugin --profile web add github:mmzm0808/dsh-ventus-search
安裝完成後需重啓 DSH。倉庫已包含完整構建產物,無需執行構建腳本。
使用方法¶
- 進入設置卡:在 DSH 界面中依次點擊「設置」->「Ventus 插件」->「Ventus 搜索」。
- 控制可用性:
- 總開關:控制搜索與抓取 provider 的全局可用性。
- 引擎開關:可單獨啓用或禁用 Bing / 360 / Bilibili。
- 測試與監控:
- 在輸入框輸入關鍵詞,點擊「測試搜索」查看真實結果、耗時及來源數。
- 查看各引擎健康狀態(綠=正常,紅=失敗,灰=未測)及最近成功/失敗信息。
配置項¶
插件提供詳細的配置項,默認值在括號內:
| 鍵 | 默認值 | 說明 |
|---|---|---|
| enabled | true | 總開關 |
| engines.bing | true | 啓用 Bing |
| engines.so360 | true | 啓用 360 搜索 |
| engines.bilibili | true | 啓用 Bilibili |
| maxResults | 8 | 返回來源數上限 |
| maxDomainResults | 2 | 單域名最多保留結果數 |
| requestTimeoutMs | 8000 | 單引擎單次請求超時 |
| overallTimeoutMs | 15000 | 整體搜索超時 |
| gracefulDegradation | true | 全部失敗時返回空結果而非拋錯 |
| cache.enabled | true | 啓用查詢級 LRU 緩存(TTL 300s) |
| fetch.enabled | true | 啓用正文抓取 provider |
說明:引擎的實際啓用狀態由配置文件中的 engines.<id> 和運行時狀態文件中的 engines.<id>.enabled 共同決定。
API 與數據¶
插件提供本地 API(Loopback-only,Cache-Control: no-store):
- GET /api/ventus-search/state:獲取當前狀態(總開關、引擎開關、健康狀態)。
- PATCH /api/ventus-search/state:更新狀態(Body 包含
enabled或engines字段)。 - POST /api/ventus-search/test:測試搜索(Body 包含
query字符串)。
狀態文件路徑爲 ~/.dsh/plugins/ventus-search/state.json。
生態背景¶
DSH 理念爲「一切皆插件」。dsh-ventus-search 僅爲社區插件,由開發者 meto-ventus 維護,遵循 MIT 許可證。