Saltar al contenido principal

Descripción general

OpenAI Codex es una herramienta de línea de comandos (CLI) de código abierto que funciona como un agente de programación ligero, capaz de leer, modificar y ejecutar código en la terminal. Está construida sobre modelos GPT y optimizada para la generación de código. Para LemonData, lo más adecuado es usar Codex CLI contra /v1/responses. Esa ruta funciona bien en general, pero algunas funciones nativas de Responses siguen dependiendo de que el modelo elegido y el canal enrutado soporten la pasada directa nativa.

Requisitos del sistema

  • OS: macOS, Linux (soporte oficial), Windows mediante WSL
  • Node.js: Versión 18+
  • npm: Versión 10.x.x o superior

Instalación

npm install -g @openai/codex
Verifica la instalación:
codex --version

Configuración

Paso 1: Establecer la API Key

Temporal (sesión actual):
export OPENAI_API_KEY="sk-your-lemondata-key"
Configuración permanente: Añádelo a ~/.bashrc, ~/.zshrc o ~/.bash_profile:
export OPENAI_API_KEY="sk-your-lemondata-key"
Luego recarga:
source ~/.zshrc  # or source ~/.bashrc

Paso 2: Configurar config.toml

Edita ~/.codex/config.toml:
model_provider = "lemondata"
model = "gpt-5.4"
model_reasoning_effort = "xhigh"
plan_mode_reasoning_effort = "xhigh"
fast_mode = true
model_context_window = 1000000
model_auto_compact_token_limit = 900000
sandbox_mode = "danger-full-access"
approval_policy = "never"

disable_response_storage = false
personality = "friendly"
service_tier = "fast"

[model_providers.lemondata]
env_key = "OPENAI_API_KEY"
name = "lemondata"
base_url = "https://api.lemondata.cc/v1"
wire_api = "responses"
supports_websockets = true
websocket_connect_timeout_ms = 15000

[features]
responses_websockets = true
responses_websockets_v2 = true
Si el archivo de configuración no existe, ejecuta codex una vez para generarlo y luego edita el archivo. Reinicia Codex por completo después de cambiar config.toml para que se vuelvan a cargar los nuevos ajustes del proveedor.
Codex está dejando obsoleto el soporte de chat/completions para proveedores personalizados. Mantén wire_api = "responses" para LemonData, a menos que estés usando intencionalmente una ruta de compatibilidad más antigua.
Si una solicitud usa campos reservados al Responses nativo que el modelo elegido o el canal enrutado no soportan, LemonData devuelve un error explícito en lugar de degradar silenciosamente la solicitud.

Uso básico

Iniciar modo interactivo:
codex
Comando directo:
codex "Fix the bug in main.py line 42"
Especificar modelo:
codex -m gpt-5.4 "Build a REST API server"

Modelos recomendados

ModelMejor para
gpt-5.4Mejor opción predeterminada para programación y razonamiento
gpt-5-miniAlternativa más rápida y económica para flujos de trabajo de programación
claude-sonnet-4-6Revisión de código, documentación
deepseek-r1Diseño de algoritmos, razonamiento

Comandos interactivos

CommandDescripción
/helpMostrar ayuda
/exit or Ctrl+CSalir
/clearLimpiar conversación
/configVer configuración
/model <name>Cambiar modelo
/tokensVer uso de tokens

Verificar configuración

# Check environment variable
echo $OPENAI_API_KEY

# Test API connection
codex "Hello, Codex!"

# View configuration
cat ~/.codex/config.toml

Casos de uso comunes

Revisión de código:
git diff | codex "Review these code changes"
Generar mensajes de commit:
git diff --staged | codex "Generate a commit message for these changes"
Corregir errores:
codex "Fix the TypeScript errors in src/components/"
Explicar código:
cat main.py | codex "Explain what this code does"

Solución de problemas

  • Verifica que base_url en config.toml sea exactamente https://api.lemondata.cc/v1
  • Comprueba la conectividad de red
  • Asegúrate de que no haya interferencia de proxy
  • Verifica que env_key = "OPENAI_API_KEY" esté presente en ~/.codex/config.toml
  • Verifica que la variable de entorno OPENAI_API_KEY esté configurada
  • Comprueba que la clave comience con sk-
  • Asegúrate de que la clave esté activa en el panel de LemonData
  • Comprueba que el nombre del modelo coincida exactamente
  • Verifica la disponibilidad del modelo en lemondata.cc/en/models
  • Algunos campos solo están disponibles cuando el modelo elegido y el canal enrutado soportan la pasada directa nativa de /v1/responses
  • Si ves un error con unsupported_request_field o pasada directa nativa, elimina ese campo o cambia a un modelo / canal compatible