dsh-search-first: 強制先搜索再回答的 DSH 插件

前言

DeepSeek Harness (DSH) 的理念是「一切皆插件」。在開發智能體或使用大模型進行復雜任務時,模型容易產生幻覺或缺乏實時信息。dsh-search-first 插件通過在 agent/pre-step 階段強制執行多源搜索,解決了回答缺乏實時性和準確性問題。

插件定位

這是一個 DeepSeek Harness (DSH) Cordis 插件,遵循 “Search first, verify facts, reply last” 的原則。它接管了宿主模型的回答前奏,負責查詢提取、統一搜索、頁面抓取、結果組織與緩存,最後將組織好的實時情報注入給宿主模型,最終回答仍由宿主模型生成。

核心功能

  • 可配置的查詢提取模型:在提取搜索意圖時使用的子模型可自定義,留空則跟隨會話模型。
  • 引用格式引導:強制引導宿主模型使用標準化的引用格式,便於溯源。
  • 多源排序與抓取:對多來源的搜索結果進行排序,並選擇性抓取頁面內容返回給宿主模型。
  • 全鏈路執行:覆蓋查詢提取、統一搜索引擎、頁面抓取、結果組織、緩存及運行持久化。

安裝與啓用

環境要求

  • 掛載 dsh web profile,版本需 >= 0.1.1-rc.2。
  • 系統安裝 Node.js,版本需 >= 22。

安裝命令

dsh plugin --profile web add https://github.com/v587d/dsh-search-first.git

安裝完成後必須重啓 dsh web。

卸載

dsh plugin --profile web remove dsh-search-first

典型用法

  1. 配置搜索 API:進入設置中的 “Search first” -> “Search APIs” 點擊 “Test all connections” 測試連通性。
  2. 設置密鑰:必須導出至少一個 API 密鑰(支持 AnySearch / Tinyfish / Tavily)。密鑰可配置在環境變量(如 TAVILY_API_KEY)或 $DSH_HOME/.credentials.yaml 中。AnySearch 支持匿名模式(無需 Bearer header)。
  3. 使用開關:在會話輸入框下方找到 “Search First” 開關來控制單次會話的啓用狀態。右鍵點擊開關可返回全局默認設置。

配置說明

設置路徑爲:Settings -> Search first。

配置項 說明
General 默認啓用開關,失敗策略(continue/block),注入模式,總體超時時間。
Query Extraction 指定提取查詢的子模型,超時時間,最大 Token 數。
Cache 緩存目錄(默認 $DSH_HOME/search-first,重啓後 root 生效),搜索/抓取有效期,清除按鈕。
Limits 最大搜索結果數、最大抓取頁數、最大注入字符數。
Search APIs 運行模式(順序故障轉移/並行扇出合併),三大搜索引擎開關與優先級,單提供商超時,ctx.web 回退,本地 HTTP 回退。

適用場景與注意

  • 使用成本:免費層級通常足夠使用。
  • 權限風險:插件以當前 dsh 進程的權限運行,安裝前請檢查源碼與許可證。
  • 生態說明:DeepSeek Harness (DSH) 遵循「一切皆插件」的理念。本插件收錄於社區目錄,與 DeepSeek / 幻方無官方從屬關係。

總結

通過強制在回答前執行搜索與事實覈查,該插件能有效提升智能體回答的可靠性。更多細節與源碼可參考項目主頁。

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

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

小夜