dsh-web-search-custom:自定义搜索 API 适配器

前言

DeepSeek Harness (DSH) 的 web profile 通过 ctx.web 接口解决搜索问题。默认情况下,这个接口由托管后端提供。对于已经运行自己的搜索栈(如 SearXNG、内部搜索网关或厂商 API)或希望查询留在本地网络内的用户来说,默认行为并不适用。

插件介绍

插件名称为 dsh-web-search-custom,由用户 runfali 维护,属于「联网工具」分类。它是一个标准 dsh bundle 插件,设计意图是薄适配器:不拥有搜索引擎、索引或缓存,仅负责与任意 JSON API 进行对接。

核心功能

  1. 零侵入与零依赖:作为标准 bundle 插件,移除后可恢复原生搜索提供商,无需修改 DSH 源码。无运行时依赖,仅使用 DSH 自带的包。
  2. 通用 JSON API 支持:支持 GET 或 POST 请求,支持自定义 Authorization 等头部信息。
  3. 可视化配置:支持在设置页面配置 URL、API Key、超时及字段映射。
  4. 默认兼容 SearXNG:内置的字段映射与 SearXNG 的 results[] / url / title / content / publishedDate 结构一致。

安装与启用

通过官方命令安装插件:

dsh plugin --profile web add dsh-web-search-custom

安装后重启 DSH Web 实例。

配置方法

插件注册的搜索提供商 ID 为 custom。选择该 provider 后,通过以下三种方式配置:

1. 设置页面

打开 Settings → Plugins,展开 “Custom search (web-search-custom)” 卡片。所有参数均可编辑,保存后立即生效。

2. Profile Patch Layer

通过 settings document 中的 patch 层覆盖配置:

- id: web-search-custom
  config:
    url: 'http://127.0.0.1:8080/search?format=json&q={query}'
    apiKey: ''
    method: GET
    body: '{"query":"{query}"}'
    headers: '{}'
    authHeader: Authorization
    authScheme: Bearer
    timeoutMs: 30000
    resultsPath: results
    urlField: url
    titleField: title
    snippetField: content
    publishedField: publishedDate

3. 环境变量

使用环境变量覆盖配置,适合处理敏感信息:

  • WEB_SEARCH_CUSTOM_URL:覆盖搜索 URL
  • WEB_SEARCH_CUSTOM_API_KEY:覆盖 API Key

配置参考

主要配置项如下:

  • url:搜索端点,支持 {query} 和 {apiKey} 占位符。
  • apiKey:可选 API Key,默认作为 Authorization: Bearer 发送。
  • method:请求方法,支持 GET 或 POST,默认 GET。
  • body:POST 请求体模板。
  • headers:额外请求头,JSON 格式。
  • timeoutMs:请求超时时间,默认 30000ms。
  • resultsPath:结果数组路径(如 data.results)。
  • urlField / titleField / snippetField / publishedField:结果字段映射。

注意事项与限制

  • 版本要求:DeepSeek Harness 版本需满足 >=0.1.2-alpha.3 <0.2.0 || >=0.1.5-alpha.1 <0.1.6;Node.js 版本需满足 ^22.19.0 || >=24.0.0。
  • 网络访问:需要主机到配置端点的出站网络访问权限。
  • 数据处理:插件会对结果进行去重(按 URL)、过滤非 http(s) 条目、去除 HTML 标签及解码实体。

结尾

该插件为 DSH Web UI 提供了灵活对接私有或第三方搜索 API 的能力,通过薄适配器的设计实现了零侵入和快速配置。更多细节可查阅插件目录页或源码仓库。

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

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

小夜