websearch-plugins:DeepSeek Harness 的无 API Key 聚合搜索与抓取插件

前言

DeepSeek Harness (DSH) 的 ctx.web 接口为智能体提供了联网能力。在没有代理或 API Key 的环境下,直接调用搜索引擎或抓取网页通常面临反爬虫、网络受限或 SSRF 风险。websearch-plugins 插件通过内置 16 个国内外搜索引擎的聚合能力与带 SSRF 防护的抓取功能,将这一过程封装为标准 DSH 插件,让 web_search 和 web_fetch 工具在不依赖外部 Key 的情况下可用。

核心功能

聚合搜索与结果过滤

插件内置 16 个搜索引擎,包括百度、搜狗、360、神马、必应中国等国内引擎,以及 Google、Bing、DuckDuckGo、Yahoo、Yandex 等海外引擎。默认使用 phantom-aggregate 提供聚合搜索,系统会并行发起请求,并自动过滤掉超时、被墙、403 或解析为空的失败结果,最终返回去重后的有效条目。

直接抓取与 SSRF 防护

通过 web_fetch 工具可以直接抓取目标 URL。插件实现了基于 DNS 解析与跳转检测的 SSRF 防护,拒绝访问环回地址 (127.0.0.0/8)、私有网段 (10.x/172.16.x/192.168.x)、链路本地地址及保留地址。同时,对 HTML 限制 1MB,文本限制 512KB,超出部分会截断并标记为 truncated。

浏览器模拟与零依赖

插件不依赖任何外部运行时库,直接使用 Node.js 内建的 fetch。在请求层,它模拟了真实浏览器的行为:携带完整的 Chrome 桌面级标头 (sec-ch-ua 等) 并维护进程内的 Cookie Jar。针对 JS 渲染的反爬页面,插件提供 fetchMode: auto 模式,会自动调用常驻的无头 Blink 渲染器(基于 CDP)进行解析。

安装与启用

本插件是一个标准 DSH 插件,通过 dsh plugin 命令安装。

dsh plugin --profile web add github:asdshuaishuai/websearch-plugins

安装后,需要重启 DSH Web 进程(Ctrl+C 后重新运行 dsh web)并刷新页面,配置才会生效。

使用方式

安装完成后,在 Harness 环境中即可直接调用以下接口:

  • 聚合搜索:调用 web_search(query),默认选中 phantom-aggregate。
  • 单引擎搜索:调用 web_search(query) 并指定 provider,如 baidu 或 google。
  • 网页抓取:调用 web_fetch(url),使用 phantom-http provider。

注意事项

  • 环境依赖:插件依赖 @deepseek-ai/dsh-web peer dependency。如果本地未安装,插件可能无法正常解析 WebError 或相关类型定义。
  • SSRF 限制:web_fetch 会拦截所有私网与环回请求,如需访问本地服务需绕过此插件,直接使用底层网络工具。
  • 网络与风控:搜索引擎的可用性取决于当前机器的出口网络环境。对于被本地网络限制或触发 IP 风控的引擎(如神马、Yandex),插件会在结果层自动过滤,不会导致整体请求失败。
羽毛球分组比赛记分
小程序二维码

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

小夜