CX-Switch — Codex 多アカウント切替ツール(Rust 実装)

Tool

概要

CX-Switch は、Codex(CLI クライアント/認証ファイルを利用するツール)を使う開発者向けに作られた、ローカル専用の多アカウント切替 CLI/TUI ツールです。主に ~/.codex/auth.json を管理し、複数アカウントの選択・切替を迅速に行えるように設計されています。特徴は「完全ローカル動作」で、外部 API を呼ばないためアカウント停止のリスクを避けられる点、色分けや進捗バー、Unicode アイコンを使った見やすい TUI、残量(クレジット)監視や閾値設定による自動スイッチ機能、既存ツール(codex-auth)の registry.json との互換性など、実運用を意識した機能群にあります。

GitHub

リポジトリの統計情報

  • スター数: 13
  • フォーク数: 0
  • ウォッチャー数: 13
  • コミット数: 13
  • ファイル数: 10
  • メインの言語: Rust

主な特徴

  • 完全ローカル動作(OpenAI API 等を呼ばない)で安全にアカウントを管理
  • カラフルでインタラクティブな TUI(色分け、進捗バー、Unicode アイコン)
  • 残量(クレジット)監視と閾値による自動切替/アラート
  • codex-auth の registry.json と互換性があり、既存環境との相互運用が可能

技術的なポイント

CX-Switch は Rust で実装されており、CLI と TUI を組み合わせたシンプルかつ堅牢な設計が特徴です。リポジトリや README から読み取れるキーとなる技術ポイントは以下です。

  • ローカルファイル操作中心のアーキテクチャ: ユーザー認証情報は ~/.codex/auth.json を直接読み書きして管理します。これによりネットワーク呼び出しが発生せず、認証トークンが外部へ送信されるリスクを排除します。ファイルの読み書きは JSON 直列化/復元(serde 系クレートが想定される)で扱われ、既存の registry.json と双方向互換を保つ設計により、移行や並存が可能です。

  • TUI(Text-based UI)による操作性強化: README にある「色の階層化、進捗バー、Unicode アイコン、インタラクティブ選択」等の表現から、ターミナル上での視認性と操作性に重点が置かれていることが分かります。Rust 界隈では tui-rs / ratatui、crossterm、termion などのライブラリを組み合わせるケースが多く、これらを用いてリスト選択、状態表示、ダイナミックな残量バーを実装していると考えられます。

  • 監視・自動化機構: 「リアルタイムのダッシュボード、閾値アラート、自動切替」という機能は、定期的なローカル計測(例えばファイル内の残高フィールドを参照)と閾値評価ロジックに基づいて動作します。しきい値に達した際に別アカウントへ切り替えるワークフローは、CLI コマンドからの即時反映/ファイルの原子書き換え(tmp ファイル→リネーム)などを用いて安全に実装されている想定です。

  • クロスプラットフォームな配布とインストール: インストール方法として Linux/macOS/WSL2 向けに curl | bash スクリプト、Windows には PowerShell スクリプトが用意されており、バイナリ配布やインストールスクリプトによるシームレスな導入が可能です。Cargo.toml が含まれているため、ソースから cargo install でのビルドも容易です。

  • セキュリティと互換性への配慮: 外部 API を使用しない方針に加え、既存ツール(codex-auth)の registry.json との互換性を明示しているため、既存ユーザーがスムーズに切り替えられる配慮がなされています。ローカルファイルの扱いでは権限やバックアップ(古い auth.json の退避)なども実装上検討されているはずです。

全体として、CX-Switch は「ローカルで安全に」「使いやすく」「既存ツールと共存可能に」することを優先したツール設計になっており、Rust による堅牢性と TUI の操作性で日常的な運用負荷を下げることを狙っています。将来的な拡張としては、より詳細なログ出力、並列処理による高速な残額チェック、設定ファイルのカスタマイズ対応(YAML/TOML 併記)などが考えられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .agents: dir
  • .github: dir
  • .gitignore: file
  • Cargo.lock: file
  • Cargo.toml: file

…他 5 ファイル

まとめ

ローカル完結で安全に複数 Codex アカウントを管理できる実用的な Rust 製 CLI/TUI ツールです。

リポジトリ情報:

READMEの抜粋:

CX-Switch

🔄 本地 Codex 多账号管理与切换工具(Rust 实现)

简介

CX-Switch 是一个纯本地的 Codex 多账号切换 CLI 工具,通过管理 ~/.codex/auth.json 实现账号的快速切换。

核心特性

  • 🔒 纯本地操作 — 不调用任何 OpenAI API,零封号风险
  • 🎨 增强 TUI — 颜色分级、进度条、Unicode 图标、交互式选择
  • 📊 额度监控 — 实时仪表盘、阈值告警、自动切换
  • 🔄 完全兼容 — 与原始 codex-auth 工具的 registry.json 双向兼容

安装

  • Linux / macOS / WSL2:
curl -fsSL https://raw.githubusercontent.com/jay6697117/cx-switch/main/scripts/install.sh | bash
  • Windows (PowerShell):
...