> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCodex

> Conecte Codex a TokenLab a través de OpenCodex con enrutamiento de API específico por modelo

## Deje que mi agente configure esto

Copie esta tarea en un agente que ya se esté ejecutando en su equipo:

```text theme={null}
Read https://docs.tokenlab.sh/es/integrations/opencodex and help me connect OpenCodex to TokenLab.
Check my installed OpenCodex and Codex versions, active configuration, and running proxy first.
Preserve existing accounts, providers, models, and permissions. Back up files before changing them.
Have me enter the API key locally; never ask for, print, or paste it in chat.
Use the TokenLab preset and the selected model's documented API format.
Check configuration loading first. Explain the cost before running a small real request.
Match the reply with its TokenLab request record.
```

## Cómo funciona la conexión

[OpenCodex](https://github.com/lidge-jun/opencodex) es un proxy local entre Codex y las API de modelos. Esta guía utiliza **OpenCodex 2.73.0** y **Codex CLI 0.149.0**.

La integración de Chat Completions del ajuste preestablecido de TokenLab se lanzó y verificó de extremo a extremo en 2.72.0. La [versión 2.73.0](https://github.com/lidge-jun/opencodex/releases/tag/v2.73.0) mantiene esa integración y añade enrutamiento específico por modelo para Responses y Anthropic Messages. Las rutas listadas a continuación se han verificado con TokenLab mediante texto en streaming y ciclos completos de llamada a función/resultado.

Codex envía solicitudes Responses al **proxy local de OpenCodex**. Luego, OpenCodex envía la solicitud del modelo seleccionado a **TokenLab**. Una solicitud Responses en la conexión local no significa que el modelo sea llamado a través de la API Responses de TokenLab.

| Modelos seleccionados en Codex | OpenCodex → TokenLab |
| - | - |
| `gpt-6-astra`, `gpt-6.1-sol`, `gpt-6-sol`, `gpt-6-luna`, `grok-4.7`, `deepseek-v4.1-flash`, `deepseek-v4-pro`, `kimi-k3`, `glm-5.3` | Responses: `POST /v1/responses` |
| `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-fable-5`, `claude-fable-5-1` | Anthropic Messages: `POST /v1/messages` |
| `gemini-3.8-flash` | Chat Completions: `POST /v1/chat/completions` |

La Base URL del ajuste preestablecido es `https://api.tokenlab.sh/v1`. Manténgala sin cambios: OpenCodex construye por sí mismo la URL correspondiente de Messages o Responses. Los modelos fuera de los valores predeterminados de Responses listados y del enrutamiento de Claude utilizan el adaptador Chat del ajuste preestablecido.

TokenLab admite la API nativa de Gemini para los modelos que la declaran, pero **el ajuste preestablecido de TokenLab en OpenCodex 2.73.0 llama a Gemini a través de Chat Completions**. No cambie todo el proveedor a Responses o Gemini; eso también cambiaría las solicitudes para los modelos que no aceptan ese formato.

## Instalar o actualizar

Utilice Node.js 18 o posterior para la instalación mediante npm:

```bash theme={null}
npm install -g @bitkyc08/opencodex@2.73.0
ocx --version
codex --version
```

Codex también debe estar instalado. OpenCodex proporciona [instrucciones de instalación](https://opencodex.me/getting-started/installation/) e [instrucciones de conexión de Codex](https://opencodex.me/getting-started/quickstart/). Windows nativo y WSL tienen configuraciones independientes; ejecute la configuración y Codex en el mismo entorno.

## Añadir TokenLab

Cree una clave en [TokenLab API Keys](https://tokenlab.sh/dashboard/api?tab=keys). Para la configuración en terminal, siga el [Inicio rápido](/es/quickstart) para establecer `TOKENLAB_API_KEY` sin incluir su valor en el historial de comandos. Inicie OpenCodex desde esa terminal; un servicio en segundo plano necesita la variable en su propio entorno de inicio.

Para una **instalación limpia de OpenCodex**, ejecute `ocx init`, seleccione TokenLab e introduzca la clave localmente o utilice la referencia literal de variable de entorno `${TOKENLAB_API_KEY}`. Revise las opciones de conexión con Codex y de inicio automático del asistente antes de aplicarlas.

Para una **instalación existente**, añada el ajuste preestablecido sin reemplazar otros proveedores:

```bash theme={null}
ocx provider add tokenlab --api-key '${TOKENLAB_API_KEY}'
```

Las comillas simples guardan una referencia a la variable de entorno, no el valor de la clave. Este comando también funciona en PowerShell. Si `tokenlab` ya existe, edite ese proveedor en el panel de control en lugar de sobrescribirlo con `--force`.

También puede elegir **TokenLab** en la lista **Add provider** del panel de control e introducir la clave allí. OpenCodex guarda su configuración en `$OPENCODEX_HOME/config.json`, normalmente `~/.opencodex/config.json`.

Inicie el proxy si aún no se está ejecutando, luego abra su panel de control:

```bash theme={null}
ocx start
ocx status
ocx gui
```

En la página del proveedor, verifique la Base URL y los modelos detectados. El ajuste preestablecido detecta `GET /v1/models?category=chat` y conserva los modelos con capacidad `tool-use`. Se excluyen imágenes, video, audio, embeddings y modelos de decisión. La detección con una clave refleja los permisos de modelos y la directiva de entrega de dicha clave.

Ejecute `ocx sync` para conectar Codex y actualizar su catálogo de modelos, luego inicie una nueva sesión de Codex. Esto cambia la conexión de proxy y el catálogo de Codex; revise la configuración existente de proveedores personalizados y guarde una copia de seguridad antes de sincronizar. No requiere reemplazar su cuenta ni su directiva de permisos.

## Seleccionar un modelo y verificar una solicitud

Elija la entrada `tokenlab/<model-id>` en el selector de modelos de Codex, o selecciónela para una única ejecución de la CLI:

```bash theme={null}
codex -m "tokenlab/gpt-6.1-sol"
```

OpenCodex utiliza `tokenlab/` para seleccionar el proveedor; el ID de modelo enviado a TokenLab es `gpt-6.1-sol`. Elija un ID exacto disponible actualmente desde [Models](https://tokenlab.sh/es/models).

Para una pequeña comprobación de conexión, envíe:

```text theme={null}
Reply only with TOKENLAB_CONNECTION_OK. Do not use tools or modify files.
```

Esta solicitud utiliza su saldo de TokenLab. Compruebe la respuesta y el modelo correspondiente, la hora y el estado en [Requests](https://tokenlab.sh/dashboard/runs?section=requests). La detección de proveedores y un inicio exitoso por sí solos no verifican el acceso a la inferencia.

El streaming y el function calling funcionan en las rutas de la tabla. La entrada de imágenes y los controles de thinking dependen del modelo seleccionado: compruebe sus capacidades y utilice únicamente las opciones de esfuerzo que OpenCodex ofrece para ese modelo. Las solicitudes con entrada de imágenes y thinking se verificaron en modelos representativos para las rutas Responses y Messages; la entrada de imágenes en Gemini se verificó en su ruta Chat. Un modelo que admita thinking no necesariamente expone el texto de thinking ni admite todos los niveles de esfuerzo.

## Mantener un modelo de Responses en Chat Completions

Para utilizar la ruta Chat con uno de los modelos Responses listados, combine una entrada `modelAdapters` en el objeto **existente** `providers.tokenlab` dentro de la configuración de OpenCodex. Este ejemplo mantiene `gpt-6-astra` en Chat para Codex:

```json theme={null}
{
  "modelAdapters": {
    "gpt-6-astra": "openai-chat"
  }
}
```

Este es un ejemplo de campo de proveedor, no un reemplazo de la configuración completa. Conserve otras anulaciones de modelos, credenciales y proveedores; luego reinicie el proxy y abra una nueva sesión de Codex. Eliminar únicamente la entrada de este modelo restaura su valor predeterminado de Responses.

El enrutamiento de Messages de Claude está vinculado al endpoint canónico de TokenLab. La anulación a Chat anterior se aplica a los valores predeterminados de Responses; no cambia Claude a Chat. Para un cliente nativo de Chat, los modelos Responses listados ya utilizan Chat sin esta anulación. Consulte el [enrutamiento de proveedores de OpenCodex](https://opencodex.me/guides/providers/#3-api-key-catalog).

## Directiva de entrega y otras herramientas de TokenLab

El ajuste preestablecido no fuerza un encabezado `X-TokenLab-Delivery-Policy`. TokenLab utiliza el valor predeterminado de la directiva de entrega de su API key. Elegir Chat, Responses o Messages es independiente de elegir una directiva de entrega; consulte la [configuración del proveedor TokenLab](/es/guides/tokenlab-provider).

Añada el [servidor MCP de TokenLab](/es/integrations/tokenlab-mcp-server) para obtener otras herramientas de API, o [TokenLab Skills](/es/integrations/coding-agent-skill) para ver las instrucciones de integración. Estos no modifican el proveedor del modelo principal ni el formato de API.

**JEV Auto en OpenCodex 2.73.0 utiliza el backend de decisiones de TypeSafe.** No ofrece TokenLab como dicho backend. Llamar a la [API System One](/es/api-reference/systemone/create-decision) de TokenLab a través de MCP es una operación independiente; no introduzca una clave de TokenLab en el campo de credenciales de TypeSafe.

## Solución de problemas y restauración de su configuración

* **TokenLab no aparece en el selector:** compruebe `ocx --version`; esta guía está orientada a la versión 2.73.0. Actualice el catálogo con `ocx sync` e inicie una nueva sesión de Codex.
* **401 o credenciales faltantes:** verifique que la clave esté activa y disponible para el proceso que ejecuta OpenCodex. Una variable de entorno en una terminal diferente no actualiza un servicio que ya se encuentra en ejecución.
* **El modelo no aparece:** verifique el ID exacto, los permisos de su clave y la disponibilidad actual. Los modelos que no son de chat y los modelos de chat sin capacidad `tool-use` no están incluidos en este ajuste preestablecido.
* **Solicitud no admitida o endpoint incorrecto:** compare el modelo seleccionado con la tabla de enrutamiento e inspeccione las anulaciones de adaptadores guardadas. El formato requerido es `tokenlab.accepted_request_formats` en los [detalles del modelo](/es/api-reference/models/get-model); la lista de modelos no reemplaza ese campo de detalle. Claude y Gemini no deben enviarse a Responses simplemente porque Codex use Responses de forma local.
* **Fallo en herramientas o entrada de imágenes:** conserve el error original y el Request ID. Verifique las capacidades del modelo y la ruta activa de OpenCodex antes de modificar la configuración; no elimine el historial de conversación ni los resultados de herramientas para ocultar un error.

Para dejar de enrutar Codex a través del proxy, utilice `ocx stop`; OpenCodex detiene el proxy y restaura la conexión nativa de Codex. `ocx restore` restaura la conexión nativa manteniendo el proxy en ejecución para otros clientes. Revise la [referencia de la CLI de OpenCodex](https://opencodex.me/reference/cli/) antes de modificar una instalación compartida con otros clientes.
