github-release-download-acceleration
DSH skill that measures which route to a GitHub release asset is fastest (existing proxy, headless Clash core, public mirrors, direct), runs a time-boxed concurrency ladder on the winner, then downloads in parallel curl ranges and verifies size plus SHA256 against the release digest. No aria2, no system proxy changes, no questions.
What it is
DSH skill that measures which route to a GitHub release asset is fastest (existing proxy, headless Clash core, public mirrors, direct), runs a time-boxed concurrency ladder on the winner, then downloads in parallel curl ranges and verifies size plus SHA256 aga…
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add github-release-accelerator@0.3.4
DSH versions accepted
Undeclared
Author and traction
chenjrastro-tech · ★ 8 · Updated 2026-10-31
About this plugin
GitHub Release 下载加速(github-release-download-acceleration)
一个零依赖的 Windows PowerShell 技能:用户只说「这个包下太慢了」,它自己探清机器家底、实测选出最快路线、单流或分段并发下载,最后用 release 自带的 digest 做 SHA256 闭环校验。
视频介绍
2 分 13 秒 · 中文讲解 + 英文字幕 · 原理演示,不替代下方基准数据。点击封面播放;GitHub README 不能直接内嵌 release 资产,所以使用封面链接。
1. 项目解决什么问题
GitHub Release 的大资产(几十到几百 MB 的安装包、便携包)在国内网络下经常出现三种情况:
- 直连被限速:
release-assets.githubusercontent.com前几秒还快,随后掉到几百 KB/s,一个 200MB 的包要等好几分钟。 - 公共镜像不可靠:
ghfast.top、ghproxy.net、github.moeyy.xyz这类镜像随时可能 TLS 握手超时、返回错误页,或者比直连还慢。 - 本机其实有代理能力:很多人装了 Clash Verge,但内核没在跑、系统代理没开,命令行下载完全用不上它。
手工排这些可能性很费时间,而且「装个 aria2 / 7z 再研究参数」对环境要求太高。本技能把这件事变成一条命令:不装东西、不改系统代理、不问用户参数,自己把上面这些路线实测一遍再决定怎么下。
2. 主要功能
| 能力 | 具体行为 |
| --- | --- |
| 环境自检 | 查 curl.exe、环境变量代理、系统代理、常见代理端口是否在监听;ProxyServer 残留值不算数,只有端口真的 Listen 才算 |
| 四类路线并行实测 | A 现有代理 / B 无头拉起本机 Clash Verge 内核(127.0.0.1:7897)/ C 六个公共镜像 / D 直连,各跑一次 1MB range GET,按「先看是否真拿到 ≥512KB 数据,再看 KB/s」排序 |
| 资产名校验闸门 | 测速前先用 release API 校验资产名;名字对不上就报 ASSET_NOT_FOUND,列出全部真实候选(名字 + MB)和最接近的一条,停下等用户确认,绝不静默换名继续下 |
| 并发阶梯(先判值不值得测) | 只有「资产 ≥100 MB 且 单连接探针 <3 MB/s」才测——探针就是第 5 步那个 8 MB 单连接 GET 的 $singleKB,不额外花流量。测的时候 1/16 两档 × 三遍、限同一时间窗(4 秒)比聚合吞吐,取中位数并报 min–max;胜出档还要满足「完成数 n/n、三次波动 ≤2×」,两档中位数差 10% 以内选低并发,多段比单段快不到 1.25 倍就用单流。小包或单连接已经够快时跳过整个阶梯(省下约 24 秒与上百 MB 采样流量),-ForceLadder 可强制测 |
| 单流 / 分段两条下载路径 | $winN=1 或 <100MB 走单流一次拿完;大资产按 $winN 段并发,每段独立日志、带 --retry,--retry-all-errors 仅在 curl ≥7.71 时启用 |
| 下载中自愈 | 45 秒看一次增长,20–30 秒还是 0 字节就只杀自己的 curl、清空分片、降并发(16→8→4)或切第二路线重开 |
| digest 闭环校验 | 拼装前核对分片总字节,拼完比对 size 与 SHA256;无 digest 的老 release 只报「字节数一致」,绝不冒充校验通过 |
| 收尾还原 | 只停自己起的进程、只删自己建的目录,确认 7897 不再监听、ProxyEnable 与开始时一致 |
它明确不做的事:不装 aria2/7z/winget,不写注册表代理项,不开 Clash GUI,不把 allow-lan 打开,不杀用户的其它下载进程。
3. 安装方法
技能就是一个目录,放进宿主的技能发现根即可。
github-release-download-acceleration/ ├── SKILL.md # 技能正文(索引):决策表 + 错误路径 + 步骤说明 + 参数 + Pitfalls ├── references/ │ ├── runner-steps.md # 0–10 步 powershell 真源(build-runner 用它生成 ghdl.ps1) │ ├── maintenance.md # 施工法 A/B、发布四份证据(维护附录,不占 SKILL.md 体积) │ └── fetch-raw-via-api.md # raw 文件改走 contents API 的具体命令 ├── README.md # 本文件 ├── LICENSE # MIT 许可证 ├── package.json # 插件清单:声明 dsh.bundle.patch(市场只收带 dsh.bundle 的包) ├── cordis.patch.yml # bundle patch:把本插件插进 profile 的 loader 树 ├── index.js # 技能 provider:把包里的 SKILL.md 挂进 ctx.skills(零依赖) ├── agents/ │ └── openai.yaml # Codex/OpenAI 宿主的展示元数据(DSH 不读这个文件) ├── scripts/ │ ├── build-runner.ps1 # 生成器:references/runner-steps.md -> ghdl.ps1 │ ├── ghdl.ps1 # Windows runner(生成物,勿手改) │ ├── ghdl.sh # macOS/Linux runner │ ├── ghdl-min.sh # 单文件最小版(正文内联同一份) │ └── validate.ps1 # 自检脚本:结构 / frontmatter / 5.1 兼容性 / 代码块语法 ├── assets/ # 市场卡片图标、实测截图与视频封面 └── screenshots.json # 声明 1-8 张截图(市场详情页读取,放 package.json 旁边)
DeepSeek Harness(DSH)
1. 项目级:放到 <项目根>/.dsh/skills/github-release-download-acceleration/(<项目根> = 最近含 .git 的祖先目录)。
2. 用户级:放到 %USERPROFILE%\.dsh\skills\github-release-download-acceleration/(即 C:\Users\<用户名>\.dsh\skills\)。
3. 若技能目录本身不在任何含 .git 的项目里(比如它自己就是项目根,而你没有 init git),DSH 会把 projectRoot 退化成当前会话目录,此时用目录联接把它挂进用户级技能根即可:
$src = '<技能所在目录>\github-release-download-acceleration'
$dst = "$env:USERPROFILE\.dsh\skills\github-release-download-acceleration"
if (-not (Test-Path $dst)) { cmd /c mklink /J "$dst" "$src" }
挂好后用宿主的 skill 工具真正加载一次验证;只看目录存在不算数(DSH 会对技能目录热加载)。
4. 插件方式(推荐,和插件市场一致):
dsh plugin add github:chenjrastro-tech/github-release-download-acceleration
包装层就是 package.json + cordis.patch.yml + index.js 三个文件:DSH 装上后由 index.js 把包内的 SKILL.md 注册成技能(source: bundled、rank 600)。因此它同时是「能手动放的技能目录」和「能用 dsh plugin add 装的插件包」,两条路读的是同一份 SKILL.md,不会出现两份正文漂移。
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| archify | tt-a1i | 95.2K | 0.0.0 | 2026-11-10 |
| nuwa-skill | alchaincyf | 37.9K | 2.0.1 | 2026-11-10 |
| distilly | titanwings | 26.5K | 1.0.0 | 2026-10-13 |
| learn-harness-engineering | walkinglabs | 24.1K | 0.1.0 | 2026-10-22 |
| dsh-Go | ccch1mneyyy | 18.1K | 0.0.0 | 2026-11-10 |