dsh-web-automation

前言

DeepSeek Harness (DSH) 採用插件化架構,允許爲本地模型擴展聯網能力。在構建本地優先的智能體時,開發者常面臨兩個痛點:一是外部搜索 API 費用高昂或依賴不穩定;二是內置的 Web 功能可能無法滿足特定場景需求,或者與自定義配置衝突。

dsh-web-automation 旨在解決這些問題,它將多引擎無密鑰搜索、本地緩存獲取以及平臺特定搜索整合爲一個獨立的插件。

插件介紹

這是一個 DeepSeek Harness (DSH) 插件,爲本地模型提供本地優先的 Web 棧。

維護者:stelmakhdigital
許可證:MIT

它包含四個核心能力,全部通過一個安裝命令即可啓用:

  • 多引擎搜索:提供 web_search 工具,支持 DuckDuckGo 和 Bing(無密鑰),並可選 Exa / DeepSeek / Jina(需 API Key)。支持後備或融合路由、冷卻機制和 BM25 優化。
  • 緩存獲取:提供 web_fetch 工具,基於 SQLite 緩存,支持 ETag/Last-Modified 驗證。在 TTL 內的重複請求不會發起網絡請求。
  • Web 平臺搜索:提供 web_platform_search 工具,可直接搜索 GitHub、Reddit、YouTube、Bilibili、V2EX、RSS 等。支持通過配置添加新平臺,無需修改代碼。
  • 歷史與統計:提供 web_history、web_search_stats 和 web_cache_clear 工具,讀取本地共享存儲,無需聯網。

所有狀態均爲本地存儲,無需雲服務。

核心能力

  1. 多引擎搜索
    支持路由至 DuckDuckGo/Bing(免密)和 Exa/DeepSeek/Jina(可選)。支持 fallback(後備)或 fuse(並行+RRF 融合)模式,並支持區域設置和 BM25 豐富。

  2. SQLite 緩存
    背後是 SQLite 頁面緩存,使用 ETag 和 Last-Modified 進行條件驗證。當頁面在 TTL 內被重複獲取時,不會發起網絡請求。

  3. Web 平臺搜索
    通過 web_platform_search 工具搜索特定平臺。平臺列表包括 GitHub、Reddit、YouTube、Bilibili、V2EX、RSS 等。新平臺可通過配置或規則包熱加載添加。

  4. 歷史與緩存工具
    web_history 查看搜索歷史,web_search_stats 查看統計,web_cache_clear 清除緩存。所有數據均來自本地數據庫。

安裝與啓用

前置條件:
* Node.js 22.19+ 或 24+(DSH 本身的要求)。
* 已安裝 DeepSeek Harness(可通過 npx @deepseek-ai/dsh 或源碼構建運行)。

  1. 安裝插件
    使用官方命令將插件安裝到指定 Profile(例如 web profile):
    dsh plugin --profile web add git+https://github.com/stelmakhdigital/dsh-web-automation.git
該命令會自動應用 `local-web.cordis.yml` 覆蓋層,固定 `web` seam 並註冊相關工具。
  1. 啓動與驗證
    安裝後啓動 Profile:
    dsh web              # 啓動 Web UI,地址 http://127.0.0.1:3080
    dsh --profile tui    # 啓動 TUI(需確保 Profile 名爲 tui)
在 DSH 會話中運行煙霧測試:
    web_search "hello world"

配置與注意事項

配置方式
插件默認已啓用所有功能,無需額外配置。如需調整,可在 DSH 的 cordis.yml 或通過 dsh --patch ... 應用覆蓋層中添加配置段。

關鍵配置項包括:
* search:配置引擎列表(engines)、模式(mode:fallback 或 fuse)、區域(region)以及 Exa/DeepSeek/Jina 的 API Key。
* fetch:配置緩存驗證策略(revalidate)。
* platforms:註冊 web_platform_search 工具,設置最大結果數,或通過 id 和 searchUrl 添加自定義平臺。
* history:控制歷史記錄、緩存清理和統計功能的開關。

注意事項
1. 本地存儲:插件狀態存儲在 $DSH_HOME/web.db,所有數據均爲本地化。
2. 互斥性:本插件與 DSH 內置的 Web 包(如 web-search-multi 等)互斥,不能同時加載,否則會在啓動時報錯 WEB_DUPLICATE_PROVIDER。
3. 瀏覽器自動化(可選):如需網頁自動化(browser_open 等),需單獨安裝 dsh-web-browser 子包,並運行 playwright install chromium。
4. 許可證:插件遵循 MIT 許可證。

結語

dsh-web-automation 將本地 Web 棧所需的功能解耦爲插件,使得在 DSH 中實現零成本的免密搜索和本地化緩存變得簡單。它適合希望在本地環境運行智能體、避免外部 API 依賴的開發者。

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

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

小夜