Communitygithub.com

Codex Multi-Profile (Windows)

Herramienta no oficial para gestionar múltiples cuentas de ChatGPT en Codex Desktop para Windows, compartiendo el mismo espacio de trabajo.

¿Qué es Codex Multi-Profile (Windows)?

Este skill proporciona una solución para ejecutar múltiples sesiones de ChatGPT en Codex Desktop para Windows, utilizando un mecanismo llamado AuthSwap para intercambiar tokens de autenticación entre perfiles. A diferencia de simplemente cambiar la variable de entorno CODEX_HOME, AuthSwap garantiza que la aplicación lea el token de autenticación correcto, evitando el problema de que Codex ignore dicha variable y muestre la cuenta principal. La herramienta incluye scripts de PowerShell para crear, lanzar, detener y verificar perfiles, manteniendo un espacio de trabajo compartido (sesiones, habilidades, MCP, recuerdos, proyectos) en `%USERPROFILE%\.codex`. Es compatible con Codex Desktop en Windows y está diseñada para desarrolladores, agentes de IA y usuarios avanzados que necesitan alternar entre cuentas sin perder datos. El skill detalla reglas de lanzamiento verificadas, como evitar ejecutables de WindowsApps, clonar ChatGPT.exe y usar un wrapper .cmd para heredar variables de entorno correctamente.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add Hung2124/codex-multi-profile

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Codex Multi-Profile (Windows)?

Asistente no oficial para Codex Desktop en Windows cuando necesitas más de un inicio de sesión de ChatGPT y aún así deseas un único espacio de trabajo compartido.

Predeterminado: ShareLive + AuthSwap

ComponenteUbicación
Sesiones, habilidades, MCP, recuerdos, proyectosSiempre %USERPROFILE%\.codex
Cuentaprofiles\<nombre>\auth.json, intercambiada con ~\.codex\auth.json al iniciar
Al cerrarEl vigilante guarda la autenticación secundaria y luego restaura el auth.json principal
Interfaz de Electron--user-data-dir=profiles\<nombre> (raíz del perfil, no una carpeta anidada electron\)

No abras el Codex principal de la Tienda y un perfil al mismo tiempo.

Por qué AuthSwap (no un segundo CODEX_HOME)

El servidor de la aplicación de escritorio a veces ignora CODEX_HOME y de todos modos lee ~\.codex\auth.json. Un segundo directorio de inicio muestra entonces la cuenta principal. AuthSwap coloca el token secundario en la ruta que la aplicación realmente lee.

Reglas de lanzamiento (verificadas)

  1. No ejecutar ejecutables desde WindowsApps (Acceso Denegado). Clonar ChatGPT.exe primero.
  2. El punto de entrada es ChatGPT.exe. Codex.exe sale con código 1.
  3. Get-AppxPackage.InstallLocation puede estar vacío: prefiere un clon local existente.
  4. Establecer ambas variables CODEX_ELECTRON_USER_DATA_PATH y --user-data-dir en la raíz del perfil.
  5. No confiar en que Start-Process herede $env:CODEX_HOME. Escribir un .cmd con set y start.
  6. Set-Content -Encoding UTF8 de PowerShell 5.1 escribe una Marca de Orden de Bytes (BOM). Esto puede invalidar config.toml. Usar [IO.File]::WriteAllText(..., UTF8Encoding $false).
  7. Nunca establecer un CODEX_HOME persistente a nivel de usuario.
  8. No copiar auth.json entre máquinas ni en git.

Rutas

ElementoRuta
Raíz de instalación%LOCALAPPDATA%\CodexParallelDesktop
Módulo compartidoCodexMultiProfile.psm1
Lanzador de perfilesLaunch-CodexProfile.ps1
Restaurar principalLaunch-CodexMain.ps1
AdministradorCodexProfile.ps1 (new, list, stop, shortcut, launch)
Perfiles...\profiles\<nombre>\
Clon...\versions\<ver>\app\ChatGPT.exe
Directorio compartido%USERPROFILE%\.codex

Comandos

$root = "$env:LOCALAPPDATA\CodexParallelDesktop"

# Lanzamiento recomendado (AuthSwap)
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\Launch-CodexProfile.ps1" -Name codex1

# Restaurar el Codex principal de la Tienda
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\Launch-CodexMain.ps1"

# Administrador
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\CodexProfile.ps1" -Action new -Name codex2
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\CodexProfile.ps1" -Action list
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\CodexProfile.ps1" -Action status
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\CodexProfile.ps1" -Action verify
powershell -NoProfile -ExecutionPolicy Bypass -File "$root\CodexProfile.ps1" -Action stop -Name codex1

Flujo de trabajo del agente

  1. "Cambiar cuenta / mantener mis datos" → AuthSwap mediante Launch-CodexProfile.ps1.
  2. "Crear otro perfil" → -Action new, luego iniciar con Launch-CodexProfile.ps1.
  3. Cuenta incorrecta en la interfaz → comparar correos electrónicos en los dos archivos auth.json; corregir el lanzamiento (wrapper .cmd); no indicar al usuario que inicie sesión nuevamente si la autenticación del perfil sigue siendo válida.
  4. Acceso Denegado / ruta vacía / código de salida 1 → clonar ChatGPT.exe, nunca usar WindowsApps, nunca usar InstallLocation vacío.
  5. Después de editar scripts, copiar CodexMultiProfile.psm1 y los lanzadores en %LOCALAPPDATA%\CodexParallelDesktop y en scripts\ dentro de este skill. Los lanzadores importan el módulo desde $PSScriptRoot.
  6. "¿Está instalado / qué cuenta está activa?" → -Action status (los correos están enmascarados) luego -Action verify.

Autenticación de perfil envenenada

Si el usuario abre Codex Main mientras un perfil sigue ejecutándose, la restauración puede escribir el token principal en profiles\<nombre>\auth.json.

Protecciones ya incluidas en los scripts:

  • El vigilante / Launch-CodexMain solo guarda la autenticación del perfil cuando el correo activo difiere de auth.json.__main__
  • Conservar auth.json.secondary.bak
  • Si la autenticación del perfil falta o es igual a la principal → inicio de sesión bootstrap (borrar autenticación activa, forzar inicio de sesión secundario)

No hacer

  • Copiar ni enviar a git auth.json
  • Abrir Main + perfil ShareLive juntos
  • Iniciar Codex.exe o una ruta de WindowsApps
  • Start-Process sin un cmd explícito / CODEX_HOME
  • Escribir config.toml con Set-Content -Encoding UTF8 en Windows PowerShell 5.1

Detalles: docs/architecture.md, docs/troubleshooting.md.

Skills relacionados