核心用法
Codex Account Switcher 是一款命令行工具,用于在多个 OpenAI Codex 账户(如个人/工作身份)间快速切换。通过捕获并管理 ~/.codex/auth.json 中的 JWT 认证令牌,实现秒级身份切换。
主要功能
| 命令 | 用途 |
|------|------|
| `list` | 查看已保存账户,标记当前激活身份 |
| `add` | 交互式向导捕获新账户登录令牌 |
| `use <name>` | 即时切换到指定账户 |
| `auto` | 自动检测所有账户配额,切换到剩余额度最多的账户 |
技术原理
- 将各账户的
auth.json保存至~/.codex/accounts/<name>.json - 解码 JWT
id_token提取邮箱作为账户标识 - 切换时直接覆盖当前
~/.codex/auth.json文件
显著优点
- 效率极高:无需重复浏览器登录,秒级切换
- 配额优化:
auto模式自动选择额度充足账户,避免中断 - 交互友好:默认名称从邮箱自动提取,支持批量添加
- 输出灵活:提供 JSON 格式输出,便于脚本集成
潜在缺点与局限
1. 安全边界模糊:直接读写敏感认证令牌文件,无额外加密层
2. 无令牌过期预警:虽显示 TTL,但不主动提醒续期
3. 单点故障:依赖 ~/.codex/ 目录完整性,误删即丢失配置
4. 平台锁定:专为 OpenAI Codex CLI 设计,无法迁移至其他服务
适合人群
- 拥有多个 OpenAI 账户的开发者(个人+企业/教育额度)
- 需要频繁切换身份避免配额耗尽的重度用户
- 熟悉命令行操作、理解 JWT 令牌风险的进阶用户
常规风险
| 风险类型 | 说明 |
|----------|------|
| 令牌泄露 | `~/.codex/accounts/*.json` 以明文存储 JWT,需确保目录权限 700 |
| 权限扩大 | 脚本需读写用户主目录敏感文件,存在误操作覆盖风险 |
| 账户关联 | 频繁切换可能触发平台风控,建议合理控制频率 |
| 备份缺失 | 无内置备份机制,重要配置需自行版本控制 |