Bash-CLI-Tool zum Wechseln von Codex-Profilen
Wenn Sie mehrere Codex-Konten jonglieren – beruflich, privat, Backup –, wird die Standarddatei ~/.codex/auth.json schnell zum Engpass. Manuelles Kopieren der Auth-Dateien führt zu Verwirrung: Sie verlieren den Überblick, welches Profil aktiv ist, wie viel Kontingent übrig ist, und riskieren das Überschreiben wichtiger Daten. Ein einfaches Bash-Skript namens codex-auth löst das, indem es Befehle zum Speichern, Wechseln von Profilen und Überwachen der Nutzung über die API hinzufügt.
Das Skript speichert Profile getrennt, gecachte Nutzungsdaten, unterstützt Proxies und erkennt Duplikate über Fingerprints.
Speicherort von auth.json und plattformübergreifende Hinweise
Hauptdatei für die Authentifizierung:
- Linux/macOS:
~/.codex/auth.json - Windows:
%USERPROFILE%\.codex\auth.json
Sie enthält access_token, id_token und account_id. Die Struktur kann sich ändern, daher wird beim Parsen jq mit Fallbacks verwendet.
Probleme beim manuellen cp:
- Kein Hinweis auf das aktive Profil
- Risiko von Datenverlust
- Keine Infos zu Kontingenten oder Reset-Zeiten
Skript-Befehle
Das Skript bietet eine saubere CLI-Oberfläche:
codex-auth— Profile mit Nutzung auflistencodex-auth usage— Kontingente für aktuelle auth.jsoncodex-auth save <name>— aktuelles Profil speicherncodex-auth use <name>— Profile wechseln (oder Kurzformcodex-auth <name>)codex-auth list-fast— lokale Liste ohne API-Aufrufecodex-auth backup— aktuelles Profil sichern
Proxy-Unterstützung:
codex-auth proxy set <url>codex-auth proxy showcodex-auth proxy unset
Caching:
codex-auth cache-time [sekunden](Standard 15s, 0 deaktiviert Cache)
Beispielnutzung
- Mit beruflichem Konto einloggen:
codex-auth save work - Mit privatem Konto:
codex-auth save personal - Wechseln:
codex-auth workodercodex-auth personal - Ausgabe:
📊 5h: 100% ⏱5h 7️⃣ 15% ⏱4d 9h work <[email protected]>
📊 5h: 100% ⏱5h 7️⃣ 84% ⏱3d 18h *personal <[email protected]>
Nutzung über API überwachen
Abfrage an https://chatgpt.com/backend-api/wham/usage mit Authorization: Bearer $token und account_id im Header:
curl -s \
-H "Authorization: Bearer $token" \
-H "Accept: application/json" \
-H "User-Agent: CodexCLI" \
"https://chatgpt.com/backend-api/wham/usage" | jq
Auswertung zeigt:
- Konto-E-Mail
- Tarifart
- Verbleibendes Kontingent (5h, wöchentlich)
- Reset-Zeit
- Limit für Code-Reviews
Caching für Geschwindigkeit
Cache in ~/.codex-auth-profiles/.usage-cache, geschlüsselt nach Token + account_id + Proxy. Konfigurierbare TTL vermeidet unnötige API-Aufrufe. Ohne Cache (TTL=0) holt es jedes Mal frische Daten.
Proxy-Unterstützung
Für Firmennetze oder Firewalls:
codex-auth proxy set http://127.0.0.1:8888
curl nutzt --proxy für alle Anfragen. Gespeichert in ~/.codex-auth-profiles/proxy.
Duplikate erkennen
Profil-Fingerprint:
account_idsubausid_token- SHA256 der gesamten Datei
Verhindert Duplikate unter verschiedenen Namen und prüft Übereinstimmungen mit aktiver auth.json.
Plattformübergreifende Anpassungen
- base64: Linux
base64 -d, macOSbase64 -D - stat: Linux
stat -c %Y, macOSstat -f %m - SHA256: Linux
sha256sum, macOSshasum -a 256
Atomare Schreibvorgänge via mktemp + mv.
Profile in ~/.codex-auth-profiles: JSON-Dateien für Profile, aktuelle Auswahl, Einstellungen und Cache.
Einschränkungen
- Abhängig von auth.json-Struktur
- Backend-API kann sich ändern
- Nur Bash, nicht für komplexe Logik
Abhängigkeiten: bash, jq, curl, awk, sort, base64, stat.
Wichtige Vorteile
- Profile wechseln ohne Risiko für auth.json-Überschreibungen
- Nutzungsüberwachung mit visuellen Kontingenten und Reset-Zeiten
- TTL-Caching für Geschwindigkeit, Proxy-Unterstützung für Netzwerke
- Fingerprints verhindern Duplikate
- Atomare Schreibvorgänge, vollständig plattformübergreifend
— Editorial Team
Noch keine Kommentare.