Skip to content

Releases: Lortzing/CoderRelay

CoderRelay v0.8.0 — Verified Automatic Updates and Faster macOS Startup

Choose a tag to compare

@Lortzing Lortzing released this 25 Jul 03:21

CoderRelay v0.8.0

CoderRelay v0.8.0 重点完善了跨平台发布体验,引入经过校验的自动更新机制,并显著优化了 macOS 命令启动速度。

主要更新

跨平台自动更新

从 v0.8.0 开始,可直接运行:

cdy update

其他用法:

cdy update -y
cdy update --force
  • -y:跳过更新确认。
  • --force:即使当前版本与最新版本相同,也重新安装最新稳定版。

更新器会:

  1. 查询最新的稳定 GitHub Release。
  2. 检测当前操作系统、CPU 架构和安装方式。
  3. 选择匹配的安装资产。
  4. 下载目标文件和 SHA256SUMS.txt
  5. 校验文件大小和 SHA-256。
  6. 校验通过后执行平台对应的升级流程。

更新不再直接追踪 main 分支,而是安装最新稳定 Release。

Windows 自动更新

支持以下安装形式:

  • Windows Setup 安装版;
  • Windows Portable 便携版;
  • x86;
  • x86_64;
  • ARM64。

Setup 安装版会在当前 CoderRelay 进程退出后,静默启动新版本安装程序。

便携版会下载对应 ZIP,校验并提取新的 cdy.exe,随后在当前进程退出后原地替换旧文件。

macOS 自动更新

macOS 更新器会:

  1. 下载与当前架构匹配的 DMG;
  2. 校验 DMG 的 SHA-256;
  3. 自动挂载 DMG;
  4. 查找其中的 PKG;
  5. 调用 macOS 系统安装器完成升级;
  6. 卸载临时挂载的磁盘映像。

由于 PKG 安装到 /usr/local,更新过程中可能要求输入管理员密码。

支持:

Intel x86_64
Apple Silicon ARM64

Linux 自动更新

支持自动识别当前安装方式:

  • DEB:使用 apt-getdpkg
  • RPM:使用 dnfyumrpm
  • TAR.GZ:校验后原地替换当前 cdy 可执行文件。

支持:

x86_64
AArch64

Python 包稳定版更新

通过以下方式安装的 CoderRelay 也支持 cdy update

  • uv tool
  • pipx
  • pip

更新器会识别当前 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 校验完整性。

CoderRelay v0.7.0 — Rebrand and Native Installers

Choose a tag to compare

@Lortzing Lortzing released this 22 Jul 09:20

CoderRelay v0.7.0

CoderRelay v0.7.0 是项目更名后的首个版本。

本版本将原 CodexRelay 全面重构为 CoderRelay,统一更新了项目名称、命令行入口、Python 模块、配置目录、安装器和 Release 产物,为后续支持 Claude Code 及其他 Coding Agent CLI 做准备。

主要变化

项目正式更名为 CoderRelay

项目不再绑定单一工具:

CodexRelay → CoderRelay

新的项目定位:

面向 Codex CLI、Claude Code 及其他编码智能体 CLI 的账户、Profile 与 API 路由管理工具。

当前版本仍完整支持 OpenAI Codex CLI。Claude Code 支持将在后续版本中加入,本版本不会修改 Claude Code 配置。

新的命令行入口

推荐使用新的短命令:

cdy --help

也可以使用完整命令:

coder-relay --help

原有命令 cxr 已移除,不再提供兼容入口。

新的包与模块名称

项目 | 旧名称 | 新名称 -- | -- | -- 项目名称 | CodexRelay | CoderRelay CLI 短命令 | cxr | cdy CLI 完整命令 | codex-relay | coder-relay Python 分发名 | codex-relay | coder-relay Python 模块 | codex_relay | coder_relay 配置目录 | ~/.config/codex-relay | ~/.config/coder-relay 环境变量 | CODEX_RELAY_HOME | CODER_RELAY_HOME

原生安装包

本版本开始为多个操作系统和处理器架构提供原生安装包。

Windows

提供安装版和便携版:

CoderRelay-Setup-0.7.0-windows-x86.exe
CoderRelay-Setup-0.7.0-windows-x86_64.exe
CoderRelay-Setup-0.7.0-windows-arm64.exe

CoderRelay-Portable-0.7.0-windows-x86.zip
CoderRelay-Portable-0.7.0-windows-x86_64.zip
CoderRelay-Portable-0.7.0-windows-arm64.zip

Setup 版本会:

  • 安装 cdy.exe

  • 将安装目录加入用户 PATH

  • 注册标准 Windows 卸载程序

  • 支持通过系统设置卸载

macOS

提供 Intel 和 Apple Silicon 两个版本:

CoderRelay-0.7.0-macOS-x86_64.dmg
CoderRelay-0.7.0-macOS-arm64.dmg

DMG 中包含 PKG 安装器,安装后可直接运行:

cdy --help

Linux

提供通用压缩包、DEB 和 RPM:

coder-relay-0.7.0-linux-x86_64.tar.gz
coder-relay-0.7.0-linux-aarch64.tar.gz

coder-relay_0.7.0_amd64.deb
coder-relay_0.7.0_arm64.deb

coder-relay-0.7.0-1.x86_64.rpm
coder-relay-0.7.0-1.aarch64.rpm

Release 同时包含:

SHA256SUMS.txt

可用于校验下载文件的完整性。

当前功能

CoderRelay 当前支持:

  • 管理多个 ChatGPT/Codex 登录 Profile

  • 管理 API Key + Base URL + Model 类型的兼容 API

  • 首次运行时自动导入当前 Codex 配置

  • 手动切换 Profile

  • API 和账户健康检查

  • 自动故障转移

  • 高优先级 Profile 恢复后自动切回

  • 展示套餐、限额窗口、Credits、API 余额和延迟

  • 使用文件锁、原子写入和备份安全替换配置

  • Bash、Zsh 和 Fish 自动补全

  • 自更新和卸载命令

升级注意事项

这是一次不向后兼容的重命名。

升级前建议备份旧配置:

cp -R ~/.config/codex-relay ~/.config/codex-relay.backup

如需迁移旧配置,可复制到新目录:

cp -R ~/.config/codex-relay ~/.config/coder-relay

随后使用新命令:

cdy status

旧的以下入口不再使用:

cxr
codex-relay
codex_relay
CODEX_RELAY_HOME

安全提示

本版本的 Windows 和 macOS 安装包未进行数字签名。

因此:

  • Windows 可能显示 SmartScreen 或“未知发布者”提示

  • macOS 可能被 Gatekeeper 阻止

安装包仍可正常构建和使用,但请仅从本项目的官方 GitHub Release 页面下载,并通过 SHA256SUMS.txt 校验文件完整性。

验证

本版本已完成:

  • 34 项自动化测试

  • Python Wheel 构建测试

  • Python source distribution 构建测试

  • cdy --help 安装后冒烟测试

  • Windows、macOS 和 Linux 安装脚本静态检查

  • 旧项目名、旧模块名和旧 CLI 入口残留检查

下一步

后续版本计划加入:

  • Claude Code Profile 管理

  • Claude Code API Endpoint 与认证配置切换

  • Codex 与 Claude Code 的统一状态展示

  • 跨 Coding Agent 的健康检查与自动故障转移

  • 更完整的迁移和升级机制

v0.6.0

Choose a tag to compare

@Lortzing Lortzing released this 21 Jul 10:11

CodexRelay v0.6.0

CodexRelay v0.6.0 是一次面向正式发布流程的整理版本,重点完善了命令命名、卸载与更新体验、双语文档以及自动化构建与发布能力。

主要更新

  • 新增推荐短命令 cxr,同时保留完整命令 codex-relay

  • 移除旧版命令兼容入口和旧配置目录自动迁移逻辑。

  • 新增 cxr update,可直接从 GitHub main 分支更新程序,并保留现有 Profile 数据。

  • 重做 cxr uninstall

    • 交互式询问是否保留 Profile、备份和状态数据。
    • --purge 可直接删除全部 CodexRelay 管理数据。
    • 无论哪种卸载方式,都不会删除当前 ~/.codex/auth.jsonconfig.toml
  • 中文 README.md 设为默认文档,并新增完整英文版 README.en.md

  • 新增跨平台 CI,覆盖 Linux、macOS、Windows,以及 Python 3.11、3.12、3.13。

  • 新增自动 Release Workflow:

    • 校验 Git Tag 与项目版本一致。
    • 自动运行测试。
    • 构建 Wheel 和源码包。
    • 执行隔离安装冒烟测试。
    • 自动创建 GitHub Release 并上传构建产物。
  • 预留基于 PyPI Trusted Publishing 的自动发布流程。

  • 完善 Shell 自动补全、首次自动导入当前 Codex 配置和安装脚本。

安装

uv tool install git+https://github.com/Lortzing/CodexRelay.git

安装后使用:

cxr status

也可以从源码安装:

git clone https://github.com/Lortzing/CodexRelay.git
cd CodexRelay
./install.sh

常用命令

cxr status
cxr import-current
cxr use <profile>
cxr auto <profile1> <profile2> --watch
cxr launch -p <profile1> -p <profile2> --
cxr update
cxr uninstall

构建产物

本次 Release 包含:

  • Python Wheel
  • Source Distribution

注意事项

  • ChatGPT 用量查询依赖非公开稳定接口,未来可能因上游变化而失效。
  • Responses API 健康检查会发送最小请求,可能产生少量 Token 消耗。
  • 已运行的 Codex 进程可能缓存认证信息,切换 Profile 后建议重新启动 Codex。