Docs

Codex

Codex CLI es el agente de terminal de OpenAI. Hoy no puede hablar con Helmcode directamente, y conviene leer por qué antes de pasarse una tarde con el fichero de configuración.

Aviso: no es un problema de tu key. Las versiones recientes de Codex solo hablan la Responses API de OpenAI — wire_api = "chat" se eliminó, y el binario ya solo acepta responses y responses_websocket. Helmcode sirve /v1/chat/completions, y su /v1/responses todavía no emite los eventos de streaming que Codex espera. Comprobado contra codex-cli 0.154.0.

Lo que consigues si pruebas cada uno:

Lo que ponesQué pasa
wire_api = "chat"Error loading config.toml: `wire_api = "chat"` is no longer supported
wire_api = "responses"stream disconnected before completion: stream closed before response.completed

Lo que sí funciona hoy — delegar en OpenCode

La misma vía que toma la página de Claude Code, y por el mismo motivo: Codex ejecuta comandos en tu terminal, y OpenCode trabaja headless contra Helmcode.

Configura OpenCode una vez y pídeselo a Codex con palabras:

Usa `opencode run --agent plan -m helmcode/glm5.3-flash` para revisar
src/parser.ts y dime qué casos no está cubriendo.

Codex ejecuta el comando, lee la respuesta y sigue. --agent plan deja a OpenCode en solo lectura; sin eso arranca con un agente que puede editar ficheros y ejecutar comandos.

Tu suscripción de Codex paga la sesión; el trabajo del modelo sale de tu key de Helmcode.

La configuración, para cuando funcione

Nada de lo de abajo está mal — simplemente espera a /v1/responses. Cuando ese endpoint haga streaming, esto es todo lo que Codex necesita en ~/.codex/config.toml:

model_provider = "helmcode"
model = "glm5.3-flash"

[model_providers.helmcode]
name = "Helmcode"
base_url = "https://api.helmcode.com/v1"
env_key = "HELMCODE_API_KEY"
wire_api = "responses"

Con tu key en el entorno, nunca en el fichero:

export HELMCODE_API_KEY="sk-your-key-here"

Dos detalles que seguirán importando entonces:

  • El identificador del proveedor no puede ser openai, ollama ni lmstudio, que están reservados. Por eso se llama helmcode.
  • base_url termina en /v1 y nada más. No añadas la ruta del endpoint.

Problemas conocidos

  • /v1/responses sirve menos modelos que /v1/chat/completions. Incluso cuando el streaming funcione, comprueba que el modelo que quieres está entre ellos.
  • qwen3.6 en /v1/responses rechaza la petición con System message must be at the beginning, que es como Codex coloca sus instrucciones.
  • Todo lo demás de esta sección conecta directamente. Si lo que quieres es un agente de terminal sobre Helmcode hoy, OpenCode y Pi valen los dos.