前言¶
DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。默認的 deepseek-official 提供程序通常適合通用場景,但在需要接入特定網關、代理或使用支持原生聯網的特定模型時,手動註冊一個自定義提供程序是必要的操作。dsh-websearch-custom 旨在解決這一問題,允許用戶通過配置 OpenAI Responses 兼容的端點來接管 web 頻道的聯網能力。
插件介紹¶
dsh-websearch-custom 是由 Jyjays 維護的一個開源插件(MIT 許可證),屬於 DSH 的“聯網工具”分類。它註冊了一個可配置的 ctx.web 提供程序,調用任意 OpenAI Responses 兼容的 API 端點,並內置了一個瀏覽器設置界面。插件本身不包含廠商特定的默認配置,所有關鍵參數(端點、模型、密鑰引用)均由用戶決定。
核心功能¶
- 註冊自定義提供程序:在 DSH 環境中註冊一個名爲
custom-openai的提供程序,供web頻道選擇。 - OpenAI Responses 兼容:調用支持
POST /responses接口的端點,利用原生 web search 工具。 - 運行時配置界面:提供瀏覽器設置頁面,無需修改配置文件即可動態調整端點、模型和密鑰引用。
- 行爲約束:
- 不抓取網頁:依賴端點的原生搜索能力,而非插件自身的爬蟲。
- 不調用普通聊天補全:嚴格使用 Responses API 格式。
- 不僞造引用:只有當響應包含原生 URL 引用時才視爲有效,否則返回
WEB_PROVIDER_ERROR。
安裝與啓用¶
安裝插件需要使用 DSH 插件管理命令,並將插件路徑指向本地檢出的代碼或 Git 倉庫。
dsh plugin --profile web add /absolute/path/to/dsh-websearch-custom
安裝完成後,必須重啓 DSH Host 才能使插件生效。
配置方法¶
安裝完成後,插件會註冊 custom-openai 提供程序。你可以通過兩種方式配置:
1. 使用瀏覽器設置界面¶
打開 DSH 的設置頁面,進入 WebSearch Custom 選項。這裏可以編輯與配置文件相同的參數,保存後立即生效,無需重啓。
主要配置項:
* Provider ID:穩定 ID,用於 web 頻道選擇(默認 custom-openai)。
* API Key:可選,存儲爲設置密鑰,不會回顯。
* API Key Env:推薦使用。環境變量名或 DSH 憑證引用,每次搜索時解析。
* Base URL:OpenAI Responses 兼容端點的基礎地址(不帶 /responses),必填。
* Model:支持原生聯網的模型名稱,必填。
* Search tool type:web_search 或 web_search_preview,根據網關文檔填寫。
* Search context size:low / medium / high。
* Max output tokens:輸出 token 上限。
* Allowed / Blocked domains:逗號分隔的域名過濾列表。
2. 直接修改配置文件¶
在 DSH 的配置層(如 overlay 或 composition)中,手動指定 web 頻道的 searchProvider 爲 custom-openai。
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: custom-openai
爲了安全起見,應避免在配置文件中直接寫入 apiKey。推薦使用 apiKeyEnv,插件會優先通過 DSH 憑證解析,其次讀取環境變量。
完整的配置示例:
- id: web-search-custom
name: dsh-websearch-custom
config:
providerId: custom-openai
apiKeyEnv: MY_PROVIDER_API_KEY
baseURL: https://api.example.com/v1
model: my-search-enabled-model
searchToolType: web_search
searchContextSize: low
maxOutputTokens: 1024
allowedDomains:
- arxiv.org
- openreview.net
注意事項¶
- 不替換默認提供程序:此插件僅註冊
custom-openai,不會覆蓋 DSH 默認的deepseek-official提供程序。你需要通過配置明確將web頻道的searchProvider指向它。 - 端點兼容性:必須確保目標端點支持
POST /responses並返回 URL 引用。如果端點僅支持普通聊天補全或沒有原生搜索能力,插件會報錯。 - 響應驗證:由於插件不生成僞造引用,如果模型返回的文本中沒有包含 URL 引用,提供程序會返回
WEB_PROVIDER_ERROR。 - 開發環境:如果從 Git 安裝,確保
prepare腳本已執行以構建dist/文件夾;在pnpm-workspace.yaml中可能需要添加dsh-websearch-custom: true以允許構建。
結語¶
dsh-websearch-custom 爲 DSH 用戶提供了接入自定義 OpenAI Responses 網關的能力。它通過嚴格的“無抓取、無補全、無僞造引用”策略,確保了聯網行爲的可控性與準確性。若你需要使用特定的代理服務或私有化網關,這是一個可以直接落地的解決方案。