DeepSeek Harness (DSH) Web 搜索插件:零成本替換官方搜索

前言

DeepSeek Harness (DSH) 的設計理念是「一切皆插件」。DSH 自帶的搜索路由 (deepseek-official) 在執行 web_search 時,會調用昂貴的模型(如 deepseek-v4-flash)進行完整的一輪對話,無論當前會話模型是什麼。這會帶來不必要的 Token 消耗和成本。

dsh-web-search-ddg 是 DeepSeek Harness 的一個聯網工具插件,由 aooyoo 維護。它提供零 Token 的 Web 搜索能力,通過本地無頭瀏覽器和 API 調用替換了 DSH 內置的高成本搜索路由。

核心功能

  1. 替換路由:將 DSH 內置的搜索路由替換爲零成本引擎(Bing 和 DuckDuckGo)。
  2. 零成本:不消耗模型 Token,無需 API 密鑰,不發起輔助模型請求。
  3. 零依賴:僅使用 Node.js 內置模塊,無需 Playwright 或 Puppeteer 等外部依賴。
  4. 回退機制:引擎回退機制(先成功者勝出),若一個引擎被阻斷或 HTML 變更,另一個引擎會接管。
  5. 保留兼容:保留內置提供者註冊,切換回官方搜索只需一行配置。

安裝與啓用

在 DSH 的 profile 目錄(例如 ~/.dsh/profiles/web)中,以離線插件的形式安裝:

pnpm add dsh-web-search-ddg

在 profile 的 package.json 中聲明 bundle,使 DSH 將其加載爲一級層(在插件管理器可見,可乾淨移除):

"bundles": [..., "dsh-web-search-ddg"]

在 profile 的 cordis.patch.yml 中選擇 provider:

# 選擇該提供者供模型側的 web_search 工具使用。
- id: web
  config:
    searchProvider: ddg-browser

注意:patch 行會替換目標行的整個配置(不支持深度合併),因此 web 行必須重申所有鍵。內置的 web-search-deepseek 行保持不變,切換回官方搜索只需將 searchProvider 改回 deepseek-official。

典型用法

  1. 安裝:執行 pnpm add dsh-web-search-ddg。
  2. 聲明:在 profile package.json 的 bundles 中加入 "dsh-web-search-ddg"。
  3. 配置:在 cordis.patch.yml 中設置 searchProvider: ddg-browser。

適用場景與注意

  • 環境要求:需要一個 DSH 主機環境(版本 ≥ 0.1.0-rc)和 Node.js ≥ 18。
  • 本地瀏覽器:DuckDuckGo 引擎需要本地 Chromium 家族瀏覽器。插件會自動檢測 macOS 上的 Chrome、Edge、Chromium 或 Linux 上的 /usr/bin/chromium//usr/bin/google-chrome。Bing 引擎不需要瀏覽器。
  • Cookie 依賴:Bing 引擎的質量依賴於 Cookies。插件會在會話期間訪問 Bing 首頁並注入 Cookie;如果結果爲空,會重新引導 Cookie。
  • 權限:插件以主機權限運行,安裝前請務必檢查源碼與許可證。

結尾

該插件通過本地引擎和瀏覽器解決了 DSH 官方搜索的高成本問題,同時保留了良好的靈活性和回退機制。相關文檔與源碼位於 GitHub 倉庫。

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

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

小夜