Skip to content

SheepGet v1.0.11

Choose a tag to compare

@github-actions github-actions released this 29 Oct 15:10
· 8 commits to main since this release

🚀 SheepGet v1.0.11 发布说明

现代轻量、极速高性能桌面下载管理器与流媒体嗅探工具。


💡 本次版本核心特性与关键更新

SheepGet v1.0.11 带来 zip 聚合下载、进度窗口完成聚焦与单次静默下载、分类落点收敛,并集中处理了下载引擎与前端列表的热路径性能、扩展 Cookie 权限与交接回退:

1. 📦 zip 聚合下载(面向脚本与 AI Agent)

  • 一个批次只对应一个任务:同一应用、模型、场景或数据集的多个零散文件通过 zipId 登记为一个批次,成员文件不建独立任务、不产生独立进度条目,任务列表与进度窗口只展示所属批次;
  • 先登记、后下载:收集阶段只探测大小、真实文件名、最终 URL 与续传信息,不占用下载名额;闭合(zipFinal)后才进入队列统一传输并打包成一个 zip;
  • 安全阀「立即打包」:Agent 忘记闭合时可在界面直接收尾,批次不会永远停在收集阶段;
  • 连接预算沿用单任务设置:批次内最多 4 个成员并行,单任务分块连接数在在飞成员之间均分,小文件自然收敛为单连接,不因批次放大连接数;
  • 暂存 + 原子打包,失败可分离重试:成员先落到任务暂存目录,打包写入 <目标>.sheepget 成功后原子改名;传输失败只补失败或缺失成员,打包失败走「仅重试处理」直接复用暂存分片;
  • 成员路径冲突直接 409:zip 内路径保持原名,不自动改名,避免破坏模型加载与使用方约定;
  • 重启语义:collecting 阶段重启后保持收集,可继续登记或补发闭合;已进入下载/处理的任务重启后落到暂停,由用户手动继续。

2. 🪟 完成后聚焦与单次静默下载

  • 新增全局设置「完成后聚焦进度窗口」:关闭后任务完成既不呼出进度窗口,也不把用户正在看的窗口抢到前台,即一次完全静默的下载;完成信息是否保留仍由「保留完成信息」独立决定;
  • 开放接口按次覆盖:POST /api/v1/tasks 新增 showProgressWindow、keepCompletedInfo、focusProgressWindowOnComplete,省略任一项即跟随配置中心;覆盖随任务持久化,暂停、重启、重试后仍然生效。

3. 🗂️ 分类落点与接管规则收敛

  • 分类保存目录由后端唯一解析:文件信息窗口切换分类时不再自行拼接目录,内置分类的相对子目录(如 Videos)不会被当作绝对路径提交,「保留原路径」判定与显示一致;
  • 重置接管类型只影响当前分类:只恢复该内置分类的预置后缀列表,保存子目录、其他内置分类与自定义分类全部保持用户配置;
  • 默认内置接管分组剔除浏览器可预览格式:浏览器内联预览的格式不再被桌面端接管;
  • 修复文件信息窗口冷启动竞态:消除探测响应覆盖旧快照与重复打开时的状态错乱。

4. ⚡ 热路径性能

  • HLS 分片进度改为增量上报:每个分片完成只做一次 O(1) 追加,不再复制整份进度位图;位图只在 60ms 节流快照时复制一次;
  • 下载引擎:分片写入与进度发布移出分块锁;进度落盘按时间与字节双重节流;任务库保存不再持锁做磁盘写,启动历史迁移合并为一次写入;
  • 队列:提前下载取消不再跨越队列锁(此前最长阻塞 5 秒);
  • 前端:任务列表排序键只解析一次,排序键未变的进度更新只替换该项而不重排整表;任务项 memo 化,窗口高度 IPC 每 60ms 合并一次并保证最后一个高度送达;
  • 扩展:悬浮条 DOM 观察改 200ms 节流并忽略自身插入/移除引发的变更;SPA 页面上下文按 URL+标题去重,并在路由、标题与正文变化后重新上报。

5. 🐞 关键修复

  • 扩展声明 cookies 权限:此前 chrome.cookies 未绑定、异常被空 catch 吞掉,需要登录或防盗链的直链、HLS 清单与媒体请求拿不到 Cookie;现已随交接正确转发,门禁在构建产物 manifest 上校验该权限;
  • 直接点击交接失败后回退下载不再被取消:桌面端未连接时内容脚本改为走浏览器原生下载通道并清理防重表,回退的下载不会被扩展二次拦截;
  • 媒体处理阶段可暂停/删除:处理中暂停会真正中断运行;删除的任务不会被处理结果写回,也不再出现界面回弹;
  • Select 清空控件移出触发器:消除按钮内嵌可聚焦元素的无效 HTML/ARIA 结构,清空操作不打开菜单;
  • 设置变更统一走一条应用路径:代理、提前下载、分类目录等修改不再各自散落,行为与优先级一致;
  • 限流分片重试不再占着并发名额:源站按并发连接返回 429 时,退避期间让出名额,重试按收缩后的上限排队,避免限流分片耗光重试次数而让整个 HLS 任务失败。

6. 🔄 常驻运行期间每 24 小时检查更新

  • 不再只在启动时检查一次:关闭主窗口后软件驻留托盘,用户往往数天不重启;现在启动后照旧检查一次,此后每 24 小时在后台静默再检查一次,新版本不会再因为长期不重启而一直发现不了;
  • 发现新版本仍只提示一次:界面沿用原有「单次运行只弹一次提示」的约定,周期检查只刷新已发现的版本信息,不重复打扰;
  • 开关语义同步:「设置 → 通用」里的开关改为「自动检查更新」,关闭后启动检查与周期检查都不再发起网络请求;运行中关闭后,下一次周期检查直接跳过。

7. 🛠 工程与门禁

  • CI 三平台统一安装 ffmpeg 并设置任务超时;扩展发布流程先跑协议镜像校验、类型检查与测试,失败不再产出可下载的包;
  • 门禁新增 extensionBuild 阶段的 manifest 权限校验,version 阶段强制扩展版本防漂移与发布说明存在。

📦 全平台分发包下载指引

操作系统 / 架构 分发包文件格式 产物推荐文件名 适用场景与说明
Windows x64 .exe (NSIS) SheepGet_1.0.11_x64-setup.exe 推荐。主流 64 位 Windows 用户安装包,带桌面/开始菜单快捷方式与卸载程序
.zip (Portable) SheepGet_1.0.11_windows-x64-portable.zip 推荐。绿色免安装便携包,解压即用,支持内置自动热更新
.msi SheepGet_1.0.11_x64_en-US.msi Windows 企业级批量静默部署安装包
Windows ARM64 .exe (NSIS) SheepGet_1.0.11_arm64-setup.exe 适配 Snapdragon X Elite / Surface Pro 等 Windows on ARM 设备
.zip (Portable) SheepGet_1.0.11_windows-arm64-portable.zip Windows on ARM 绿色免安装便携包
macOS (Apple Silicon) .dmg SheepGet_1.0.11_aarch64.dmg 针对 M1/M2/M3/M4 系列 Mac,原生 ARM64 极致性能与低能耗
macOS (Intel) .dmg SheepGet_1.0.11_x64.dmg 针对老款采用 Intel 芯片的 Mac 电脑
macOS (Universal) .dmg SheepGet_1.0.11_universal.dmg 双架构通用安装包,免去区分架构的识别成本
Linux x86_64 .AppImage SheepGet_1.0.11_amd64.AppImage 推荐。全 Linux 发行版通用单文件可执行包,无需安装依赖
.deb SheepGet_1.0.11_amd64.deb Ubuntu / Debian / Deepin 等基于 dpkg 的发行版安装包
.tar.gz (Portable) SheepGet_1.0.11_linux-x64.tar.gz Linux 独立免安装绿色归档包

注:每个分发包的 SHA-256 校验和均记录在同目录的 SHA256SUMS.txt 文件中;该文件在全部平台打包完成后统一生成,覆盖本次发布的全部产物。


🍏 macOS 首次安装提示“已损坏,无法打开”或“未知开发者”解决方案

将 SheepGet.app 拖入 应用程序 (Applications) 文件夹后,打开 macOS 终端 (Terminal) 执行:

sudo xattr -rd com.apple.quarantine /Applications/SheepGet.app

输入 Mac 锁屏密码后即可正常双击启动。


🧩 配套浏览器扩展(Chrome & Edge v1.0.7)

当前版本桌面端与浏览器扩展 v1.0.7 深度协同适配。该版本修复了 cookies 权限缺失导致交接 Cookie 恒为空的问题,修复了桌面端离线时直接点击交接的回退下载被取消的问题,并降低了悬浮条 DOM 观察与 SPA 页面上下文上报的开销。已安装扩展的用户可通过扩展管理页面更新,新用户可下载 SheepGet_1.0.7_extension-chrome-mv3.zip 并通过浏览器“开发者模式”加载,或在客户端「设置」→「关于与更新」中获取指引。