Zurück zur Startseite

Bash CLI für Codex-Profile: Nutzung und Proxy

Bash-Skript codex-auth vereinfacht die Arbeit mit mehreren Codex-Konten: Speichern/Wechseln von Profilen, Nutzungsüberwachung über API, Cache und Proxy. Plattformübergreifende Unterstützung mit Fallbacks für base64/stat/sha256. Einschränkungen: Abhängigkeit von der auth.json-Struktur.

Codex-Profile-Verwaltung: Bash-Skript mit Nutzung
Advertisement 728x90

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:

Google AdInline article slot
  • 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:

Google AdInline article slot
  • codex-auth — Profile mit Nutzung auflisten
  • codex-auth usage — Kontingente für aktuelle auth.json
  • codex-auth save <name> — aktuelles Profil speichern
  • codex-auth use <name> — Profile wechseln (oder Kurzform codex-auth <name>)
  • codex-auth list-fast — lokale Liste ohne API-Aufrufe
  • codex-auth backup — aktuelles Profil sichern

Proxy-Unterstützung:

  • codex-auth proxy set <url>
  • codex-auth proxy show
  • codex-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 work oder codex-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:

Google AdInline article slot
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_id
  • sub aus id_token
  • E-Mail
  • SHA256 der gesamten Datei

Verhindert Duplikate unter verschiedenen Namen und prüft Übereinstimmungen mit aktiver auth.json.

Plattformübergreifende Anpassungen

  • base64: Linux base64 -d, macOS base64 -D
  • stat: Linux stat -c %Y, macOS stat -f %m
  • SHA256: Linux sha256sum, macOS shasum -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

Advertisement 728x90

Weiterlesen