前言¶
在 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