dsh-keyless-search:DeepSeek Harness 無 Key 網絡搜索插件

前言

DeepSeek Harness(DSH)的 web_search 工具默認通過一個 pinned seam 連接到 DeepSeek 託管的提供者,該提供者要求傳入 DEEPSEEK_API_KEY。如果沒有該密鑰,工具會直接報錯並中斷執行。

dsh-keyless-search 插件通過註冊一個無 Key 的提供者並重定向 seam,使 web_search 工具能夠在無需 API Key、賬戶或配置的情況下工作。

這是什麼

這是一個爲 DeepSeek Harness web_search 工具提供 Keyless 網絡搜索能力的插件。它由 OzzyDeng-JunDeng 維護,遵循 MIT 許可證。

其核心作用是繞過默認的 Key 依賴,讓開發者或智能體在沒有配置密鑰的情況下進行網絡搜索。

安裝與啓用

安裝過程僅需要一條命令。該插件在 npm 上註冊爲 dsh-keyless-search,並聲明瞭 dsh.bundle,因此 dsh plugin add 會自動將其附加到 dsh.profile.bundles 中。

  1. 安裝插件:
dsh plugin --profile <your-profile> add dsh-keyless-search
  1. 驗證生效:
    在新的會話中啓動時,插件會自動註冊提供者並覆蓋默認的 web_search seam。

  2. 卸載插件:

dsh plugin --profile <your-profile> remove dsh-keyless-search

後端選擇與配置

插件支持多個後端,搜索按順序進行,第一個返回非空結果的後端勝出。

默認啓用的後端包括:
* Tavily:通過其官方 Keyless 模式訪問。
* Firecrawl:通過其官方 Keyless tier 訪問。

可選後端(默認禁用):
* Bing RSS:通過 Bing 結果 RSS feed 搜索。
* Bing HTML:通過 Bing 結果頁 markup 搜索。

由於 Bing 的 robots.txt 限制了爬蟲對 /search 路徑的訪問,默認情況下 Bing 後端是關閉的。若需啓用,需要修改配置。

可以通過 YAML 文件或環境變量進行配置。

YAML 配置示例(位於 profile 的 cordis.patch.yml):

- id: keyless-search
  name: dsh-keyless-search
  config:
    searchBackends: tavily,firecrawl
    timeoutMs: 15000
    debug: false
    bingHost: cn.bing.com
    bingMarket: zh-CN

環境變量覆蓋:
* KEYLESS_SEARCH_BACKENDS
* KEYLESS_SEARCH_TIMEOUT_MS
* KEYLESS_SEARCH_DEBUG=1

文本安全與行爲

插件在運行時具有以下特性:

  • 零依賴:模塊沒有靜態導入,可以在沒有任何依賴包的 profile 中加載。
  • 文本硬化:爲了防止外部網頁內容破壞 DSH 消費者的格式(例如鏈接注入或 HTML 注入),插件會對提供者返回的文本進行轉義和標準化處理,將敏感字符替換爲轉義序列,並包裹在邊界標記中。
  • 失敗處理:如果所有後端均失敗,插件會拋出包含具體後端原因的錯誤,而不是靜默返回空結果。
  • 速率限制:Keyless 層級有速率限制。Tavily 的 Keyless 層級爲每月 1000 個積分。如果需要更高的限制,可以稍後添加 TAVILY_API_KEY 或 FIRECRAWL_API_KEY,插件會自動升級。

適用場景與注意

該插件主要用於需要快速原型設計或測試 web_search 能力,且暫時不想配置 API Key 的場景。

注意事項:
1. 功能範圍:該插件僅註冊搜索提供者,不提供 web_fetch 功能。
2. Node.js 版本:運行環境需滿足 Node.js >= 18。
3. Bing 後端:啓用 Bing 後端屬於“有意爲之”的配置,因爲它會請求搜索引擎的私有接口。
4. 安全:插件運行在當前 DSH 進程的權限下,安裝前建議檢查源碼。

總結

dsh-keyless-search 解決了 DeepSeek Harness 默認搜索工具對 API Key 的強依賴問題,通過 Tavily 和 Firecrawl 的 Keyless 模式提供了開箱即用的搜索能力。配合 YAML 或環境變量配置,可以靈活切換後端並控制行爲。

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

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

小夜