# Herramienta CLI en Bash para Cambiar Perfiles de Codex
Cuando manejas varias cuentas de Codex —trabajo, personal, respaldo—, el archivo predeterminado ~/.codex/auth.json se convierte en un gran cuello de botella. Copiar manualmente los archivos de autenticación genera confusión: pierdes la pista de qué perfil está activo, cuánto cupo queda y corres el riesgo de sobrescribir datos importantes. Un simple script en bash llamado codex-auth soluciona esto con comandos para guardar, cambiar perfiles y monitorear el uso vía API.
El script guarda perfiles por separado, almacena en caché los datos de uso, soporta proxies y detecta cuentas duplicadas mediante huellas digitales.
Ubicación de auth.json y Notas Multiplataforma
Archivo principal de autorización:
- Linux/macOS:
~/.codex/auth.json - Windows:
%USERPROFILE%\.codex\auth.json
Contiene access_token, id_token y account_id. La estructura puede cambiar, por lo que el análisis usa jq con reservas.
Problemas con cp manual:
- Sin indicador del perfil activo
- Riesgo de pérdida de datos
- Sin info sobre cupos o tiempos de reinicio
Comandos del Script
El script ofrece una interfaz CLI limpia:
codex-auth— lista perfiles con usocodex-auth usage— cupos del auth.json actualcodex-auth save <nombre>— guarda perfil actualcodex-auth use <nombre>— cambia perfiles (o abreviadocodex-auth <nombre>)codex-auth list-fast— lista local sin llamadas APIcodex-auth backup— respalda perfil actual
Soporte para proxy:
codex-auth proxy set <url>codex-auth proxy showcodex-auth proxy unset
Caché:
codex-auth cache-time [segundos](predeterminado 15s, 0 desactiva caché)
Ejemplo de Uso
- Inicia sesión con cuenta de trabajo:
codex-auth save work - Inicia sesión con personal:
codex-auth save personal - Cambia:
codex-auth workocodex-auth personal - Salida:
📊 5h: 100% ⏱5h 7️⃣ 15% ⏱4d 9h work <[email protected]>
📊 5h: 100% ⏱5h 7️⃣ 84% ⏱3d 18h *personal <[email protected]>
Monitoreo de Uso vía API
Consulta a https://chatgpt.com/backend-api/wham/usage con Authorization: Bearer $token y account_id en cabeceras:
curl -s \
-H "Authorization: Bearer $token" \
-H "Accept: application/json" \
-H "User-Agent: CodexCLI" \
"https://chatgpt.com/backend-api/wham/usage" | jq
El análisis muestra:
- Email de la cuenta
- Tipo de plan
- Cupo restante (5h, semanal)
- Tiempo de reinicio
- Límite de revisiones de código
Caché para Mayor Velocidad
Caché en ~/.codex-auth-profiles/.usage-cache, indexado por token + account_id + proxy. TTL configurable evita llamadas API innecesarias. Sin caché (TTL=0) obtiene datos frescos siempre.
Soporte para Proxy
Para redes corporativas o firewalls:
codex-auth proxy set http://127.0.0.1:8888
curl usa --proxy en todas las solicitudes. Almacenado en ~/.codex-auth-profiles/proxy.
Detección de Duplicados
Huella digital del perfil:
account_idsubdelid_token- SHA256 del archivo completo
Evita duplicados con nombres distintos y verifica coincidencias con auth.json activo.
Adaptaciones Multiplataforma
- base64: Linux
base64 -d, macOSbase64 -D - stat: Linux
stat -c %Y, macOSstat -f %m - SHA256: Linux
sha256sum, macOSshasum -a 256
Escrituras atómicas vía mktemp + mv.
Perfiles en ~/.codex-auth-profiles: archivos JSON para perfiles, selección actual, ajustes y caché.
Limitaciones
- Depende de la estructura de auth.json
- API del backend puede cambiar
- Solo bash, no para lógica compleja
Dependencias: bash, jq, curl, awk, sort, base64, stat.
Beneficios Clave
- Cambia perfiles sin riesgo de sobrescribir auth.json
- Monitoreo de uso con cupos visuales y reinicios
- Caché TTL para velocidad, soporte proxy para redes
- Huellas evitan duplicados
- Escrituras atómicas, totalmente multiplataforma
— Editorial Team
Aún no hay comentarios.