在 macOS 和 Windows 上轻松切换 Codex 账号。
账号添加一次,之后随时选择。无需终端命令,无需修改配置文件。
免费下载 Mac 版 · 免费下载 Windows 版 · 网站 · 讨论区
English · 中文
创建与维护:刘朝 Zhao Liu(GitHub:liuzhao1225) · X · Bilibili 黑纹白斑马
Codex Account Switcher 是一款免费、开源的 macOS 与 Windows 原生应用,适合使用多个获准 Codex 账号的普通用户。个人、工作或客户账号通过浏览器添加一次,之后在应用中选择即可。日常使用无需代码知识、终端命令、复制令牌或修改配置文件。
选择账号并确认后,应用会关闭 Codex Desktop、完成账号交接、校验所选身份,再重新打开 Desktop。已保存的账号数据留在本机,应用不依赖自己的代理、流量转发、云端账号服务或自动账号轮换。
Codex Account Switcher 由 刘朝(Zhao Liu) 创建并维护,GitHub 用户名为 liuzhao1225;Codex Switcher 是同一项目的简称。唯一官方源码仓库是 liuzhao1225/codex-account-switcher。官方项目资料页、作者资料页和项目身份记录共同记录产品、作者、别名、版本与一手来源。
源码和桌面应用均已公开发布。 v0.1.16 源码标签包含共享 Swift 核心、macOS SwiftUI 和 Windows WPF 界面;同版本 Release提供可直接使用的 DMG、EXE 和 SHA-256 校验文件。浏览器登录、定时用量查询与确认后自动交接 Desktop 的功能证据均链接到本仓库实现。
OpenAI 官方账号切换功能当前适用于 ChatGPT 网页端,并且尚未支持 Codex desktop。Codex Account Switcher 是面向这一桌面工作流的独立本地 macOS 与 Windows 工具。OpenAI Codex 上游源码在认证存储实现中记录了活动 CODEX_HOME 与文件型 auth.json 的行为。
- 同时使用个人和工作账号的人: 两种身份都保存在一台电脑,打开 Codex Desktop 前看清当前账号。
- 自由职业者与顾问: 集中管理获准使用的客户账号,开始工作前选择正确身份。
- 偏好清晰可见操作的桌面用户: 在 macOS 菜单栏或 Windows 原生窗口中选择并确认,避开脚本和后台静默轮换。
从 npm 搜索来到这里时,请核对完整仓库名 liuzhao1225/codex-account-switcher。无 scope 的 npm 包 codex-account-switcher 是独立维护的 CLI,其安全报告对应报告中指明的包和版本。本项目的原生 macOS DMG 与 Windows EXE 通过 GitHub Releases 分发。详见有一手来源的项目区分说明。
最新版本 v0.1.16 同时提供 macOS 和 Windows 安装包及 SHA-256 校验文件。
| 平台 | 系统要求 | 下载与安装 |
|---|---|---|
| macOS | macOS 14+,Apple Silicon(arm64) | 下载 DMG,打开后将应用拖入“应用程序” |
| Windows | Windows 10/11,x64 | 下载 EXE,直接运行,无需另装 .NET 或 Swift SDK |
macOS 使用菜单栏界面,应用与 DMG 均已签名并通过 Apple 公证。Windows 使用原生窗口和系统托盘入口,EXE 当前尚未签名;关闭窗口后可从托盘重新打开。
启动后,通过浏览器添加账号,再选择并确认切换。两端都需要可用的 Codex 运行时,与 Codex Desktop 使用同一个活动 Codex 目录。
需要 Node.js 18+,macOS 使用 ARM64 Node.js,Windows 使用 x64 Node.js:
npm install -g @liuzhao1225/codex-account-switcher
codex-account-switcher open全局安装会从 GitHub latest 下载对应桌面应用,验证 SHA-256,安装到用户目录并配置启动入口。npm 需要允许执行安装脚本;添加 --foreground-scripts 可查看安装过程。macOS 默认安装到 ~/Applications;Windows 安装到 %LOCALAPPDATA%\Programs\Codex Account Switcher 并创建开始菜单快捷方式。
无需全局安装 npm 包,也可以用一条命令安装或更新:
npx @liuzhao1225/codex-account-switcher@latest使用 codex-account-switcher update 更新、open 启动、uninstall 卸载,卸载保留账号数据。更新前请退出应用。普通项目中的 npm i 仅安装命令行入口,需要运行 install 才部署桌面应用。可通过 --dir <父目录> 指定安装位置。
每次安装或更新都会重新读取 GitHub latest。未来原生应用只需在 GitHub 发版,无需同步发布 npm 包。npm 安装器与应用版本独立;原来的 codex-account-switcher-download 下载入口继续可用。脚本权限、自定义目录和卸载行为详见安装器说明。
| 功能 | 作用 |
|---|---|
| 无需代码的设置流程 | 通过普通浏览器登录添加账号,无需终端命令或配置文件。 |
| 原生账号界面 | macOS 使用菜单栏;Windows 使用原生窗口,可从系统托盘重新打开。 |
| 完整 Desktop 交接 | 选择并确认后,由应用关闭、切换、校验并重新打开 Codex Desktop。 |
| 本地账号存储 | 账号数据留在本机,不依赖应用自建的代理或云端账号服务。 |
| 快速查看用量 | 账号列表默认查看每周用量,也可在设置中开启服务端提供的精确 300 分钟(5 小时)窗口与重置时间;该用量行默认关闭。菜单栏或 Windows 托盘可选择显示 5 小时或每周剩余额度,默认显示 5 小时。 |
| 双平台原生应用 | macOS 使用 SwiftUI,Windows 使用 WPF;均提供英文与简体中文界面。 |
- 下载对应平台版本: macOS 安装 DMG;Windows 直接运行免安装 EXE。
- 每个账号添加一次: 完成熟悉的浏览器登录,应用根据登录身份生成账号名称。
- 选择后继续使用: 在应用中选择账号并确认,由应用重新打开 Codex Desktop。
已经运行的终端进程会保留原有运行状态。启动新的 Codex CLI 进程即可使用刚刚选择的账号。
产品正在围绕普通桌面用户持续调整。欢迎参与公开讨论:“Codex 账号切换器的哪个环节仍然显得太技术化?”,告诉我们问题出在下载应用、添加账号、识别当前账号,还是理解切换确认。
也欢迎分享其他账号切换器的真实使用体验。请描述实际工作流和产生阻力的步骤,不要公开凭证、账号文件、电子邮箱或私人截图。
- 已保存的账号数据位于 本机仅当前用户可访问的本地目录。
- 每个已保存 profile 都包含一份完整且可复用的
auth.json凭证快照。macOS 将 profile 目录权限设为0700、凭证文件权限设为0600;Windows 使用当前用户 ACL。两端都以原子替换方式写入凭证文件。 - 本地文件权限构成当前安全边界。用户备份、文件系统快照、云备份工具、终端安全软件,以及其他有权访问用户文件的进程都可能复制这些凭证快照。
- 移除账号执行普通文件系统删除。应用不承诺从 SSD、APFS 快照或备份中安全擦除相关数据。
- 两端使用文件型凭证存储;macOS 的 profile 凭证未存入钥匙串。
- 产品不使用自己的账号代理、流量转发或云端账号服务。
- 每个账号都由用户选择并确认;应用不会自动轮换账号。
- 本项目是独立开源软件,与 OpenAI 没有关联,也未获得 OpenAI 背书。
- 当前账号通过弹窗中的行高亮显示。
- 获取最新数据时,界面会继续显示已保存的 5 小时和每周用量;5 小时用量仅在开启且服务端提供精确 300 分钟窗口时显示。
- 每次切换遇到第一个错误时立即停止,并显示原始错误。
- 如果目标凭证激活后的身份验证或 registry 提交失败,应用会用刚保存的原 profile 凭证恢复活动凭证,同时保留原始错误;恢复本身失败时会一并显示恢复错误。
- 通用回滚状态机、重试、凭证备份文件、恢复日志、启动恢复和策略化账号路由仍不在产品范围内。
macOS 与 Windows 使用统一版本号和 v<版本号> tag。每次从同一提交重新编译、测试并打包两端,全部通过后统一发布。当前 MVP 不复用上版安装包,不启用跨次构建缓存。
| 平台 | 安装包 | 更新方式 |
|---|---|---|
| macOS | 已签名、公证的 DMG 与 SHA-256 校验文件 | Sparkle 检查、下载并安装更新 |
| Windows | 免安装 EXE 与 SHA-256 校验文件,EXE 尚未签名 | 检查新版本并打开下载页,手动替换 EXE |
每个 Release 都提供完整的双平台下载,标题直接显示版本号,说明只记录本次改动。详见发布管理与 Windows 开发文档。
两端共享 Swift 6.2 账号核心,分别使用 macOS SwiftUI 和 Windows WPF 原生界面。以下为 macOS 构建步骤;Windows 步骤见 Windows 开发文档。
git clone https://github.com/liuzhao1225/codex-account-switcher.git
cd codex-account-switcher
swift build
swift test
./scripts/run-core-checks.sh创建本地 macOS 应用包:
./scripts/package-local-app.sh应用包将生成到 .build/release/Codex Account Switcher.app。
从已通过测试的 main 提交推送匹配的 v* tag 后发布。CITATION.cff、Mac 打包默认版本、Codex 客户端和 windows/Directory.Build.props 的版本必须一致。普通 main push 只运行 CI。
GitHub Actions 从同一个 tag 分别测试、打包两端。汇总任务等待双方成功,核对校验文件和 Mac 签名更新源,将 DMG、EXE 上传到草稿后一次公开为 Latest。macOS 保留 Developer ID 签名、Apple 公证和 Sparkle 更新。Release notes 只写本次改动。详见发布管理。
Sources/CodexAccountSwitcher/ macOS 原生 SwiftUI 界面与系统适配
Sources/SwitcherCore/ 两端共享的账号状态、切换、额度、RPC 和文案
Sources/SwitcherHost/ Windows 原生界面使用的私有 stdio 核心进程
Sources/SwitcherPlatform/ Windows 文件权限与原子替换
windows/ Windows 托盘界面、系统适配、检查与打包
Tests/ 存储、客户端、切换和登录项的 Swift 测试
Checks/ 独立的核心行为检查
scripts/ 本地打包和验证命令
docs/ 产品、系统、实施和测试文档
prototype/ 早期浏览器视觉原型
请使用 GitHub Discussions 讨论工作流、产品想法和工具对比,使用 GitHub Issues 提交错误报告和范围明确的功能建议。发起 Pull Request 前请运行:
网站公开记录项目的隐私模式、官方联系渠道和合理使用说明。请勿在公开支持渠道提交秘密信息或私人账号数据。
swift test
./scripts/run-core-checks.sh请勿在 Issue、提交、测试数据或文档中包含真实的 auth.json、账号名称、电子邮箱、API 凭证和私人截图。
不需要。安装应用,通过普通浏览器登录添加每个账号,之后在应用中选择即可。整个流程没有终端命令,也不用编辑配置文件。
每个获准使用的账号添加一次。先完成或停止正在运行的 Desktop 任务,再在应用中选择并确认。如 Desktop 显示退出提示,请处理该提示。应用最多等待 30 秒正常退出,随后完成交接、校验所选账号并重新打开 Desktop;无法正常退出时会停止切换,账号保持不变。
每个账号都由你选择并确认,随后应用会自动完成 Codex Desktop 交接。应用不会在后台轮换账号,也不会根据用量阈值切换。
macOS 数据位于 ~/Library/Application Support/Codex Account Switcher/,Windows 数据位于 %LOCALAPPDATA%\Codex Account Switcher\,均使用仅当前用户可访问的本地存储。应用没有账号代理、流量转发或云端配置服务。
支持 macOS 14+ 的 Apple Silicon Mac,以及 Windows 10/11 x64。两端安装包都在同一个最新 Release 中。
不是。它是一个采用 MIT 许可证的独立 macOS 与 Windows 开源项目。
Codex Account Switcher 基于 MIT License 发布。
macOS 通过 Sparkle 每小时检查更新。菜单栏蓝点和主页底部工具栏上方的更新行提示新版本;点击更新后,由框架下载、安装并重启 Switcher。设置页提供手动检查和自动检查开关。账号操作进行中会延后最终重启。
发布前需要配置仓库 SPARKLE_PRIVATE_KEY,并上传带签名的 appcast.xml。已安装的 0.1.6 没有更新器,需要先手动升级一次。发布流程将带签名的更新源与公证 DMG 一同上传。
保留机制、修复及仍存在的设计缺口见全项目消融报告。
Windows 支持检查统一 Release 中的新版本,并打开下载页,由用户下载和替换 EXE。Windows 0.1.11 预览版用户需先手动升级一次到 0.1.12。
