dsh-websearch-custom:DeepSeek Harness 可配置的 OpenAI Responses 联网工具提供程序

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。默认的 deepseek-official 提供程序通常适合通用场景,但在需要接入特定网关、代理或使用支持原生联网的特定模型时,手动注册一个自定义提供程序是必要的操作。dsh-websearch-custom 旨在解决这一问题,允许用户通过配置 OpenAI Responses 兼容的端点来接管 web 频道的联网能力。

插件介绍

dsh-websearch-custom 是由 Jyjays 维护的一个开源插件(MIT 许可证),属于 DSH 的“联网工具”分类。它注册了一个可配置的 ctx.web 提供程序,调用任意 OpenAI Responses 兼容的 API 端点,并内置了一个浏览器设置界面。插件本身不包含厂商特定的默认配置,所有关键参数(端点、模型、密钥引用)均由用户决定。

核心功能

  1. 注册自定义提供程序:在 DSH 环境中注册一个名为 custom-openai 的提供程序,供 web 频道选择。
  2. OpenAI Responses 兼容:调用支持 POST /responses 接口的端点,利用原生 web search 工具。
  3. 运行时配置界面:提供浏览器设置页面,无需修改配置文件即可动态调整端点、模型和密钥引用。
  4. 行为约束:
    • 不抓取网页:依赖端点的原生搜索能力,而非插件自身的爬虫。
    • 不调用普通聊天补全:严格使用 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

注意事项

  1. 不替换默认提供程序:此插件仅注册 custom-openai,不会覆盖 DSH 默认的 deepseek-official 提供程序。你需要通过配置明确将 web 频道的 searchProvider 指向它。
  2. 端点兼容性:必须确保目标端点支持 POST /responses 并返回 URL 引用。如果端点仅支持普通聊天补全或没有原生搜索能力,插件会报错。
  3. 响应验证:由于插件不生成伪造引用,如果模型返回的文本中没有包含 URL 引用,提供程序会返回 WEB_PROVIDER_ERROR。
  4. 开发环境:如果从 Git 安装,确保 prepare 脚本已执行以构建 dist/ 文件夹;在 pnpm-workspace.yaml 中可能需要添加 dsh-websearch-custom: true 以允许构建。

结语

dsh-websearch-custom 为 DSH 用户提供了接入自定义 OpenAI Responses 网关的能力。它通过严格的“无抓取、无补全、无伪造引用”策略,确保了联网行为的可控性与准确性。若你需要使用特定的代理服务或私有化网关,这是一个可以直接落地的解决方案。

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

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

小夜