CoderRelay v0.8.0
CoderRelay v0.8.0 重点完善了跨平台发布体验,引入经过校验的自动更新机制,并显著优化了 macOS 命令启动速度。
主要更新
跨平台自动更新
从 v0.8.0 开始,可直接运行:
cdy update其他用法:
cdy update -y
cdy update --force-y:跳过更新确认。--force:即使当前版本与最新版本相同,也重新安装最新稳定版。
更新器会:
- 查询最新的稳定 GitHub Release。
- 检测当前操作系统、CPU 架构和安装方式。
- 选择匹配的安装资产。
- 下载目标文件和
SHA256SUMS.txt。 - 校验文件大小和 SHA-256。
- 校验通过后执行平台对应的升级流程。
更新不再直接追踪 main 分支,而是安装最新稳定 Release。
Windows 自动更新
支持以下安装形式:
- Windows Setup 安装版;
- Windows Portable 便携版;
- x86;
- x86_64;
- ARM64。
Setup 安装版会在当前 CoderRelay 进程退出后,静默启动新版本安装程序。
便携版会下载对应 ZIP,校验并提取新的 cdy.exe,随后在当前进程退出后原地替换旧文件。
macOS 自动更新
macOS 更新器会:
- 下载与当前架构匹配的 DMG;
- 校验 DMG 的 SHA-256;
- 自动挂载 DMG;
- 查找其中的 PKG;
- 调用 macOS 系统安装器完成升级;
- 卸载临时挂载的磁盘映像。
由于 PKG 安装到 /usr/local,更新过程中可能要求输入管理员密码。
支持:
Intel x86_64
Apple Silicon ARM64
Linux 自动更新
支持自动识别当前安装方式:
- DEB:使用
apt-get或dpkg; - RPM:使用
dnf、yum或rpm; - TAR.GZ:校验后原地替换当前
cdy可执行文件。
支持:
x86_64
AArch64
Python 包稳定版更新
通过以下方式安装的 CoderRelay 也支持 cdy update:
uv toolpipxpip
更新器会识别当前 Python 环境所属的包管理器,并继续使用相同工具安装最新稳定 Tag。
例如,通过 uv tool 安装的版本不会因为系统中同时存在 pipx 而切换安装方式。
macOS 启动速度优化
此前 macOS 版本使用 PyInstaller --onefile 构建。
单文件程序每次启动时都需要将 Python 运行时和依赖解压到临时目录,因此即使运行:
cdy --help也可能产生明显延迟。
v0.8.0 改为 PyInstaller --onedir 目录式运行时:
/usr/local/lib/coder-relay/
├── cdy
└── _internal/
命令入口保持不变:
/usr/local/bin/cdy
→ ../lib/coder-relay/cdy
运行时只在安装阶段写入一次,后续命令启动不再重复解压。
可以使用以下命令测试:
time cdy --help
time cdy --help安全校验
自动更新要求 Release 中同时存在:
SHA256SUMS.txt
更新器会检查:
- 下载文件大小;
SHA256SUMS.txt中是否包含目标资产;- 文件实际 SHA-256 是否与清单一致;
- GitHub 提供的资产摘要,如果可用。
以下情况会立即停止更新:
- 找不到当前平台对应的资产;
- Release 缺少
SHA256SUMS.txt; - 校验清单中缺少目标文件;
- 文件大小不匹配;
- SHA-256 不匹配;
- 下载或安装过程失败。
校验失败时不会覆盖当前安装。
数据保留
更新过程不会删除:
~/.config/coder-relay/
~/.codex/auth.json
~/.codex/config.toml
以下数据会继续保留:
- 已保存的 Profile;
- Profile 备份;
- 当前活动状态;
- 自动切换状态;
- Codex 登录信息;
- Codex 配置文件。
更新命令
交互式更新:
cdy update跳过确认:
cdy update -y重新安装当前最新稳定版:
cdy update --force从 v0.7.0 升级
v0.7.0 及更早版本本身不包含自动下载和安装逻辑,因此无法直接通过旧版 cdy update 升级到 v0.8.0。
需要手动下载安装 v0.8.0 一次。
从 v0.8.0 开始,后续稳定版本可直接使用:
cdy update安装资产
Windows
CoderRelay-Setup-0.8.0-windows-x86.exe
CoderRelay-Setup-0.8.0-windows-x86_64.exe
CoderRelay-Setup-0.8.0-windows-arm64.exe
CoderRelay-Portable-0.8.0-windows-x86.zip
CoderRelay-Portable-0.8.0-windows-x86_64.zip
CoderRelay-Portable-0.8.0-windows-arm64.zip
macOS
CoderRelay-0.8.0-macOS-x86_64.dmg
CoderRelay-0.8.0-macOS-arm64.dmg
Linux
coder-relay-0.8.0-linux-x86_64.tar.gz
coder-relay-0.8.0-linux-aarch64.tar.gz
coder-relay_0.8.0_amd64.deb
coder-relay_0.8.0_arm64.deb
coder-relay-0.8.0-1.x86_64.rpm
coder-relay-0.8.0-1.aarch64.rpm
校验文件
SHA256SUMS.txt
其他改进
- Python 包更新不再直接安装 GitHub
main。 - Python 更新会保留原有包管理器。
- macOS 卸载支持清理目录式运行时和命令符号链接。
- Windows 安装器测试使用独立进程等待和真实退出码。
- Windows 安装失败时会输出完整 Inno Setup 日志。
- 各平台构建成功后独立上传 Release 资产。
- 单个平台或架构失败不会阻止其他成功资产发布。
注意事项
当前 Windows 和 macOS 安装包未进行数字签名或 Apple 公证。
因此:
- Windows 可能显示 SmartScreen 或“未知发布者”提示;
- macOS 可能显示无法验证开发者或阻止打开的提示。
请仅从 CoderRelay 官方 GitHub Release 下载文件,并使用 SHA256SUMS.txt 校验完整性。