前言¶
在 DSH 裏做智能體工作流時,網頁搜索通常要掛到具體提供方。如果你的搜索後端想走 OpenAI Responses API 的服務端檢索,又不想改 dsh 源碼,下面介紹一個 DSH 插件:flg1217/dsh-web-search-openai。
這是什麼¶
dsh-web-search-openai 是 flg1217 維護的一個 DSH 插件,用於給 dsh 的 ctx.web 註冊一個由 OpenAI Responses API 驅動的 web_search 提供方。它把 OpenAI Responses API 的 web_search 工具接入 DSH 網頁搜索通道,提供搜索和可引用來源;許可證爲 MIT。
核心功能¶
先列已覈實的幾項能力:
- 向
ctx.web註冊 OpenAI Responses API 驅動的搜索提供方。 - 服務端檢索:每次搜索調用
POST /responses,攜帶原生web_search工具。 - 可引用來源:
web_search_call.search_results[]結構化結果,或消息級url_citation註解兜底,統一歸一化爲可引用來源。 - Web 設置卡片:可配置端點、模型、API Key、最大輸出 tokens、檢索上下文;API Key 只寫不回顯。
- 熱插拔裝配:通過 profile bundle patch、
registerSearchProvider和客戶端 slot 接入,不修改 dsh 源碼。
安裝與啓用¶
先確認版本要求:
dsh >= 0.1.0-rc.6
倉庫已提交 lib/,無需本地構建。按下面命令把插件裝配進 web profile:
dsh plugin --profile web add <本倉庫目錄>
裝配完成後,重啓 dsh web,bundle 層纔會加載插件。
典型用法¶
啓用後,先準備配置,再切換提供方。
- 打開 dsh Web 設置,進入
搜索下的Web 搜索卡片。 - 填寫端點、模型、API Key;也可以不填 API Key,讓插件讀取環境變量
OPENAI_API_KEY。 - 把 web 通道的
searchProvider切到openai。可以在 profile 的cordis.patch.yml裏設置web.searchProvider,也可以在設置面板切換。
默認值如下:
| 配置項 | 默認值 |
|---|---|
| 端點 | https://api.openai.com/v1 |
| 檢索路徑 | /responses 自動追加 |
| 模型 | gpt-5.6-luna |
| 最大輸出 tokens | 2048 |
| 檢索上下文 | medium |
經過上面的步驟,dsh 的網頁搜索就可以走 OpenAI Responses API 的 web_search 工具,並把返回來源歸一化爲可引用來源。
適用場景與注意¶
適合在 DSH 插件化搜索鏈路中,希望把某個 web 通道的搜索後端切到 OpenAI Responses API 的開發者。
使用注意:
- 該插件以當前 dsh 進程權限運行。安裝前建議檢查源碼和許可證。
- API Key 在設置卡片裏只寫不回顯。
- 如果設置卡片保存失敗,檢查端點可達性和 API Key 有效性。
- 如果搜索報
WEB_PROVIDER_ERROR,表示 OpenAI 網關返回非2xx。 - 如果設置卡片不出現,確認 bundle 層已加載,並重啓
dsh web。
結尾¶
dsh-web-search-openai 的價值很具體:不改 dsh 源碼,給 DSH 網頁搜索加一個可配置的 OpenAI Responses API web_search 提供方,並處理來源引用和設置卡片。目錄頁和源碼入口如下:
- 社區目錄:
https://www.skillhub.cn/plugins/flg1217/dsh-web-search-openai - GitHub:
https://github.com/flg1217/dsh-web-search-openai