dsh-web-search-pro-plus:面向 DSH 0.2.1-rc.2 的多引擎网页搜索 bundle

前言

在 DeepSeek Harness(DSH)里做网页研究时,模型往往直接调用宿主自带的 web_search / web_fetch,返回的是长摘要和原始片段,容易占满上下文;若自己接多个搜索 API、缓存和抓取管线,又要维护一堆工具名和配置。社区里已有 anweat/dsh-web-search-pro 把多引擎搜索、持久化缓存和证据管线打成 bundle,但其 peer 与浏览器配套插件面向更早的 DSH 线。AlbertZJ 维护的 dsh-web-search-pro-plus 在搜索核心与上游一致的前提下,针对 dsh-v0.2.1-rc.2 调整依赖范围,并修复 Windows 上测试路径等问题;下面介绍它是什么、能做什么、如何安装与使用,以及在本宿主版本上的能力边界。

这是什么

dsh-web-search-pro-plus 是一个 DSH bundle 插件:把多引擎网页搜索、SQLite 与 LRU 持久化缓存、HTTP 抓取与证据管线打包成模型可调用的能力。常驻上下文只暴露 web_index / web_call 两个工具(原 11 个 web_* 工具已并入 20 个动作)。路由控制面借鉴 Agent-Reach 的后端探测、顺序选择与失败冷却思路,核心逻辑为本项目原生 TypeScript 实现。

维护者为 AlbertZJ;仓库地址为 github.com/AlbertZJ/dsh-web-search-pro-plus。插件目录页见 skillhub.cn。分类为联网工具。当前包版本为 0.2.1-r1,许可证 MIT。DSH 生态采用「一切皆插件」思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

兼容范围与能力边界

本仓库发布通道 0.2.1-r1 只支持 DSH 基线 >=0.2.1-rc.2 <0.2.2-0(peer 写法见 README)。更早的 0.2.0 线与 0.2.1 的前序预发布会被拒绝。

在 0.2.1-rc.2 上,上游配套的 @anweat/dsh-browser 0.2.0 无法安装,本派生也不 fork 浏览器插件。因此:

  • 不要在本 profile 里安装或升级 @anweat/dsh-browser;
  • read.snapshot、read.fetch mode=playwright、浏览器平台与 OpenCLI 平台会返回 CAPABILITY_UNAVAILABLE;
  • read.fetch mode=auto 只走 HTTP/CLI 后端;
  • 搜索、HTTP 抓取、证据管线、缓存、历史等功能仍可用。

插件以当前 DSH 进程权限运行;安装前应自行查看源码与 LICENSE,确认符合你的安全与合规要求。

核心功能

工具面与证据管线

模型通过 web_call 调用约 20 个动作(如 search.run、read.fetch、read.contents、sources.status 等),web_index() 提供目录与常用示例。同一套证据管线有两种入口:(a)直接 web_call + search.run;(b)将本插件注册并选为 ctx.web provider 后,宿主内置的 web_search / web_fetch 也会走同一证据包渲染,减少上下文占用。

默认关闭 Jev(evidence.jevMode: off,证据评分用本地规则,不调用模型、不需要模型 Key)。只有配置了博查 Key(bochaApiKey / BOCHA_SEARCH_API_KEY 或凭据引用)才会启用博查。默认网页引擎包括 seam、exa、ddg、bing、jina 等;Exa 可无 Key 经 MCP 回退,ddg / bing 免 Key。

平台来源与搜索

GitHub、B 站、知乎、Reddit、arXiv 等以 kind: platform 注册为来源;可用 search.run 配合 platform=… 或经典 engines 参数。平台缺浏览器、登录、CLI 或 Token 时返回 CAPABILITY_UNAVAILABLE,不会悄悄改搜网页引擎,除非传 allowFallback=true。

持久化与缓存

历史、页面、规则、证据、账本等数据与上游 web-search-pro 的 web-search-pro: 配置段兼容;从上游迁移时包名不同,需先 remove 再 add,数据可保留。

与上游的关系

搜索核心与 anweat/dsh-web-search-pro 一致;本仓库针对 dsh-v0.2.1-rc.2 调整 peer,并修复 Windows 测试路径与清理问题。破坏性变更:旧工具名 web_search_pro、web_fetch_pro 等 11 个不再注册,需对照 README 中的「旧工具到新动作」表改用 web_call 动作。

安装与启用

仓库尚未发布到 npm,从 GitHub 或本地目录安装。本插件必须是 profile 的直接依赖;标准 profile 可能 autoInstallPeers: false,不要依赖 peer 自动补齐。安装或更新带客户端面板的版本后,需完整停止并重启 Web profile,仅刷新网页不会重新扫描 client.js。

先从 GitHub 安装(推荐):

dsh plugin --profile web add github:AlbertZJ/dsh-web-search-pro-plus

或在本地仓库内先 pnpm install && pnpm build,再:

dsh plugin --profile web add ../dsh-web-search-pro-plus

重启 web profile:

dsh --profile web

从上游 dsh-web-search-pro 迁移:

dsh plugin --profile web remove dsh-web-search-pro
dsh plugin --profile web add github:AlbertZJ/dsh-web-search-pro-plus
dsh --profile web

Node 引擎要求:^22.19 || >=24(见 package.json)。

典型用法

安装并重启后,在 DSH 会话中让模型调用工具即可。README 给出的示例如下:

请先用 web_call 的 sources.status 检查后端,然后用 search.run 搜索
"DeepSeek Harness community feedback",指定 exa、fresh=true、返回 8 条来源。

日常网页搜索用 search.run,需要强制刷新时传 fresh=true。语义研究可 search.run 并指定 engines=exa。已知 URL 批量正文用 read.contents(需配置 EXA_API_KEY)。先运行 sources.status 判断后端是否 ready;需要推荐引擎时可问 search.recommend。

情形 推荐入口 说明
日常网页搜索 search.run 默认按配置顺序回退;fresh=true 强制刷新
语义研究 search.run + engines=exa 有 Key 走 Exa API;仅 MCP 时经 mcporter 回退
已知 URL 批量正文 read.contents 需 EXA_API_KEY
GitHub / B 站等平台 search.run + platform=… 部分平台在本宿主上因浏览器不可用而受限

随包的 skill dsh-web-search-pro 带有证据模式工作示例;web_index() 根目录列出最常用调用。

适用场景与注意

适合已在 DSH 0.2.1-rc.2 上使用 web profile、需要多引擎搜索、持久化缓存和证据包(而非裸搜索结果)的智能体或开发者。若依赖 Playwright 渲染、浏览器自动化或 dsh-browser 的 OpenCLI 桥,在本插件所支持的宿主线上不可用,应规划 HTTP/CLI 路径或等待与 0.2.1-rc.2 匹配的浏览器 bundle。

Clash/TUN 使用 fake-IP DNS 时,原生 HTTP 后端可能解析到代理网段;可在可视化面板高级设置中启用 allowProxyFakeIp(默认关闭),该开关只信任特定代理网段的 DNS 结果,字面 fake-IP 与私网地址仍受 SSRF 防护拒绝。

生产 profile 若将来在兼容宿主上使用浏览器相关能力,README 建议保留 automationMode 为 standard;unrestricted 仅用于隔离测试。与本篇相关的当前事实是:在 0.2.1-rc.2 + 本插件组合下,浏览器动作返回 CAPABILITY_UNAVAILABLE。

结尾

dsh-web-search-pro-plus 把多引擎路由、持久化缓存与证据管线收敛到 web_index / web_call,并明确绑定 DSH 0.2.1-rc.2 这一验证基线;在放弃浏览器 bundle 的前提下,仍保留搜索、HTTP 抓取与证据工作流。进一步了解配置与 CHANGELOG 请读仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/AlbertZJ/dsh-web-search-pro-plus
  • GitHub:https://github.com/AlbertZJ/dsh-web-search-pro-plus
羽毛球分组比赛记分
小程序二维码

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

Xiaoye