前言¶
在 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