dsh-tool-web-enhanced:为 DeepSeek Harness 的 web_search 增加可组合检索模块

前言

在 DSH 生态里,工具能力通常以插件形式扩展。对智能体开发者来说,stock web_search 往往只返回原生搜索,而实际使用又可能同时需要本地 SearXNG、本地 Markdown RAG 或 Parallel 结果。

dsh-tool-web-enhanced 是 edusrez 维护的 DSH 插件,MIT 许可,定位是 stock web_search 的 drop-in replacement:原生结果仍作为第一个 section,其他来源作为可选 section 附加到同一个搜索响应中。

这是什么

dsh-tool-web-enhanced 是一个 web-search 插件。它围绕 web_search 建立分节结构:native 结果优先,SearXNG、RAG、Parallel 等模块各自作为 section 出现。

没有配置额外模块时,保持 stock web_search 的行为。

核心功能

  • Drop-in replacement for stock web_search
  • 模块化 per-section 架构,原生结果保持第一。
  • 内置 SearXNG section、面向本地 markdown databases 的 RAG section,以及 Parallel section。
  • 支持可选 topicsources 参数;sources 可取 nativesearxngragparallelall
  • 提供 opt-in 的 parallel-extract web_fetch provider,可将 URL 的完整文档作为 markdown 返回,默认关闭。
  • 模块缺失、禁用或不可达时静默降级,只省略对应 section,不将请求整体变成错误。
  • 以 DSH bundle 形式安装,插入 enhanced 行并禁用 stock tool-web 行。

安装与启用

先确认当前 DSH 环境已满足 peer dependencies,包括 @deepseek-ai/cordis 以及 DSH web/tool 相关包。

执行安装:

npm install dsh-tool-web-enhanced

安装后会应用 DSH bundle patch,插入增强插件行,并禁用 stock tool-web 行。

注意:插件会以当前 dsh 进程权限运行,可能读取你配置的本地文件目录,并根据配置访问 SearXNG、embedding 或 Parallel 服务。安装前应检查源码、依赖关系和许可证。

仓库地址:

https://github.com/edusrez/dsh-tool-web-enhanced

典型用法

配置 SearXNG section

如果你已经有一个本地 SearXNG JSON API,可以配置 sections.searxng.url 指向其 base URL。

sections:
  searxng:
    url: '<local-searxng-json-api-base-url>'

配置后,SearXNG 来源会作为独立 section 参与返回。

配置 RAG section

RAG section 面向本地 markdown databases。将本地 markdown 文件目录加入 sections.rag.databases,并设置每个 database 的 topK

sections:
  rag:
    databases:
      - path: '<local-markdown-directory>'
        topK: 5

RAG 支持 auto / local / remote embeddings。

选择 sources

调用时可通过 sources 参数指定返回的来源取值。已列出的取值包括 nativesearxngragparallelall

参数示意:

{
  "sources": "all"
}

启用 parallel-extract

parallel-extract 默认关闭。若需要 web_fetch 返回完整 markdown 文档,可以将其配置为 opt-in provider:

fetchProvider: 'parallel-extract'

API key 可通过 env var 或 literal apiKey 提供,literal 值优先。

配置 Parallel section

Parallel section 可配置 sections.parallel.modesections.parallel.maxResults。其中 maxResults 上限为 10,且该 section 无分页。

sections:
  parallel:
    maxResults: 10

适用场景与注意

  • 适合在 DSH 中把本地 SearXNG、本地 Markdown RAG、Parallel 等来源接入同一个 web_search 响应的场景。
  • 适合希望保持原生搜索结果优先,同时按 section 查看其他来源的使用者。
  • 如果只需要 stock web_search,或不想引入额外依赖、本地路径和外部 API 权限,可以继续使用原生工具。

使用前建议确认:

1、当前 dsh 进程有权限读取你配置的本地目录,并允许目标 API 网络访问。
2、依赖满足 peer dependencies,包括 @deepseek-ai/cordis 和 DSH web/tool 相关包。
3、静默降级不会报错:模块 URL、路径、API key 或网络异常时,对应 section 可能直接消失,排查时需要检查配置和运行日志。
4、parallel-extract 是 opt-in,默认 disabled。
5、Parallel maxResults 最多 10,没有分页。

结尾

dsh-tool-web-enhanced 的价值在于把原生 web_search 扩展为可组合的检索入口:native 结果仍然优先,SearXNG、RAG 和 Parallel 按配置可选出现。

若你希望在 DeepSeek Harness 中同时使用多个检索来源,它可以作为一个可选的 web-search 插件位置。

GitHub:

https://github.com/edusrez/dsh-tool-web-enhanced
羽毛球分组比赛记分
小程序二维码

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

小夜