dsh-plugin-free-web:DSH 零 API Key 的多引擎搜索与网页抓取

前言

DeepSeek Harness(DSH)里,模型要查资料、打开链接,通常依赖 web_search 与 web_fetch 两类能力。官方 DeepSeek Search/Fetch 自 2026-11-01 起按量计费;社区里也有自行接搜索引擎、Reader 服务的做法,但往往要编译、配环境变量,或与其他免费插件抢同一套 provider 名称。

下面介绍的是维护者 yachio-suki 在 SkillHub 分类「联网工具」下的 dsh-plugin-free-web:预编译 bundle,安装后可自动把搜索切到 free-search-pfw、抓取切到 free-fetch-pfw,用 360 / Bing / DuckDuckGo 并行竞速搜索,抓取侧优先 Jina Reader,并带相关性过滤与 GitHub 页噪声剥离。费用与 API Key 均为零;README 中自测对比显示,外国站(含 GitHub)检索占比与官方接近或略高,搜索中位延迟约 420 ms,略高于官方约 305 ms。

这是什么

dsh-plugin-free-web 是面向 DSH 的本地预编译插件(已含 dist/index.js 与 cordis.patch.yml),当前 package 版本 1.0.1,许可证 MIT,要求 Node >= 20。

它解决两类问题:一是联网搜索不依赖付费官方 API;二是网页抓取尽量返回干净正文,而不是整页 HTML 或站点导航。插件通过带 -pfw 后缀的 provider id(free-search-pfw / free-fetch-pfw)注册能力,可与环境中其他注册 free-search / free-fetch 的插件共存,避免 WEB_DUPLICATE_PROVIDER。

核心功能

自动接管官方搜索与抓取

内置 cordis.patch.yml 与运行时逻辑:安装后自动禁用计费的 deepseek-official 搜索,并将 searchProvider 设为 free-search-pfw、fetchProvider 设为 free-fetch-pfw。无需再靠命令行环境变量手工切换。

free-search-pfw:多引擎并行竞速

  1. 360 搜索:中文查询优先。
  2. Bing:英文与全球查询优先(www.bing.com + setlang=en);中文查询走 cn.bing.com(README 说明曾修复 www.bing.com 对部分中文查询「串号」的问题)。
  3. DuckDuckGo:兜底;本机易被限流时默认排在最后。

机制要点:

  • 按查询语言调整引擎顺序,失败时互为兜底。
  • 多引擎并行发起,先拿到优质结果即返回。
  • 相关性闸门:HTTP 200 但内容与查询无关的结果集会判为引擎失效,换下一个引擎。
  • 引擎熔断:连续失败的引擎短期跳过,减少无效等待。

free-fetch-pfw:增强抓取

  1. 默认优先经 Jina Reader(r.jina.ai)提取 Markdown 正文。
  2. Jina 不可用时回退原生 HTTP,并将 HTML 转为纯文本。
  3. 对 GitHub 等站点做导航噪声剥离(README 举例:仓库页约 10 万字符可压到约 5000 字符正文)。
  4. URL 校验(拒绝空 URL、非 http(s)、内嵌账号密码)、网络瞬时故障重试、Unicode 安全截断。

README 注明:随包 dist/index.js 在本副本中已修复 Bing 正则、相关性、空 URL 抓取等问题;第三方搜索与 Jina 的可用性不受仓库控制。

安装与启用

任选 README 中的一种方式;不要使用未在文档中出现的 CLI 拼接安装命令。

方式 A:GitHub 一键安装(推荐)

在 DSH 聊天框发送(原文 install 指向的仓库 slug 如下):

请调用 plugin_manager 工具(action: install_bundle)帮我安装这个 GitHub 插件:github:wsjb114514/dsh-plugin-free-web

Harness 会克隆、安装并挂载;刷新页面后生效。

方式 B:本地目录安装

  1. 从 GitHub 下载源码 ZIP 并解压到固定目录。
  2. 在聊天框发送(路径改为你本机绝对路径):
请调用 plugin_manager 工具(action: install_bundle)帮我安装这个本地插件:<你解压后的文件夹绝对路径>

方式 C:一键脚本

解压后:Windows 双击 双击安装插件_Windows.bat;Mac 双击 双击安装插件_Mac.command。出现安装完成提示后重启一次 DSH。

发布包主要文件包括 dist/index.js、cordis.patch.yml、locale/zh.json / locale/en.json 等;免 npm install / npm run build。

典型用法

安装并完成自动接管后,无需单独配置 provider:在对话中让模型搜索或打开 URL,即走 free-search-pfw 与 free-fetch-pfw。例如:

  • 中文技术问题:依赖 360 优先与 Bing 兜底。
  • 查 GitHub 仓库、英文文档:Bing 优先,README 自测外国站占比较高。
  • 给定 https 链接:优先 Jina 正文,失败则 HTTP + 去噪文本。

具体工具名与参数以当前 DSH 内置的 web_search / web_fetch 为准;插件在后台替换实现,不改变你习惯的对话方式。

适用场景与注意

适合:希望 DSH 联网但不想买官方 Search/Fetch 配额;需要中文与 GitHub/外文站兼顾;希望开箱即用、少碰编译与环境变量。

注意:

  • 插件以当前 DSH 进程权限访问网络与读本地 bundle;安装前请阅读源码与 MIT 许可证,并知悉免责声明(遵守目标站点条款、勿高频爬取)。
  • 结果准确性取决于搜索引擎;相关性闸门只能过滤明显无关页,不保证内容完全可靠。
  • SkillHub 目录页与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;星标等元数据以各站点当时显示为准。

结尾

dsh-plugin-free-web 把 DSH 的搜索与抓取接到免费多引擎与 Jina/HTTP 抓取链路上,并用 bundle 补丁固定 provider,降低与官方计费能力及其他免费插件的冲突成本。若要在 Harness 里长期零 Key 联网,可按上文任选一种安装方式启用。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye