前言¶
在 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。
- 支持可选
topic和sources参数;sources可取native、searxng、rag、parallel或all。 - 提供 opt-in 的
parallel-extractweb_fetchprovider,可将 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 参数指定返回的来源取值。已列出的取值包括 native、searxng、rag、parallel、all。
参数示意:
{
"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.mode 和 sections.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