dsh-brave-search:爲 DeepSeek Harness 接入 Brave Search

前言

在 DeepSeek Harness(DSH)裏做需要實時信息的智能體時,常見做法是寫 skill、再讓模型自己 curl 調搜索 API。路徑長、返回格式也不統一,模型閱讀和篩選成本都偏高。社區插件 dsh-brave-search(npm 包名 dsh-plugin-brave-search)把 Brave Search API 封成一組專用工具,並可選地接管 Harness 內置的 web_search,讓聯網檢索變成可調用、可配置的正式能力。

這是什麼

dsh-brave-search 由維護者 Llldmiao 發佈,歸類爲聯網工具。它基於官方 Brave Search API skills v1.5.0,爲 DSH 提供網頁、新聞、圖片、視頻的檢索結果,以及面向 LLM 的頁面上下文、帶引用的 AI 回答、本地地點、搜索建議與拼寫檢查等能力。插件還會在 Harness 的 web 接縫上註冊 id 爲 brave 的搜索提供方,便於把默認 web_search 切到 Brave。

當前 npm 版本爲 1.0.2,許可證 MIT。社區目錄頁:https://www.skillhub.cn/plugins/Llldmiao/dsh-brave-search;源碼與說明:https://github.com/Llldmiao/dsh-brave-search。

核心功能

專用工具

各工具對應 Brave 的 REST 端點,返回結構中包含 endpoint、query、count、text 等字段;模型主要讀 text,其餘字段便於程序化調用(PTC 模式)。

工具 用途
brave_search 網頁 / 新聞 / 圖片 / 視頻排行結果(標題、URL、摘要),用 type 選擇類型
brave_llm_context 按 token 預算預提取的頁面內容(grounding)
brave_answers 帶引用的 AI 回答;research: true 爲較慢的多輪搜索模式
brave_local 按查詢 / 地點 / 座標搜商戶與 POI,以及 POI 描述
brave_query 搜索自動補全與拼寫糾正

插件按官方 API 限制各路由能力(例如 offset 僅用於 web/news/videos,goggles 不發給 images/videos 等),避免無效參數導致 422。

除上述工具外,插件通過 ctx.web 註冊 brave 提供方(默認 id 爲 brave,可用 config.id 覆蓋),使內置 web_search 走 Brave 的 /res/v1/web/search。啓用後,web_search 通常只返回來源列表而無回答正文;brave_search 則返回渲染好的結果塊。web_fetch 仍走本地 HTTP 提供方,行爲不變。

環境與依賴

  1. DeepSeek Harness Desktop:README 寫明在 0.2.1-rc.3 上驗證過。
  2. Brave Search API 訂閱:在 https://api.search.brave.com 創建密鑰。不同端點對應不同套餐:web/news/images/videos/llm-context/pois/descriptions 需 Search 計劃;place_search 需帶 locations 的 Search;suggest 需 Suggest;spellcheck 需 Spellcheck;answers 需 Answers。套餐未覆蓋時工具會返回 HTTP 401/403 及說明信息。

安裝與啓用

插件以當前 DSH 進程權限運行,安裝前建議通讀倉庫源碼與 MIT 許可證。密鑰不應寫入倉庫,應放在 Harness 啓動時加載的環境層。

第一步:配置 API Key

Harness 啓動時讀取 $DSH_HOME/.env(默認 ~/.dsh/.env)並注入 process.env。在 shell 中寫入密鑰後需重啓 Harness:

printf 'BRAVE_SEARCH_API_KEY=%s\n' 'your-key' >> ~/.dsh/.env

在啓動 shell 中 export 同名變量也可生效,且優先級更高。密鑰不會從插件包或 patch 中讀取。

第二步:安裝插件

方式 B — 從 npm 安裝(適合大多數機器)

使用 Harness 自帶 CLI 添加包名 dsh-plugin-brave-search:

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop add dsh-plugin-brave-search

隨後在側邊欄 Plugins 頁面打開 brave-search 行的開關。僅執行 CLI 只會下載包,必須在 Plugins 頁啓用纔算打開。

Linux 等非 macOS 環境請把上述路徑換成本機 DSH CLI 的實際路徑(與桌面版捆綁的 dsh 一致即可)。

README 建議在本地 clone 倉庫後,用 link:$HOME/... 形式 plugin add,以便改 index.js 後重啓即可生效;也可在 Plugins 頁通過「添加插件」指向目錄。開發路徑上的命令以 GitHub README 爲準。

驗證

重啓後執行搜索應來自 Brave。若 Plugins 頁顯示異常,在詳情「原因」中查看具體報錯。

可選配置

在 patch 中 brave-search 條目支持下列字段(括號內爲默認):

- id: brave-search
  config:
    apiKeyEnv: BRAVE_SEARCH_API_KEY
    baseUrl: https://api.search.brave.com
    timeoutMs: 30000
    count: 10

Brave 各端點自身默認條數多爲 20(圖片 50 等);插件默認 count: 10 便於閱讀,各工具仍可通過參數 count 加大。baseUrl 可帶路徑前綴(如經網關轉發),拼接路由時會保留前綴。研究型 answers 允許更長超時(README 提到最高約 330000 ms)。

將 Brave 設爲默認 web_search

web 接縫每次只選一個提供方:若 patch 中 searchProvider 固定了已註冊且可用的 id,則使用該提供方;否則在唯一可用提供方時自動選擇,多個可用且未固定時會報 WEB_PROVIDER_AMBIGUOUS。

在 profile patch 中固定 Brave,並關閉要替換的提供方,例如:

- id: web
  config:
    searchProvider: brave
- id: web-search-deepseek
  config:
    enabled: false

注意:Brave 提供方通過 ctx.inject(['web'], ...) 懶掛載,不要在 bundle 頂層 inject 列表裏寫 web,否則在無 web 接縫的部署上可能導致整個 bundle 異常。

若希望 DeepSeek 官方與 Brave 並存,可保持兩行均啓用,通過 searchProvider 或環境變量 DSH_WEB_SEARCH_PROVIDER 在 brave 與 deepseek-official 之間切換。

提供方的 available() 僅檢查 token 環境變量是否設置,不會發起網絡探測。

安全與工具說明

工具描述中會提示:Brave 結果爲外部不可信數據,不得當作指令執行(與內置 web_search 一致)。訂閱 token 僅通過 X-Subscription-Token 發往配置的 baseUrl,不會出現在工具輸出中;本插件目錄不存儲憑證。

適用場景與注意

  • 適合:需要在 DSH 智能體中穩定調用 Brave 多類搜索、頁面 grounding、帶引用回答或本地 POI,並希望可選地把系統 web_search 統一到 Brave 的開發者。
  • 注意:按 Brave 套餐規劃端點,避免 401/403;研究型 brave_answers 耗時長、超時預算更大;多搜索提供方並存時必須用 searchProvider 固定其一。
  • 生態:DSH 奉行「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文介紹的是社區維護的聯網工具插件。

結尾

dsh-brave-search 把 Brave Search API 收成 Harness 原生工具與可選 web_search 後端,減少手寫 HTTP 與解析負擔。安裝時配置 BRAVE_SEARCH_API_KEY、通過 npm 或 link 添加插件並在 Plugins 頁啓用即可上手。

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

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

小夜