前言¶
在 DeepSeek Harness(DSH)里跑智能体时,常会碰到要从 GitHub Release 拉安装包或便携包:几十到几百 MB 的资产,命令行或脚本里一条 URL 就卡住。直连 release-assets.githubusercontent.com 往往先快后慢;公共镜像时好时坏;本机装了 Clash 但内核没起、系统代理没开,curl 也走不上。手工试路线、再装 aria2 调参数,对 Windows 开发环境成本偏高。下面介绍维护者 chenjrastro-tech 发布的 DSH 插件 github-release-download-acceleration:把「探环境、测路线、分段下载、digest 校验」收成一条自然语言指令或一条 runner 命令,Windows 上依赖 PowerShell 5.1 与系统自带 curl.exe,零第三方依赖。
这是什么¶
github-release-download-acceleration 是 DSH 技能(同时是可 dsh plugin add 安装的插件包):用户只需说「这个包下太慢了」,技能自行完成环境自检、四类下载路线并行实测、在必要时做限时并发阶梯、再用 release 自带的 digest 做 SHA256 闭环校验。仓库与技能目录名均为 github-release-download-acceleration;npm 发布名为 github-release-accelerator(registry 不允许包名含 download),与插件装的是同一份代码。分类为联网工具;GitHub 上约 5 stars。许可证 MIT(package.json 当前版本 0.3.5)。
核心功能¶
技能明确不做的事包括:不装 aria2/7z/winget,不改系统注册表代理,不打开 Clash GUI,不把 allow-lan 打开,不结束用户其它下载进程。
已核实的主要能力如下。
环境自检与路线实测¶
- 检查
curl.exe、环境变量代理、系统代理、常见代理端口是否在监听;ProxyServer有值但端口未 Listen 不算可用代理。 - 四类路线各用 1MB range GET 实测:A 现有代理;B 无头拉起本机 Clash Verge 内核(
127.0.0.1:7897);C 六个公共镜像;D 直连。排序规则:先确认是否真拿到 ≥512KB,再比 KB/s。
资产名校验¶
测速前通过 release API 校验资产名;对不上则报 ASSET_NOT_FOUND,列出全部候选(名字 + MB)及最接近项,停下等用户确认,不静默换名继续下。
并发阶梯(可跳过)¶
仅当资产 ≥100 MB 且单连接探针低于 3 MB/s 时才测 1/16 两档并发(限同一时间窗 4 秒、三遍取中位数等规则);小包或单连接已够快时跳过整个阶梯以省流量与时间。-ForceLadder 可强制测。
下载与自愈¶
- 单流或按胜出段数多 range 并发;每段独立日志,带
--retry。 - 下载中约 45 秒看一次增长;长时间 0 字节则只杀本技能起的 curl、清空分片、降并发或切第二路线。
- 拼装前核对分片总字节;有 digest 则比对 size 与 SHA256;无 digest 的老 release 只报告字节数一致,不冒充校验通过。
- 收尾只停自己起的进程、删自己建的目录,并确认 7897 不再监听、
ProxyEnable与开始时一致。
幂等与续传¶
目标文件已存在且字节数(有 digest 时含 SHA256)正确 → ALREADY_DONE。分段方案写在 <asset>.parts/manifest.json,换镜像或代理后重跑可 RESUME_PLAN。校验失败保留分片(PARTS_KEPT);确认不要了再用 -ForceClean。
macOS / Linux 可用 scripts/ghdl.sh,核心语义与 Windows runner 一致;B 路线无头内核、单流多候选回退等为 Windows 侧增强。
安装与启用¶
DSH 生态里技能既可手动放进技能发现根,也推荐用插件市场同款命令安装。装好后需用宿主的 skill 工具真正加载一次验证,仅目录存在不算完成注册。
推荐(与插件市场一致):
dsh plugin add github:chenjrastro-tech/github-release-download-acceleration
包装层为 package.json + cordis.patch.yml + index.js:index.js 将包内 SKILL.md 注册为技能(source: bundled、rank 600)。
手动放置(二选一):
- 项目级:
<项目根>/.dsh/skills/github-release-download-acceleration/(<项目根>为最近含.git的祖先目录)。 - 用户级:
%USERPROFILE%\.dsh\skills\github-release-download-acceleration\。
技能不在 git 项目内时,可用目录联接挂到用户级技能根(README 中有 mklink /J 示例)。
环境要求: Windows 10/11 + Windows PowerShell 5.1 + 系统自带 curl.exe(Win10 1803+)。也可 npm i github-release-accelerator,在 DSH 里仍建议用 dsh plugin add 上述 GitHub 坐标。
安装前请自行查看仓库源码与 MIT 许可证;插件与 runner 以当前 DSH 进程权限执行本机命令(含 curl、可能无头起 Clash 内核),使用前确认符合你的安全策略。
典型用法¶
自然语言(技能正文在 SKILL.md)¶
给了 release 直链:
帮我把 https://github.com/obsproject/obs-studio/releases/download/33.0.0/OBS-Studio-33.0.0-Windows-x64.zip 下下来,太慢了
只给 tag 页(技能会选最大资产并说明理由):
github.com/neovim/neovim/releases/tag/v0.11.0 这个包下不动,你看着办
可选指定目标目录,例如 下到 D:\Downloads\_dl;未指定时由宿主任选落地目录,报告中给出绝对路径。
内部顺序固定为:解析 URL → 环境自检 → 定位内核与配置 → API 校验资产名 → 并行探测路线 →(必要时)无头起内核 → 按需阶梯 → 下载 → 监控/降档 → 拼装 → digest 校验 → 收尾。
一次性 runner(宿主只能执行一条命令时)¶
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>'
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -OutDir 'D:\Downloads'
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -ForceLadder
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -Parts 16
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -ForceClean
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -KeepParts
powershell -NoProfile -File scripts\ghdl.ps1 -Url '<release 直链>' -Sha256 '<sha256>'
退出码:0 仅在校验通过时;DOWNLOAD_VERIFY_FAILED、SEGMENT_SIZE_MISMATCH、NO_ROUTE 等为 1。
适用场景与注意¶
适合: 在 Windows + DSH(或兼容 SKILL.md 的宿主)下,需要从 GitHub Release 拉较大资产,且希望 agent 自动试代理/镜像/直连并分段下载,而不是让你手工改代理或装下载器。
注意:
- 主要设计面向 Windows PowerShell 5.1;Linux/macOS 用
ghdl.sh,部分 Windows 专属能力在 sh 侧无对等项(如-NoKernelPool仅 ps1)。 - 公共镜像与 GitHub API 可用性因网络而异;资产名错误时技能会停等确认,需你回复正确文件名。
- 社区插件目录(如 skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 生态理念,本文仅介绍该插件行为与安装方式。
结尾¶
github-release-download-acceleration 把 GitHub Release 大文件下载从「猜路线 + 手工工具链」收成 DSH 里一句诉求或一条 ghdl.ps1 命令:实测选路、按需分段、digest 校验、失败可续传。需要细节决策表与错误路径时,以仓库内 SKILL.md 与 references/runner-steps.md 为准。
- 目录页:https://www.skillhub.cn/plugins/chenjrastro-tech/github-release-download-acceleration
- GitHub:https://github.com/chenjrastro-tech/github-release-download-acceleration