🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Blob 下载器 adcgesdad/dsh-blob-download

DeepSeek Harness
adcgesdad4 天前有提交已提供中文文档扫描:含敏感能力

在浏览器内用 blob 方式下载文件,绕开迅雷等扩展劫持

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add adcgesdad/dsh-blob-download
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 4 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    lib/index.js:53
    if (xdg && existsSync(xdg)) return xdg
  • 读取本地文件
    lib/index.js:56
    if (existsSync(p)) return p
  • 读取本地文件
    lib/index.js:106
    while (existsSync(join(dir, candidate))) {
  • 读取本地文件
    lib/index.js:124
    entries = readdirSync(dir)
  • 读取本地文件
    lib/index.js:132
    const st = statSync(p)
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DSH 浏览器里用 blob: 方案下载文件,绕过迅雷等下载扩展的劫持

README

由 DeepSeek 最新模型翻译生成
dsh-blob-download 给 DeepSeek Harness 用的下载工具插件:在 DSH 浏览器里用 blob: 方案下载文件,绕过迅雷等下载扩展的劫持。 在 DSH 浏览器内通过 blob: URL 下载文件,下载劫持类扩展(迅雷等)就永远看不到 chrome.downloads 事件。 解决什么问题 迅雷「下载支持」扩展(popomkonnjgcdagdhgcpcekbdeoibglc)会监听 chrome.downloads,把浏览器的下载 cancel 掉,再经 nativeMessaging 交给迅雷客户端建任务——于是你在 DSH 里让智能体下个文件,弹出来的却是迅雷的「新建下载任务」窗口。 但这类扩展在决策函数里通常明确排除了 blob: / data: 协议,因为 blob 无法可靠地交给外部下载器重下。迅雷 v4.1.5 的 bd() 第一条就是: if (vd.has(new URL(url).protocol)) return false; // vd = Set(["blob:", "data:", "chrome-extension:", "file:"]) 所以在页面内走一遍 fetch → Blob → createObjectURL → .click() 就能让文件老老实实走浏览器自己的下载管线,不触发扩展。
展开完整文档(README 剩余 1 节)
dsh-blob-download

给 DeepSeek Harness 用的下载工具插件:在 DSH 浏览器里用 blob: 方案下载文件,绕过迅雷等下载扩展的劫持。

在 DSH 浏览器内通过 blob: URL 下载文件,下载劫持类扩展(迅雷等)就永远看不到 chrome.downloads 事件。

解决什么问题

迅雷「下载支持」扩展(popomkonnjgcdagdhgcpcekbdeoibglc)会监听 chrome.downloads,把浏览器的下载 cancel 掉,再经 nativeMessaging 交给迅雷客户端建任务——于是你在 DSH 里让智能体下个文件,弹出来的却是迅雷的「新建下载任务」窗口。

但这类扩展在决策函数里通常明确排除了 blob: / data: 协议,因为 blob 无法可靠地交给外部下载器重下。迅雷 v4.1.5 的 bd() 第一条就是:

if (vd.has(new URL(url).protocol)) return false;
// vd = Set(["blob:", "data:", "chrome-extension:", "file:"])

所以在页面内走一遍 fetch → Blob → createObjectURL → .click() 就能让文件老老实实走浏览器自己的下载管线,不触发扩展。

为什么不用 dsh_browser_download

DSH 自带的 dsh_browser_download 走服务商的原生下载通道,而桌面端(desktop shell)不支持它:

browser: download is only available on the self-hosted browser

本插件改走页面内 blob 方案,桌面端同样可用。

安装

插件要求 DSH 0.2.1-rc.5 或更高,并且配置档里装了 dsh-builtin-browser(浏览器工具 dsh_browser_* 的来源,插件要用它的 browser 服务)。

方式一:插件页安装(推荐)

Web 侧边栏 → 插件 → 安装,填本仓库的 git 地址:

git+https://github.com/adcgesdad/dsh-blob-download.git

需要固定版本就在后面加 #<commit>。装完重启 DSH。

方式二:本地源码

git clone https://github.com/adcgesdad/dsh-blob-download.git ~/.dsh/plugin-src/dsh-blob-download
cd ~/.dsh/profiles/desktop
pnpm add link:~/.dsh/plugin-src/dsh-blob-download

然后把包名追加进同一个 package.json 的 bundle 列表:

{
"dependencies": { "dsh-blob-download": "link:..." },
"dsh": { "profile": { "bundles": ["dsh-builtin-browser", "dsh-blob-download"] } }
}

重启 DSH 生效。

方式三:npm(暂未发布)

npm i dsh-blob-download 这条要等包发到 npm 之后才能用,目前请走上面两种。

工具:blob_download

| 参数 | 必填 | 说明 |
| url | 是 | 要下载的 URL(http/https) |
| fileName | 否 | 保存的文件名,不传就从 URL 末段推断 |
| saveDir | 否 | 保存目录(绝对路径),不传用配置或系统下载目录 |
| waitSeconds | 否 | 等待落盘的秒数,默认 30,上限 300 |

返回:

{ ok: boolean, message: string, path?: string, bytes?: number, fileName?: string, verified?: boolean }

verified: true 表示宿主真的在目标目录里看到了大小相符的新文件,不只是「点了一下下载链接」。

行为细节

- 一次只下一个:浏览器对并发触发多个下载会弹「允许下载多个文件」确认框,未确认前后续下载被挂起,看起来就像失败。插件内部串行排队,一个下完(无论成败)才轮到下一个。
- 先落目录再下:下载前会把会话导航到目标 URL 的 origin 根路径,让页面内 fetch 是同源请求(同站资源不受 CORS 限制)。注意不能直接 openUrl 目标文件——那会先触发一次真正的浏览器下载,正好喂给迅雷。
- 文件名消毒:去掉 Windows 不允许的字符和路径穿越段;重名自动加 (1) 后缀。
- 会删空目录:不会。插件只读目录,不清理也不移动文件。

配置

cordis.patch.yml 里可改:

- insert:
- id: blob-download
name: 'dsh-blob-download'
config:
downloadDir: '' # 默认目标目录,留空用系统下载目录 timeoutMs: 120000 # 单次等待上限(毫秒)

已知限制

- 只支持 http/https。file:、data: 等协议会被拒绝。
- 依赖页面能 fetch 到目标 URL。有反爬或需要特殊 header 的站点可能取不到字节。
- 目标站点若禁止跨源读取(没给 CORS 头)且文件不在同站,fetch 会失败。
- 需要 browser 服务在场:没装 dsh-builtin-browser 时工具会直接报错。

许可

MIT
预览分享卡片长什么样 ↓adcgesdad/dsh-blob-download
分享 · DeepSeek Harness Hub
adcgesdad/dsh-blob-download

在浏览器内用 blob 方式下载文件,绕开迅雷等扩展劫持

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部