DeepSeek Harness 插件

dsh-web-search-custom

Generic URL + optional API key search provider for the DeepSeek Harness web profile (ctx.web), with an in-settings configuration card. Zero-intrusion bundle plugin; works with any SearXNG-compatible(英文原文)

跳到安装方式

来源信息

GitHub 仓库
runfali/dsh-web-search-custom
最近更新
2026年8月20日
分类
文档与渲染
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/runfali/dsh-web-search-custom
插件名:dsh-web-search-custom
作者:runfali

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-web-search-custom

让 DeepSeek Harness 的 Web UI(dsh --profile web)使用任意的 JSON 搜索 API——只要提供一个 URL 和(可选的)API key,就能替换默认的 DeepSeek 搜索。默认配置直接可用自建 SearXNG:

http://127.0.0.1:8080/search?format=json&q={query}

特性

  • 标准 Cordis bundle 插件,零侵入、不修改 dsh 源码;卸载后即恢复官方 DeepSeek 搜索;
  • 除 dsh 平台自带包(@deepseek-ai/dsh-settings@deepseek-ai/schemastery)外无第三方依赖;
  • 浏览器端自带配置卡片(设置 → 插件配置),URL / API key / 超时 / 字段映射全都可以直接在页面上填写;
  • 支持 GET / POST、Authorization 鉴权、额外请求头以及结果字段映射;
  • 兼容任何返回 SearXNG 风格 JSON(results[])的接口。

环境要求

  • DeepSeek Harness(dsh),以 web profile 运行;
  • Node.js >= 22;
  • 一个可用的 JSON 搜索接口(如自建 SearXNG 或其他兼容服务)。

安装

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

安装完成后重启 dsh Web 生效。

在设置页配置(推荐)

打开 Web UI 的 设置 → 插件配置,会看到「自定义搜索(web-search-custom)」卡片,展开后可直接填写:

  • 搜索 URL(支持 {query} / {apiKey} 占位符)
  • API Key(可留空;非空时默认以 Authorization: Bearer 发送)
  • 请求方法、POST body 模板、额外请求头(JSON)、超时
  • 结果字段映射(resultsPath / urlField / titleField / snippetField / publishedField

保存后写回 ~/.dsh/settings.yamlweb-search-custom: 段并热生效;「已覆盖 / 重置」状态与官方插件卡片一致。

配置项一览

字段默认值说明
url本机 SearXNG搜索地址。支持 {query}{apiKey} 占位符(自动 URL 编码);GET 且不含 {query} 时自动补 q= 参数
apiKey可选。非空时默认以 Authorization: Bearer <key> 发送;若 url 或 POST body 里已有 {apiKey} 则不再额外加头
methodGETGETPOST
body{"query":"{query}"}POST body 模板,支持 {query} / {apiKey}
headers{}额外请求头,JSON 字符串
authHeaderAuthorizationapiKey 使用的请求头名
authSchemeBearer鉴权 scheme;填空字符串则裸发 key 值
timeoutMs30000单次请求超时
resultsPathresultsJSON 中结果数组的点路径,如 data.results
urlField / titleField / snippetField / publishedFieldurl / title / content / publishedDate结果字段名映射(SearXNG 默认即 contentpublishedDate

其他配置方式

profile 用户补丁层(~/.dsh/profiles/web/cordis.patch.yml

- 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

> 注意:补丁是整段替换 config,覆盖时要写全所有项。

环境变量(不改文件,优先级高于设置页配置)

变量说明
WEB_SEARCH_CUSTOM_URL覆盖搜索 URL
WEB_SEARCH_CUSTOM_API_KEY覆盖 API key(推荐用于含 secret 的场景)
WEB_SEARCH_CUSTOM_HEADERS额外请求头,JSON 字符串
WEB_SEARCH_CUSTOM_TIMEOUT_MS超时毫秒数

卸载

dsh plugin --profile web remove dsh-web-search-custom

重启 dsh 后恢复自带的 DeepSeek 搜索。

限制

  • apiKey 作为普通设置字段保存(~/.dsh/settings.yaml),不经过凭据系统;敏感环境建议用环境变量 WEB_SEARCH_CUSTOM_API_KEY 覆盖。
  • 结果页大小由 SearXNG 服务端决定,客户端无法指定 count;工具层仍会按 maxResults 截断。

许可证

[MIT](LICENSE)