dsh-plugin-free-web(免编译・免命令行・自动接管版)
这是一个专为 DeepSeek Harness (dsh) 打包好的本地预编译插件(已包含编译好的 dist/index.js 和自动覆盖配置 cordis.patch.yml)。
✨ 核心特性
- 彻底免编译、零依赖:已完成构建,无需运行
npm install 或 npm run build。
- 开机自动接管,告别命令行环境变量:
- 内置
cordis.patch.yml Bundle 补丁与运行时自动接管逻辑。
- 安装一次后,自动禁用官方计费的
deepseek-official 搜索,永久将 searchProvider 设为 free-search-pfw、将 fetchProvider 设为 free-fetch-pfw。
- provider id 带
-pfw 独占后缀,可与环境里其他免费 web 插件(同样注册 free-search/free-fetch)共存,不会触发 WEB_DUPLICATE_PROVIDER。
- 多引擎并行竞速搜索(
free-search-pfw):
- 360 搜索:中文查询精度最高,作为中文首选。
- Bing:英文/全球查询首选(
www.bing.com + setlang=en),能命中 github、官方文档等原始资料。
- DuckDuckGo:兜底,本机常被限流故默认最后。
- 按查询语言自动调整引擎优先级,并互为兜底:中文查 360、英文查 Bing,任一失败自动换另一个。
- 并行竞速 + 提前返回:多个引擎同时发起,拿到优质结果立即返回,不被慢引擎拖累。
- 相关性闸门:搜索引擎偶尔会对某些 IP 返回「串号」结果(HTTP 200、结构正常,内容却与查询完全无关)。低于阈值的结果集判为该引擎失效并换下一个,不把垃圾结果交给模型。
- 引擎熔断:连续失败的引擎(如被限流的 DDG)会短期跳过,避免每次搜索都白等超时。
- 增强型免费网页抓取(
free-fetch-pfw):
- 默认优先通过 Jina Reader (
r.jina.ai) 将网页提取为干净的 Markdown 正文。
- Jina 不可用时回退原生 HTTP,并自动把 HTML 转纯文本,避免把几十万字符的标签噪声交给模型。
- 导航噪声剥离:GitHub 等站点的导航菜单可占页面 90% 以上字符,会被剥离后只保留正文(实测 GitHub 仓库页 100000 字符 → 约 5000 字符正文)。
- 内置 URL 校验(拒绝空 URL / 非 http(s) / 内嵌账号密码)、网络瞬时故障重试、Unicode 码点安全截断。
📊 与官方 DeepSeek Search/Fetch API 对比(实测)
| 指标 | 本插件 | 官方 API |
|---|
| 搜索成功率 | 10/10 | 10/10 |
| 搜索中位延迟 | ~420 ms | ~305 ms |
| 外国站占比(全部) | 0.94 | 0.90 |
| 外国站占比(纯英文查询) | 1.00 | 0.90 |
| 抓取正文噪声 | 0 标签 | 0 标签 |
| 费用 | 免费 | 5 元 / 1000 次(2026-11-01 起计费) |
结论:外国网站(github 等)检索能力已达到并略超官方;延迟略高于官方(官方有自建搜索引擎),但换来零成本。
⚠️ 上游包修复记录(本副本已修)
随包发布的 dist/index.js 存在以下真实缺陷,本副本均已修复:
- 正则中的
\b 被写成了退格控制字符(0x08):Bing 的 b_algo/b_caption 匹配因此永远不命中,web_search 只会静默返回空结果。
www.bing.com 对部分中文查询返回串号结果:已按查询语言分流,中文走 cn.bing.com,并新增相关性闸门。
- 英文查询返回大量中文站:原实现只有 Bing + DDG,实测外国站占比仅 0.22;已加入 360 兜底 + 外国站优先排序,提升至 0.94~1.00。
- 空 URL 抓取返回 Jina 自己的说明页:已加入 URL 校验。
- 抓取结果含大量导航噪声 / 原始 HTML:已加入噪声剥离与 HTML→文本转换。
🚀 安装方式(任选其一)
方式 A:从 GitHub 一键安装(推荐)
在 DeepSeek Harness 聊天框里发送:
请调用 plugin_manager 工具(action: install_bundle)帮我安装这个 GitHub 插件:github:wsjb114514/dsh-plugin-free-web
DeepSeek Harness 会自动克隆、安装并挂载,刷新页面即可永久生效。
方式 B:聊天框本地安装
- 从本仓库下载源码(
Code → Download ZIP)并解压到固定文件夹。
- 在 DeepSeek Harness 聊天框发送(把路径换成你实际解压的路径):
请调用 plugin_manager 工具(action: install_bundle)帮我安装这个本地插件:<你解压后的文件夹绝对路径>
方式 C:双击一键安装脚本
- 下载源码解压到固定目录。
- Windows 用户:双击运行
双击安装插件_Windows.bat。
- Mac 用户:双击运行
双击安装插件_Mac.command。
- 看到“✅ 安装完成”提示后重启一次 DeepSeek Harness 即可。
📦 发布内容
| 文件 | 说明 |
|---|
dist/index.js | 预编译产物,安装即用,无需 build |
dist/index.d.ts | 类型声明 |
src/index.ts | 源码(与 dist 同步的镜像) |
cordis.patch.yml | Bundle 补丁:接管 ctx.web 的 search/fetch provider 并禁用官方计费搜索 |
locale/zh.json locale/en.json | 插件管理页的标题与描述 |
icon.svg | 插件图标(原创) |
⚠️ 免责声明
- 本插件依赖第三方公开搜索接口(360、Bing、DuckDuckGo)与 Jina Reader、GitHub 社区镜像,这些服务的可用性与反爬策略不受本仓库控制。
- 搜索结果的准确性取决于搜索引擎;插件内置相关性闸门过滤明显无关的结果,但不保证内容完全可靠。
- 请遵守目标网站的服务条款,勿用于高频爬取。
📄 License
MIT