Repository navigation
本版重点:不止 Windows —— 三平台正式出包
v0.4.0 只有 Windows 产物。这一版把 14 号文档 §3.1 的 P0 发行矩阵接进 CI:每个平台的安装包都在该平台的原生 runner 上构建,并在同一平台上跑完 golden-path e2e 与产物冒烟才允许进 Release。本机没有 Linux/macOS 环境,所以这里没有一行"理论上能跑"。
下载与安装
| 平台 | 文件 | 安装方式 |
|---|---|---|
| Windows x64 | ToAPI-Setup-0.4.1-win-x64.exe |
常规安装,可改目录,建桌面快捷方式 |
| Windows x64 便携 | ToAPI-0.4.1-win-x64.zip |
解压即用 |
| Linux x64(任意发行版) | ToAPI-0.4.1-linux-x86_64.AppImage |
chmod +x 后直接运行;无 FUSE 的容器加 APPIMAGE_EXTRACT_AND_RUN=1 |
| Debian/Ubuntu/统信 UOS | ToAPI-0.4.1-linux-amd64.deb |
sudo apt install ./ToAPI-0.4.1-linux-amd64.deb |
| Fedora/RHEL/银河麒麟 | ToAPI-0.4.1-linux-x86_64.rpm |
sudo rpm -i ToAPI-0.4.1-linux-x86_64.rpm |
| Linux 通用 | ToAPI-0.4.1-linux-x64.tar.gz |
解压后运行 toapi |
| Apple Silicon Mac | ToAPI-0.4.1-mac-arm64.dmg / .zip |
见下方"未签名说明" |
校验:sha256sum -c 配合 sha256sums.txt(格式 <hash> *<文件名>)。
未签名说明(不藏着)
本轮没有 Windows Authenticode 证书,也没有 Apple 开发者证书与公证,所以:
- Windows:SmartScreen 首次运行会提示"未知发布者",点「仍要运行」。
- macOS:未签名、未公证。首次打开请在 Finder 里右键 App →「打开」→「打开」;
或命令行xattr -dr com.apple.quarantine /Applications/ToAPI.app。
被 Gatekeeper 直接拦掉、或在企业管控设备上无法绕过右键打开的,请等签名版本,不要用来做 CI 关键路径。 - Intel Mac(x86_64)本轮不出包:需要另一台 Intel runner 或 universal 构建,已排进后续版本。
Linux 的界面差异(按 06/14 号文档执行,不是缺陷)
- 只有 Windows 用无边框窗口 + 自绘标题栏;Linux/macOS 保留系统原生窗口装饰。
- 「关闭窗口时最小化到托盘」在 Linux 默认关闭:GNOME 等桌面环境常没有可用的状态栏托盘,默认隐藏窗口等于把应用藏没了。需要常驻的(跑定时回归)请在「通知设置」里手动打开,或在 KDE/Cinnamon 等有托盘的环境直接开启。Windows/macOS 仍默认开启。
macOS 托盘驻留的真实修复
CI 的 macOS e2e 暴露出一个只在 mac 上存在的问题:窗口收进托盘后系统会对应用做 App Nap,主进程定时器被降频,"关窗后继续按计划跑定时任务"在 mac 上不成立。现在收进托盘期间显式 powerSaveBlocker.start('prevent-app-suspension'),唤回窗口或退出时释放;只作用于 darwin,不影响屏幕休眠策略。
验证记录(本次 CI 实测,非本地推断)
windows-latest:npm test253 例全绿 →verify:flow真机两轮全绿(含托盘驻留→关窗退出、定时任务→通知带报告路径)→ NSIS + zip 打包 → 产物冒烟 PASS。ubuntu-22.04:同一套测试在 Linux 上全绿(node:sqlite真实读写)→ xvfb 下 e2e 全绿 → AppImage/deb/rpm/tar.gz 四包全部产出 → AppImage 在本平台冒烟 PASS(握手、面板圆角、无 emoji、无脚本错误)。macos-14:测试全绿 → e2e 全绿 → dmg + zip → 未签名 .app 冒烟 PASS。- 汇总 job 校验产物数量并生成
sha256sums.txt。
顺带修掉的工程问题
- CI 门禁(
pr.yml)在 ubuntu 与 windows 双平台跑npm run gate;首次运行即暴露 Windows runner 检出 CRLF 导致prettier --check全线误报 → 加.gitattributes统一eol=lf。 - 三栏拖宽/分屏的布局断言改为先固定 1280×800 视口:Windows runner 上窗口尺寸与本机不同,阈值断言会误报(实测 URL 187px)。
- 定时调度测试改为不依赖自然触发时钟(间隔取 1 小时 + 手工拨回
next_run_at),慢机器上排队/并发计数不再抖动。 verify:flow加 CDP 30s 超时、步骤日志与 12 分钟看门狗:macOS 那次无声卡死现在 30 秒内就报出卡在哪一步。electron-builder显式--publish never:tag 触发时它会自行尝试发布到 GitHub Releases 并因拿不到 token 失败。
尚未做
macOS Intel 包、Windows arm64 包、签名与公证、GPG 签名、龙芯 loong64 与 UOS 专项冒烟(14 号文档 §3.2 已列风险与路线)。