Plugin guides
Entorno de Codex
El plugin oficial codex ejecuta turnos de agentes de OpenAI integrados mediante Codex
app-server en lugar del arnés integrado de OpenClaw. Codex gestiona la
sesión de agente de bajo nivel: reanudación nativa de hilos, continuación nativa de herramientas,
Compaction nativa y ejecución de app-server. OpenClaw sigue gestionando los
canales de chat, los archivos de sesión, la selección de modelos, las herramientas dinámicas de OpenClaw, las aprobaciones,
la entrega de contenido multimedia y el reflejo visible de la transcripción.
Utilice referencias canónicas de modelos de OpenAI como openai/gpt-5.6-sol. No configure
referencias GPT heredadas de Codex; coloque el orden de autenticación de agentes de OpenAI en auth.order.openai.
Los identificadores de perfiles de autenticación heredados de Codex y las entradas heredadas del orden de autenticación de Codex se
reparan mediante openclaw doctor --fix.
Cuando la política de tiempo de ejecución del proveedor/modelo no está definida o es auto, el prefijo openai/* por sí solo
nunca selecciona este arnés. OpenAI solo puede seleccionar Codex implícitamente para una
ruta oficial HTTPS exacta de Platform Responses o ChatGPT Responses sin una
anulación de solicitud definida. Consulte
Tiempo de ejecución implícito de agentes de OpenAI.
Si Codex gestiona la autenticación antes de que se conozca el enrutamiento entre Platform y ChatGPT, OpenClaw
sigue exigiendo que todas las rutas candidatas declaren compatibilidad con Codex. La gestión nativa
de la autenticación por sí sola nunca omite esa comprobación de ruta.
Cuando no hay ningún entorno aislado de OpenClaw activo, OpenClaw inicia los hilos de Codex app-server
con el modo de código nativo de Codex habilitado (el modo exclusivo de código permanece desactivado de forma predeterminada), por lo que
las capacidades nativas del espacio de trabajo y del código siguen disponibles junto con las herramientas dinámicas de OpenClaw
enrutadas mediante el puente item/tool/call de app-server. Un
entorno aislado de OpenClaw activo o una política de herramientas restringida deshabilita por completo el modo de código nativo,
salvo que se habilite la ruta experimental del servidor de ejecución del entorno aislado.
Con el valor predeterminado tools.exec.host: "auto" y sin ningún entorno aislado de OpenClaw activo,
Codex también recibe las herramientas node_exec y node_process para ejecutar comandos en nodos
emparejados. El shell nativo permanece en el host y el espacio de trabajo de Codex app-server
(local al Gateway para la implementación stdio predeterminada); node_exec selecciona un nodo por
nombre o identificador y mantiene vigente la política de aprobación de nodos de OpenClaw. Si una lista finita
de permitidos del tiempo de ejecución deshabilita el modo de código nativo y deja el turno sin un
entorno de ejecución, OpenClaw mantiene disponibles en su lugar sus herramientas exec y process
filtradas por políticas para la ejecución directa sin entorno aislado.
Esta función nativa de Codex es independiente del
modo de código de OpenClaw, un tiempo de ejecución QuickJS-WASI opcional
para ejecuciones genéricas de OpenClaw con una forma de entrada exec diferente. Para comprender la
separación general entre modelo, proveedor y tiempo de ejecución, comience por
Tiempos de ejecución de agentes: openai/gpt-5.6-sol es la referencia del
modelo, codex es el tiempo de ejecución y Telegram, Discord, Slack u otro
canal es la superficie de comunicación.
Requisitos
- El plugin oficial
@openclaw/codexinstalado. Incluyacodexenplugins.allowsi la configuración utiliza una lista de permitidos. - Un Codex app-server estable desde
0.143.0hasta0.144.6. El plugin gestiona de forma predeterminada un binario compatible, por lo que un comandocodexenPATHno afecta al inicio normal. - Autenticación de Codex mediante
openclaw models auth login --provider openai, una cuenta de app-server ya presente en el directorio principal de Codex del agente o un perfil explícito de autenticación mediante clave de API de Codex.
Para conocer la precedencia de autenticación, el aislamiento del entorno, los comandos personalizados de app-server, la detección de modelos y la lista completa de campos de configuración, consulte la Referencia del arnés de Codex.
Inicio rápido
Instale el plugin oficial y, a continuación, inicie sesión con OAuth de Codex:
openclaw plugins install @openclaw/codexopenclaw models auth login --provider openaiHabilite el plugin codex y seleccione un modelo de agente de OpenAI:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Si la configuración utiliza plugins.allow, añada también codex:
{ plugins: { allow: ["codex"], entries: { codex: { enabled: true, }, }, },}Reinicie el Gateway después de cambiar la configuración del plugin. Si un chat ya tiene una
sesión, ejecute primero /new o /reset para que el siguiente turno determine el arnés
a partir de la configuración actual.
Compartir hilos con Codex Desktop y la CLI
El valor predeterminado appServer.homeScope: "agent" aísla cada agente de OpenClaw del
estado nativo de Codex del operador. Para permitir que un propietario inspeccione y gestione los
mismos hilos nativos que se muestran en Codex Desktop y la CLI de Codex, habilite el
directorio principal de Codex del usuario:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { homeScope: "user", }, }, }, }, },}El modo de directorio principal del usuario admite un proceso stdio gestionado localmente o el transporte
compartido mediante socket Unix. Utiliza $CODEX_HOME cuando está definido y ~/.codex en caso contrario, incluida
la autenticación nativa de Codex, la configuración, los plugins y el almacén de hilos de ese directorio principal. OpenClaw no
inyecta un perfil de autenticación de OpenClaw en este app-server.
Los turnos del propietario obtienen la herramienta codex_threads: permite enumerar, buscar, leer, bifurcar, cambiar el nombre,
archivar y restaurar hilos nativos. Bifurque un hilo para continuarlo en
OpenClaw; la bifurcación se adjunta a la sesión actual de OpenClaw y permanece
visible para otros clientes nativos de Codex. El archivado requiere una
confirmación explícita de que el hilo está cerrado en otros lugares. Cuando también está habilitada la supervisión,
los campos y las mutaciones de transcripciones requieren la habilitación correspondiente de
supervision.allowRawTranscripts o supervision.allowWriteControls.
No reanude ni escriba simultáneamente en el mismo hilo mediante App Servers stdio gestionados independientes. Codex coordina los escritores activos dentro de un App Server, no entre procesos independientes. La bifurcación es la vía segura de coexistencia para las sesiones stdio ordinarias del directorio principal del usuario.
appServer.homeScope: "user" por sí solo no controla el catálogo de la flota. La detección nativa
de sesiones está habilitada mientras el plugin está activo; establezca
sessionCatalog.enabled: false para eliminarla de la barra lateral de OpenClaw sin
deshabilitar Codex. El catálogo utiliza una conexión de supervisión independiente; sin
ajustes de conexión appServer explícitos, esa conexión utiliza de forma predeterminada stdio gestionado
del directorio principal del usuario, mientras que el arnés ordinario permanece limitado al agente. Ambos recorridos respetan
los ajustes appServer explícitos. Establezca homeScope: "user"
explícitamente, como se muestra anteriormente, cuando el arnés ordinario también deba compartir el estado nativo.
Supervisar sesiones de Codex
El mismo plugin codex puede enumerar las sesiones de Codex no archivadas del equipo del Gateway
y de los nodos emparejados habilitados. Una sesión almacenada o inactiva local al Gateway puede
crear un chat bloqueado a un modelo que refleje su historial persistente y acotado de mensajes del usuario y del asistente.
Su vinculación privada utiliza la conexión de supervisión para la instantánea nativa,
la rama canónica y los turnos posteriores, mientras que las sesiones ordinarias de Codex permanecen
limitadas al agente. El primer inicio canónico utiliza exactamente el modelo y el proveedor que
Codex devuelve para la bifurcación de la instantánea. Las reanudaciones posteriores dejan la selección a la
configuración nativa de Codex; el modelo externo de OpenClaw y la cadena de reserva nunca lo
sustituyen. Las filas almacenadas e inactivas pueden archivarse después de confirmar explícitamente
que no hay ningún otro ejecutor. Las fuentes activas no pueden crear una rama ni archivarse; un chat
supervisado existente aún puede abrirse. Las sesiones de nodos emparejados siguen limitadas a metadatos.
Consulte Supervisar sesiones de Codex para conocer la configuración, las reglas de bifurcación, los límites de los nodos emparejados, la exposición de metadatos y la resolución de problemas.
Configuración
| Necesidad | Establecer | Dónde |
|---|---|---|
| Habilitar el arnés | plugins.entries.codex.enabled: true |
Configuración de OpenClaw |
| Ocultar la detección nativa de sesiones de Codex | plugins.entries.codex.config.sessionCatalog.enabled: false |
Configuración del plugin de Codex |
| Conservar la instalación de un plugin incluido en la lista de permitidos | Incluya codex en plugins.allow |
Configuración de OpenClaw |
| Permitir que los turnos de OpenAI aptos utilicen Codex implícitamente | Ruta oficial HTTPS exacta de Responses/ChatGPT, sin anulación de solicitud definida, tiempo de ejecución sin definir/auto |
Configuración del proveedor/modelo de OpenAI |
| Iniciar sesión con OAuth de ChatGPT/Codex | openclaw models auth login --provider openai |
Perfil de autenticación de la CLI |
| Añadir una clave de API de respaldo para las ejecuciones de Codex | Perfil de clave de API openai:* incluido después de la autenticación de suscripción en auth.order.openai |
Perfil de autenticación de la CLI + configuración de OpenClaw |
| Aplicar cierre seguro cuando Codex no esté disponible | agentRuntime.id: "codex" del proveedor o modelo |
Configuración del modelo/proveedor de OpenClaw |
| Utilizar tráfico directo de la API de OpenAI | agentRuntime.id: "openclaw" del proveedor o modelo con la autenticación normal de OpenAI |
Configuración del modelo/proveedor de OpenClaw |
| Ajustar el comportamiento de app-server | plugins.entries.codex.config.appServer.* |
Configuración del plugin de Codex |
| Habilitar aplicaciones nativas de plugins de Codex | plugins.entries.codex.config.codexPlugins.* |
Configuración del plugin de Codex |
| Habilitar Computer Use de Codex | plugins.entries.codex.config.computerUse.* |
Configuración del plugin de Codex |
Prefiera auth.order.openai para ordenar primero la suscripción y después la clave de API de respaldo.
Los identificadores existentes de perfiles de autenticación heredados de Codex y el orden de autenticación heredado de Codex son
estados heredados exclusivos de doctor; no escriba nuevas referencias GPT heredadas de Codex.
{ auth: { order: { openai: ["openai:[email protected]", "openai:api-key-backup"], }, },}Para una ruta efectiva compatible con Codex, ambos perfiles anteriores siguen siendo candidatos para la misma ejecución de Codex. El orden de los perfiles selecciona las credenciales, no el tiempo de ejecución. Cambiar el orden de autenticación no hace que una ruta personalizada, de Completions, HTTP o con una anulación de solicitud sea compatible con Codex.
Compaction
No establezca compaction.model ni compaction.provider en agentes respaldados
por Codex. Codex realiza la Compaction mediante el estado nativo de hilos de app-server, por lo que
OpenClaw ignora esas anulaciones locales del resumidor durante el tiempo de ejecución, y
openclaw doctor --fix las elimina cuando el agente utiliza Codex.
Lossless sigue siendo compatible como motor de contexto para el ensamblaje, la ingesta y el
mantenimiento en torno a los turnos de Codex, configurado mediante
plugins.slots.contextEngine: "lossless-claw" y
plugins.entries.lossless-claw.config.summaryModel, no mediante
agents.defaults.compaction.provider. openclaw doctor --fix migra la
forma antigua compaction.provider: "lossless-claw" a la ranura del motor
de contexto Lossless cuando Codex es el tiempo de ejecución activo, pero Codex nativo sigue
gestionando la Compaction. El arnés nativo de app-server admite motores de contexto
que necesitan ensamblaje previo al prompt; los backends genéricos de CLI, incluido codex-cli,
no proporcionan esa capacidad de host.
Para los agentes respaldados por Codex, /compact inicia la Compaction nativa de Codex app-server
en el hilo vinculado. OpenClaw no espera a que finalice,
no impone un tiempo de espera de OpenClaw, no reinicia el app-server compartido ni recurre a un
motor de contexto o resumidor público de OpenAI. Si la vinculación nativa del hilo de Codex
falta o está obsoleta, el comando aplica cierre seguro en lugar de cambiar silenciosamente
el backend de Compaction.
El resto de esta página trata sobre la estructura de despliegue, el enrutamiento con cierre ante fallos, la política de aprobación de Guardian, los plugins nativos de Codex y Computer Use. Para consultar las listas completas de opciones, los valores predeterminados, las enumeraciones, el descubrimiento, el aislamiento del entorno, los tiempos de espera y los campos de transporte del app-server, véase la referencia del harness de Codex.
Verificar el runtime de Codex
Use /status en el chat donde se espera Codex. Un turno de agente de OpenAI respaldado por Codex muestra:
Runtime: OpenAI CodexA continuación, compruebe el estado del app-server de Codex:
/codex status/codex models/codex status informa sobre la conectividad del app-server, la cuenta, los límites de frecuencia, los servidores MCP y las Skills. /codex models muestra el catálogo activo del app-server de Codex para el harness y la cuenta. Si /status resulta inesperado, véase
Solución de problemas.
Enrutamiento y selección de modelos
Mantenga separadas las referencias de proveedores y la política del runtime:
- Use
openai/gpt-*para la selección canónica de modelos de OpenAI. El prefijo por sí solo nunca selecciona Codex. - Con el runtime sin establecer o con
auto, solo una ruta oficial HTTPS exacta de Platform Responses o ChatGPT Responses sin ninguna sobrescritura de solicitud definida puede seleccionar Codex implícitamente. - No use referencias heredadas de Codex GPT en la configuración; ejecute
openclaw doctor --fixpara reparar las referencias heredadas y las fijaciones obsoletas de rutas de sesión. agentRuntime.id: "codex"convierte Codex en un requisito con cierre ante fallos para una ruta compatible. No convierte en compatible una ruta efectiva incompatible.agentRuntime.id: "openclaw"habilita el runtime integrado de OpenClaw para un proveedor o modelo cuando esto es intencional./codex ...controla las conversaciones nativas del app-server de Codex desde el chat.- ACP/acpx es una ruta de harness externo independiente. Úsela solo cuando el usuario solicite ACP/acpx o un adaptador de harness externo.
| Intención del usuario | Uso |
|---|---|
| Asociar el chat actual | /codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>] |
| Reanudar un hilo de Codex existente | /codex resume <thread-id> |
| Enumerar o filtrar hilos de Codex | /codex threads [filter] |
| Leer o actualizar el objetivo nativo del hilo asociado | /codex goal [status|set <objective>|pause|resume|block|complete|clear] |
| Enumerar plugins nativos de Codex | /codex plugins list |
| Activar o desactivar un plugin nativo de Codex configurado | /codex plugins enable <name>, /codex plugins disable <name> |
| Reanudar una sesión almacenada de Codex CLI como turno de nodo emparejado | /codex sessions --host <node> [filter], luego /codex resume <session-id> --host <node> --bind here |
| Ver sesiones de Codex no archivadas en varios equipos | Active la supervisión de Codex y abra Sesiones de Codex |
| Cambiar el modelo, el modo rápido o los permisos del hilo asociado | /codex model <model>, /codex fast [on|off|status], /codex permissions [default|yolo|status] |
| Detener o dirigir el turno activo | /codex stop, /codex steer <text> |
| Desasociar la vinculación actual | /codex detach (alias /codex unbind) |
| Enviar únicamente comentarios sobre Codex | /codex diagnostics [note] |
| Iniciar una tarea de ACP/acpx | Comandos de sesión de ACP/acpx, no /codex |
| Caso de uso | Configuración | Verificación | Notas |
|---|---|---|---|
| Ruta de OpenAI apta con runtime nativo de Codex | Ruta oficial HTTPS exacta de Responses/ChatGPT sin ninguna sobrescritura de solicitud definida, además del plugin codex activado |
/status muestra Runtime: OpenAI Codex |
Ruta implícita cuando el runtime no está establecido/es auto |
| Cierre ante fallos si Codex no está disponible | agentRuntime.id: "codex" del proveedor o modelo |
El turno falla en lugar de usar el runtime integrado como alternativa | Úselo para despliegues exclusivos de Codex |
| Tráfico directo mediante clave de API de OpenAI a través de OpenClaw | agentRuntime.id: "openclaw" del proveedor o modelo y autenticación normal de OpenAI |
/status muestra el runtime de OpenClaw |
Úselo solo cuando OpenClaw sea intencional |
| Configuración heredada | Referencias heredadas de Codex GPT | openclaw doctor --fix la reescribe |
No escriba configuraciones nuevas de esta forma |
| Adaptador de Codex para ACP/acpx | sessions_spawn({ runtime: "acp" }) de ACP |
Estado de la tarea/sesión de ACP | Independiente del harness nativo de Codex |
agents.defaults.imageModel sigue la misma división de prefijos. Use openai/gpt-*
para la ruta normal de OpenAI y codex/gpt-* solo cuando la comprensión de imágenes
deba ejecutarse mediante un turno acotado del app-server de Codex. Doctor reescribe las referencias heredadas
de Codex GPT como openai/gpt-*.
Patrones de despliegue
Despliegue básico de Codex
Use la configuración de inicio rápido para un modelo de OpenAI cuya ruta oficial HTTPS efectiva sea apta para seleccionar Codex implícitamente:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Despliegue con varios proveedores
Mantenga Claude como agente predeterminado y añada un agente de Codex con nombre:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "anthropic/claude-opus-4-6", }, list: [ { id: "main", default: true, model: "anthropic/claude-opus-4-6", }, { id: "codex", name: "Codex", model: "openai/gpt-5.6-sol", }, ], },}El agente main usa su ruta de proveedor normal. El agente codex usa el
app-server de Codex mientras su ruta efectiva de OpenAI siga siendo compatible; añada
agentRuntime.id: "codex" explícito y específico del modelo cuando esto deba ser un requisito
con cierre ante fallos.
Despliegue de Codex con cierre ante fallos
Una ruta oficial HTTPS exacta y apta de OpenAI puede resolverse como Codex cuando el plugin incluido está disponible. Añada una política explícita del runtime para una regla de cierre ante fallos definida:
{ models: { providers: { openai: { agentRuntime: { id: "codex", }, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Cuando Codex está forzado, OpenClaw falla de forma anticipada si la ruta efectiva no está declarada como compatible con Codex, el plugin está desactivado, el app-server es demasiado antiguo o el app-server no puede iniciarse.
Política del app-server
De forma predeterminada, el plugin inicia localmente el binario administrado de Codex de OpenClaw con
transporte stdio. Establezca appServer.command solo para ejecutar intencionalmente un
ejecutable diferente. Codex clasifica el transporte WebSocket como experimental
y no compatible; úselo únicamente para pruebas que no sean de producción con un app-server
que ya se ejecute en otra ubicación:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { transport: "websocket", url: "ws://gateway-host:39175", authToken: "${CODEX_APP_SERVER_TOKEN}", }, }, }, }, },}Las sesiones locales del app-server mediante stdio adoptan de forma predeterminada la postura del operador local
de confianza: approvalPolicy: "never", approvalsReviewer: "user" y
sandbox: "danger-full-access". Si los requisitos locales de Codex no permiten esa
postura YOLO implícita, OpenClaw selecciona en su lugar permisos permitidos de Guardian.
Cuando un sandbox de OpenClaw está activo para la sesión, OpenClaw
desactiva Code Mode nativo de Codex, los servidores MCP del usuario y la ejecución de plugins
respaldados por aplicaciones durante ese turno, en lugar de depender del sandbox del lado del host de Codex.
En su lugar, el acceso al shell se realiza mediante herramientas dinámicas respaldadas por el sandbox de OpenClaw,
como sandbox_exec y sandbox_process, cuando las herramientas normales de ejecución/proceso
están disponibles.
Use el modo de ejecución normalizado de OpenClaw para la revisión automática nativa de Codex antes de escapar del sandbox o conceder permisos adicionales:
{ tools: { exec: { mode: "auto", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Para las sesiones del app-server de Codex, tools.exec.mode: "auto" se asigna a las
aprobaciones revisadas por Guardian de Codex: normalmente approvalPolicy: "on-request",
approvalsReviewer: "auto_review" y sandbox: "workspace-write" cuando
los requisitos locales permiten esos valores. En tools.exec.mode: "auto",
OpenClaw no conserva las sobrescrituras heredadas no seguras de Codex approvalPolicy: "never" o
sandbox: "danger-full-access"; use tools.exec.mode: "full" para
una postura intencional de Codex sin aprobaciones. El ajuste preestablecido heredado
plugins.entries.codex.config.appServer.mode: "guardian" sigue
funcionando, pero tools.exec.mode: "auto" es la superficie normalizada de OpenClaw.
Para consultar la comparación entre modos con las aprobaciones de ejecución del host y los permisos de ACPX, véase Modos de permisos. Para consultar todos los campos del app-server, el orden de autenticación, el aislamiento del entorno y el comportamiento de los tiempos de espera, véase la referencia del harness de Codex.
Comandos y diagnóstico
El plugin codex registra /codex como comando de barra en cualquier canal que
admita los comandos de texto de OpenClaw.
La ejecución y el control nativos requieren un propietario o un cliente de Gateway operator.admin:
asociar o reanudar hilos, enviar o detener turnos, cambiar el modelo, el modo rápido o el estado de permisos,
ejecutar Compaction o revisiones y desasociar una vinculación. Los demás remitentes autorizados conservan
los comandos de solo lectura para consultar el estado, la ayuda, la cuenta, los modelos, los hilos, el objetivo
nativo, los servidores MCP, las Skills y las vinculaciones.
Formas habituales:
/codex statuscomprueba la conectividad del servidor de aplicaciones, los modelos, la cuenta, los límites de uso, los servidores MCP y las Skills./codex modelsenumera los modelos activos del servidor de aplicaciones de Codex./codex threads [filter]enumera los hilos recientes del servidor de aplicaciones de Codex./codex goallee o actualiza el objetivo nativo de Codex del hilo adjunto. La continuación automática de objetivos de Codex permanece deshabilitada; OpenClaw aún no controla turnos posteriores autónomos./codex resume <thread-id>vincula la sesión actual de OpenClaw a un hilo de Codex existente./codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]vincula el chat actual./codex detach(o/codex unbind) desvincula la asociación actual./codex bindingdescribe la asociación actual./codex stopdetiene el turno activo;/codex steer <text>lo redirige./codex model <model>,/codex fast [on|off|status]y/codex permissions [default|yolo|status]cambian el estado de cada conversación./codex compactsolicita al servidor de aplicaciones de Codex que compacte el hilo adjunto./codex reviewinicia la revisión nativa de Codex para el hilo adjunto./codex diagnostics [note]solicita confirmación antes de enviar comentarios de Codex sobre el hilo adjunto./codex accountmuestra el estado de la cuenta y de los límites de uso./codex mcpenumera el estado de los servidores MCP del servidor de aplicaciones de Codex./codex skillsenumera las Skills del servidor de aplicaciones de Codex./codex plugins list,/codex plugins enable <name>y/codex plugins disable <name>administran los plugins nativos de Codex configurados./codex computer-use [status|install]administra el uso del ordenador de Codex./codex helpenumera el árbol de comandos completo.
Para la mayoría de los informes de soporte, comience con /diagnostics [note] en la
conversación donde ocurrió el error. Crea un informe de diagnóstico del Gateway
y, para las sesiones del entorno de ejecución de Codex, solicita aprobación para enviar el
paquete pertinente de comentarios de Codex. Consulte
Exportación de diagnósticos para conocer el modelo de privacidad y el comportamiento
de los chats grupales. Use /codex diagnostics [note] solo cuando quiera
cargar específicamente los comentarios de Codex del hilo adjunto actualmente sin
el paquete completo de diagnósticos del Gateway.
Inspeccionar hilos de Codex localmente
A menudo, la forma más rápida de inspeccionar una ejecución defectuosa de Codex es abrir directamente el hilo nativo de Codex:
codex resume <thread-id>Obtenga el identificador del hilo de la respuesta completada de /diagnostics, /codex binding
o /codex threads [filter].
Para conocer los mecanismos de carga y los límites de diagnóstico en el nivel de ejecución, consulte Entorno de ejecución de Codex.
Orden de autenticación
En el directorio de inicio predeterminado de cada agente, la autenticación se selecciona en este orden:
- Perfiles de autenticación de OpenAI ordenados para el agente, preferiblemente en
auth.order.openai. Ejecuteopenclaw doctor --fixpara migrar los identificadores de perfiles de autenticación heredados de Codex y el orden de autenticación heredado de Codex. - La cuenta existente del servidor de aplicaciones en el directorio de inicio de Codex de ese agente.
- Solo para inicios locales del servidor de aplicaciones mediante stdio,
CODEX_API_KEYy, después,OPENAI_API_KEY, cuando no hay ninguna cuenta del servidor de aplicaciones y aún se requiere autenticación de OpenAI.
Cuando OpenClaw detecta un perfil de autenticación de Codex basado en una suscripción de ChatGPT,
elimina CODEX_API_KEY y OPENAI_API_KEY del proceso secundario de Codex
iniciado. Esto mantiene disponibles las claves de API del Gateway para las incrustaciones o
los modelos directos de OpenAI sin provocar que los turnos nativos del servidor de aplicaciones de Codex se
facturen por accidente mediante la API. Los perfiles explícitos de clave de API de Codex y el
uso alternativo local de claves del entorno mediante stdio utilizan el inicio de sesión del servidor de aplicaciones en lugar del
entorno heredado del proceso secundario. Las conexiones WebSocket al servidor de aplicaciones no reciben el uso
alternativo de claves de API del entorno del Gateway; use un perfil de autenticación explícito o la
cuenta propia del servidor de aplicaciones remoto.
Si un perfil de suscripción alcanza un límite de uso de Codex, OpenClaw registra la
hora de restablecimiento cuando Codex la notifica e intenta usar el siguiente perfil de autenticación
ordenado para la misma ejecución de Codex. Cuando pasa la hora de restablecimiento, el perfil de
suscripción vuelve a ser apto sin cambiar el modelo openai/gpt-*
seleccionado ni el entorno de ejecución de Codex.
Cuando hay plugins nativos de Codex configurados, OpenClaw instala o actualiza
esos plugins mediante el servidor de aplicaciones conectado antes de exponer las aplicaciones propiedad
de los plugins al hilo de Codex. app/list sigue siendo la fuente de referencia de los
identificadores de aplicaciones, la accesibilidad y los metadatos, pero OpenClaw controla la decisión de
habilitación para cada hilo: si la política permite una aplicación accesible de la lista, OpenClaw
envía thread/start.config.apps[appId].enabled = true incluso cuando app/list
indica actualmente que esa aplicación está deshabilitada. Esta ruta no inventa la
instalación de aplicaciones para identificadores desconocidos; OpenClaw solo activa plugins del mercado
con plugin/install y después actualiza el inventario.
Aislamiento del entorno
Para los inicios locales del servidor de aplicaciones mediante stdio, OpenClaw establece CODEX_HOME en un
directorio específico de cada agente para que la configuración, los archivos de autenticación y cuenta, la caché y los datos
de plugins, y el estado nativo de los hilos de Codex no lean ni escriban de forma predeterminada
en el ~/.codex personal del operador. OpenClaw conserva el HOME normal del proceso;
los subprocesos de las ejecuciones de Codex aún pueden encontrar la configuración y los tokens del directorio de inicio del usuario, y
Codex puede detectar entradas compartidas de $HOME/.agents/skills y
$HOME/.agents/plugins/marketplace.json. Con
appServer.homeScope: "user", OpenClaw utiliza en su lugar el directorio de inicio nativo de Codex del usuario
y su cuenta existente sin insertar un perfil de autenticación de OpenClaw.
Si un despliegue requiere un aislamiento adicional del entorno, añada esas
variables a appServer.clearEnv:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"], }, }, }, }, },}appServer.clearEnv solo afecta al proceso secundario del servidor de aplicaciones de Codex
iniciado. OpenClaw elimina CODEX_HOME y HOME de esta lista durante
la normalización del inicio local: CODEX_HOME sigue apuntando al ámbito del
agente o usuario seleccionado, y HOME se sigue heredando para que los subprocesos puedan usar
el estado normal del directorio de inicio del usuario.
Herramientas dinámicas y búsqueda web
Las herramientas dinámicas de Codex usan de forma predeterminada la carga searchable. Normalmente, OpenClaw
no expone herramientas dinámicas que duplican operaciones nativas de Codex en el espacio de trabajo:
read, write, edit, apply_patch, exec, process, update_plan,
get_goal, create_goal, update_goal, tool_call, tool_describe,
tool_search y tool_search_code. Las operaciones de objetivos siguen siendo nativas de Codex,
por lo que OpenClaw no proyecta un segundo almacén de objetivos en los turnos de Codex. La mayoría de las
herramientas de integración restantes de OpenClaw, como mensajería, contenido multimedia, Cron,
navegador, nodos, Gateway y heartbeat_respond, están disponibles mediante
la búsqueda de herramientas de Codex en el espacio de nombres openclaw, lo que reduce el contexto inicial
del modelo. El uso alternativo del shell para turnos restringidos es la excepción para
exec y process cuando una lista de permitidos finita deshabilita el modo de código nativo;
las listas de permitidos del entorno de ejecución y codexDynamicToolsExclude siguen aplicándose.
Las herramientas marcadas con catalogMode: "direct-only", incluida la herramienta computer
de OpenClaw, utilizan en su lugar el espacio de nombres openclaw_direct. Codex trata ese espacio de nombres
como DirectModelOnly, por lo que esas herramientas permanecen visibles directamente para el modelo en los hilos
normales y exclusivos del modo de código, en lugar de atravesar llamadas anidadas de tools.* del modo de código.
La búsqueda web utiliza de forma predeterminada la herramienta alojada web_search de Codex cuando la búsqueda está
habilitada y no se ha seleccionado ningún proveedor administrado. La búsqueda alojada nativa y
la herramienta dinámica administrada web_search de OpenClaw son mutuamente excluyentes para que
la búsqueda administrada no pueda eludir las restricciones nativas de dominios. OpenClaw utiliza la
herramienta administrada cuando la búsqueda alojada no está disponible, se deshabilita explícitamente o
se sustituye por un proveedor administrado seleccionado. OpenClaw mantiene deshabilitada la
extensión independiente web.run de Codex porque el tráfico de producción del servidor de aplicaciones rechaza
su espacio de nombres web definido por el usuario. tools.web.search.enabled: false
deshabilita ambas rutas, al igual que las ejecuciones exclusivas de LLM con las herramientas deshabilitadas. Codex trata
"cached" como una preferencia y la resuelve como acceso externo activo para
los turnos sin restricciones del servidor de aplicaciones. El uso alternativo administrado automático se cierra de forma segura cuando
se establecen allowedDomains nativas, de modo que no se pueda eludir la lista de permitidos.
Los cambios persistentes de la política de búsqueda efectiva rotan el hilo de Codex vinculado
antes del siguiente turno; las restricciones transitorias de cada turno utilizan un hilo
restringido temporal y conservan la vinculación existente para reanudarla posteriormente.
sessions_yield y las respuestas de origen exclusivas de la herramienta de mensajes siguen siendo directas porque
son contratos de control de turnos. sessions_spawn sigue siendo localizable mediante búsqueda para que
la spawn_agent nativa de Codex continúe siendo la superficie principal de subagentes de Codex,
mientras que la delegación explícita de OpenClaw o ACP sigue disponible mediante el
espacio de nombres de herramientas dinámicas openclaw. Las instrucciones de colaboración de Heartbeat
indican a Codex que busque heartbeat_respond antes de finalizar un turno de Heartbeat
cuando la herramienta aún no está cargada.
Establezca codexDynamicToolsLoading: "direct" solo al conectarse a un
servidor de aplicaciones de Codex personalizado que no pueda buscar herramientas dinámicas diferidas o al
depurar la carga completa de herramientas.
Campos de configuración
Campos de nivel superior admitidos del plugin de Codex:
| Campo | Valor predeterminado | Significado |
|---|---|---|
codexDynamicToolsLoading |
"searchable" |
Use "direct" para colocar las herramientas dinámicas de OpenClaw directamente en el contexto inicial de herramientas de Codex. |
codexDynamicToolsExclude |
[] |
Nombres adicionales de herramientas dinámicas de OpenClaw que se omitirán de los turnos del servidor de aplicaciones de Codex. |
codexPlugins |
deshabilitado | Compatibilidad nativa de plugins y aplicaciones de Codex para plugins seleccionados migrados e instalados desde el código fuente. |
sessionCatalog |
habilitado | Detección en la barra lateral de sesiones nativas de Codex en este Gateway y en los nodos emparejados aptos. |
supervision |
deshabilitado | Política de transcripción y control de escritura de sesiones nativas orientada a agentes. |
Campos admitidos de appServer:
| Campo | Valor predeterminado | Significado |
|---|---|---|
transport |
"stdio" |
"stdio" inicia Codex; el valor explícito "unix" se conecta al socket de control local; "websocket" se conecta a url. |
homeScope |
"agent" |
"agent" aísla el estado ordinario del arnés para cada agente de OpenClaw. "user" es una opción de activación explícita que comparte el $CODEX_HOME o ~/.codex nativo, utiliza la autenticación nativa y habilita la gestión de hilos solo para el propietario. El ámbito de usuario admite stdio local o transporte Unix. Para la conexión de supervisión independiente, un valor sin establecer se resuelve como "user" para stdio o Unix y como "agent" para WebSocket. |
command |
binario de Codex administrado | Ejecutable para el transporte stdio. Déjelo sin establecer para utilizar el binario administrado; establézcalo únicamente para una sustitución explícita. |
args |
["app-server", "--listen", "stdio://"] |
Argumentos para el transporte stdio. |
url |
sin establecer | URL del servidor de aplicaciones WebSocket o URL unix://. Una ruta Unix explícita vacía selecciona el socket de control canónico del directorio de inicio del usuario. |
authToken |
sin establecer | Token de portador para el transporte WebSocket. Acepta una cadena literal o SecretInput, como ${CODEX_APP_SERVER_TOKEN}. |
headers |
{} |
Encabezados WebSocket adicionales. Los valores de los encabezados aceptan cadenas literales o valores SecretInput, por ejemplo, x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}". |
clearEnv |
[] |
Nombres de variables de entorno adicionales que se eliminan del proceso de servidor de aplicaciones stdio iniciado después de que OpenClaw construya su entorno heredado. OpenClaw conserva el CODEX_HOME seleccionado y el HOME heredado para las ejecuciones locales. |
codeModeOnly |
false |
Activa la superficie de herramientas exclusiva del modo de código de Codex. Las herramientas dinámicas ordinarias de OpenClaw siguen disponibles mediante llamadas tools.* anidadas; las herramientas openclaw_direct permanecen visibles directamente para el modelo. |
remoteWorkspaceRoot |
sin establecer | Raíz remota del espacio de trabajo del servidor de aplicaciones Codex. Cuando se establece, OpenClaw deduce la raíz local del espacio de trabajo a partir del espacio de trabajo de OpenClaw resuelto, conserva el sufijo del cwd actual bajo esta raíz remota y envía a Codex únicamente el cwd final del servidor de aplicaciones. Si el cwd se encuentra fuera de la raíz resuelta del espacio de trabajo de OpenClaw, OpenClaw aplica un cierre seguro en lugar de enviar una ruta local del Gateway al servidor de aplicaciones remoto. |
requestTimeoutMs |
60000 |
Tiempo de espera para las llamadas del plano de control del servidor de aplicaciones. |
turnCompletionIdleTimeoutMs |
60000 |
Intervalo de inactividad después de que Codex acepta un turno o tras una solicitud del servidor de aplicaciones limitada al turno, mientras OpenClaw espera turn/completed. |
turnAssistantCompletionIdleTimeoutMs |
10000 |
Intervalo de inactividad después de que un elemento final o no relacionado con comentarios del asistente, o la finalización sin procesar del asistente previa a una herramienta, activa la liberación de la salida del asistente mientras OpenClaw sigue esperando turn/completed. Aumentarlo concede a Codex más tiempo para emitir turn/completed antes de que OpenClaw interrumpa y libere el carril de la sesión. |
postToolRawAssistantCompletionIdleTimeoutMs |
300000 |
Protección de inactividad de finalización y progreso utilizada después de una transferencia a una herramienta, la finalización de una herramienta nativa, el progreso sin procesar del asistente posterior a una herramienta, la finalización del razonamiento sin procesar o el progreso del razonamiento, mientras OpenClaw espera turn/completed. Utilice esta opción para cargas de trabajo de confianza o pesadas en las que la síntesis posterior a una herramienta pueda permanecer legítimamente inactiva durante más tiempo que el límite de liberación final del asistente. |
mode |
"yolo" salvo que los requisitos locales de Codex no permitan YOLO |
Preajuste para la ejecución YOLO o revisada por el guardián. Los requisitos de stdio local que omiten danger-full-access, la aprobación never o el revisor user hacen que el valor predeterminado implícito sea el guardián. |
approvalPolicy |
"never" o una política de aprobación del guardián permitida |
Política de aprobación nativa de Codex enviada al iniciar o reanudar el hilo, o al comenzar el turno. Los valores predeterminados del guardián prefieren "on-request" cuando se permite. |
sandbox |
"danger-full-access" o un entorno aislado del guardián permitido |
Modo de entorno aislado nativo de Codex enviado al iniciar o reanudar el hilo. Los valores predeterminados del guardián prefieren "workspace-write" cuando se permite; de lo contrario, "read-only". Cuando hay un entorno aislado de OpenClaw activo, los turnos danger-full-access utilizan workspace-write de Codex con acceso de red derivado de la configuración de salida del entorno aislado de OpenClaw. |
approvalsReviewer |
"user" o un revisor del guardián permitido |
Utilice "auto_review" para permitir que Codex revise las solicitudes de aprobación nativas cuando esté permitido; de lo contrario, utilice guardian_subagent o user. guardian_subagent sigue siendo un alias heredado. |
serviceTier |
sin establecer | Nivel de servicio opcional del servidor de aplicaciones Codex. "priority" habilita el enrutamiento en modo rápido, "flex" solicita el procesamiento flexible, null elimina la sustitución y el valor heredado "fast" se acepta como "priority". |
networkProxy |
deshabilitado | Activa la conectividad de red mediante perfiles de permisos de Codex para los comandos del servidor de aplicaciones. OpenClaw define la configuración permissions.<profile>.network seleccionada y la selecciona con default_permissions en lugar de enviar sandbox. |
experimental.sandboxExecServer |
false |
Opción de activación preliminar que registra un entorno Codex respaldado por el entorno aislado de OpenClaw en el servidor de aplicaciones Codex compatible, de modo que la ejecución nativa de Codex pueda realizarse dentro del entorno aislado de OpenClaw activo. |
appServer.networkProxy es explícito porque cambia el contrato del entorno aislado de Codex. Cuando se habilita, OpenClaw también establece features.network_proxy.enabled
y default_permissions en la configuración del hilo de Codex para que el perfil
de permisos generado pueda iniciar las redes administradas por Codex. De forma predeterminada, OpenClaw
genera un nombre de perfil openclaw-network-<fingerprint> resistente a colisiones
a partir del cuerpo del perfil; use profileName solo cuando se requiera un nombre local estable.
{ plugins: { entries: { codex: { config: { appServer: { sandbox: "workspace-write", networkProxy: { enabled: true, domains: { "api.openai.com": "allow", "blocked.example.com": "deny", }, unixSockets: { "/tmp/proxy.sock": "allow", "/tmp/blocked.sock": "none", }, allowUpstreamProxy: true, proxyUrl: "http://127.0.0.1:3128", }, }, }, }, }, },}Si el entorno de ejecución normal de app-server fuera danger-full-access, habilitar
networkProxy utiliza acceso al sistema de archivos al estilo del espacio de trabajo para el perfil
de permisos generado: la aplicación de las reglas de red administrada por Codex consiste en redes
aisladas, por lo que un perfil de acceso completo no protegería el tráfico saliente.
Las entradas de dominio utilizan allow o deny; las entradas de sockets Unix utilizan los valores
allow o none de Codex.
Tiempos de espera de llamadas dinámicas a herramientas
Las llamadas dinámicas a herramientas propiedad de OpenClaw se limitan independientemente de
appServer.requestTimeoutMs: las solicitudes item/tool/call de Codex utilizan de forma predeterminada un supervisor
de OpenClaw de 90 segundos. Un argumento positivo timeoutMs por llamada
amplía o reduce el límite de esa herramienta específica, con un máximo de 600000 ms.
La herramienta image_generate utiliza agents.defaults.mediaModels.image.timeoutMs
cuando la llamada a la herramienta no proporciona su propio tiempo de espera, o el valor predeterminado
de 120 segundos para la generación de imágenes en caso contrario. La herramienta de comprensión multimedia image
utiliza el valor timeoutSeconds de la entrada tools.media.models[] seleccionada compatible con imágenes o su valor predeterminado de 60 segundos para contenido multimedia; para
la comprensión de imágenes, ese tiempo de espera se aplica a la propia solicitud y no se
reduce por el trabajo de preparación previo. Cuando se agota el tiempo de espera, OpenClaw interrumpe la señal
de la herramienta cuando es compatible y devuelve a Codex una respuesta fallida de herramienta dinámica
para que el turno pueda continuar en lugar de dejar la sesión en processing.
Este supervisor constituye el límite dinámico exterior de item/tool/call; los tiempos de espera de solicitud
específicos del proveedor se ejecutan dentro de esa llamada y mantienen su propia semántica de tiempo de espera.
Después de que Codex acepte un turno y después de que OpenClaw responda a una solicitud
de app-server limitada al turno, el entorno espera que Codex avance en el turno actual
y termine finalmente el turno nativo con turn/completed. Si
app-server permanece inactivo durante appServer.turnCompletionIdleTimeoutMs, OpenClaw
intenta interrumpir el turno de Codex, registra un diagnóstico de tiempo de espera y
libera la vía de sesión de OpenClaw para que los mensajes de chat posteriores no queden
en cola detrás de un turno nativo obsoleto. La mayoría de las notificaciones no terminales del
mismo turno desactivan este breve supervisor porque Codex ha demostrado que el turno
sigue activo.
Las transferencias a herramientas utilizan un límite de inactividad posterior a la herramienta más prolongado: después de que OpenClaw devuelve una
respuesta item/tool/call, después de que se completan elementos de herramientas nativas como
commandExecution, después de finalizaciones custom_tool_call_output sin procesar
y después de avances del asistente sin procesar posteriores a la herramienta, finalizaciones del razonamiento
sin procesar o avances del razonamiento. La protección utiliza
appServer.postToolRawAssistantCompletionIdleTimeoutMs cuando está configurado y
de forma predeterminada usa cinco minutos en caso contrario; ese mismo límite también amplía el
supervisor de progreso durante el intervalo silencioso de síntesis antes de que Codex emita el
siguiente evento del turno actual. Las notificaciones globales de app-server, como las
actualizaciones de límites de frecuencia, no reinician el progreso de inactividad del turno. Las finalizaciones del razonamiento,
las finalizaciones agentMessage de comentarios y el razonamiento sin procesar previo a la herramienta o
el progreso del asistente pueden ir seguidos de una respuesta final automática, por lo que utilizan
la protección de respuesta posterior al progreso en lugar de liberar inmediatamente la vía de sesión.
Solo los elementos agentMessage completados finales o que no sean comentarios y las finalizaciones sin procesar
del asistente previas a la herramienta activan la liberación por salida del asistente: si Codex queda
inactivo sin turn/completed, OpenClaw intenta interrumpir el turno nativo
y libera la vía de sesión. Si otra supervisión del turno gana esa carrera de liberación,
OpenClaw sigue aceptando el elemento final completado del asistente una vez que ya no
queda activa ninguna solicitud nativa, elemento ni finalización de herramienta dinámica y la
liberación por salida del asistente sigue perteneciendo al último elemento completado, sin
ninguna finalización posterior de elementos. Esto puede conservar la respuesta final después de
completarse el trabajo de las herramientas sin reproducir el turno. Los deltas parciales del asistente,
las respuestas anteriores obsoletas y las finalizaciones posteriores vacías no cumplen los requisitos.
Los fallos reproducibles de forma segura de app-server mediante stdio, incluidos los tiempos de espera por inactividad al completar el turno sin pruebas del asistente, de herramientas, de elementos activos ni de efectos secundarios, se reintentan una vez mediante un nuevo intento de app-server. Los tiempos de espera no seguros siguen retirando el cliente de app-server bloqueado y liberando la vía de sesión de OpenClaw; también eliminan la vinculación obsoleta del hilo nativo en lugar de reproducirse automáticamente. Los tiempos de espera del supervisor de finalización muestran texto específico de Codex: los casos reproducibles de forma segura indican que la respuesta puede estar incompleta, mientras que los casos no seguros indican al usuario que verifique el estado actual antes de reintentar. Los diagnósticos públicos de tiempo de espera incluyen campos estructurales como el último método de notificación de app-server, el id/tipo/rol del elemento de respuesta sin procesar del asistente, los recuentos de solicitudes/elementos activos y el estado de supervisión activado; cuando la última notificación es un elemento de respuesta sin procesar del asistente, también incluyen una vista previa limitada del texto del asistente. No incluyen contenido sin procesar de prompts ni de herramientas.
Anulaciones de entorno para pruebas locales
OPENCLAW_CODEX_APP_SERVER_BINomite el binario administrado cuandoappServer.commandno está definido.OPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 se eliminó. Use
plugins.entries.codex.config.appServer.mode: "guardian" en su lugar, o
OPENCLAW_CODEX_APP_SERVER_MODE=guardian para una prueba local puntual. Se
prefiere la configuración para implementaciones reproducibles porque mantiene el comportamiento
del plugin en el mismo archivo revisado que el resto de la configuración del entorno de Codex.
Plugins nativos de Codex
La compatibilidad con plugins nativos de Codex utiliza las propias capacidades de aplicaciones y plugins
de app-server de Codex en el mismo hilo de Codex que el turno del entorno de OpenClaw. OpenClaw
no traduce los plugins de Codex en herramientas dinámicas sintéticas codex_plugin_* de OpenClaw.
codexPlugins afecta únicamente a las sesiones que seleccionan el entorno nativo de Codex.
No afecta a las ejecuciones del entorno integrado, las ejecuciones normales del proveedor OpenAI, las vinculaciones
de conversaciones ACP ni otros entornos.
Configuración mínima migrada:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}La configuración de aplicaciones del hilo se calcula cuando OpenClaw establece una sesión del entorno
de Codex o sustituye una vinculación obsoleta del hilo de Codex; no se vuelve a calcular en
cada turno. Después de cambiar codexPlugins, use /new, /reset o reinicie
el gateway para que las futuras sesiones del entorno de Codex se inicien con el conjunto de aplicaciones
actualizado.
Para obtener información sobre la elegibilidad para la migración, el inventario de aplicaciones, la política de acciones destructivas, las solicitudes de información y los diagnósticos de plugins nativos, consulte Plugins nativos de Codex.
El acceso a aplicaciones y plugins del lado de OpenAI está controlado por la cuenta de Codex con sesión iniciada y, para los espacios de trabajo Business y Enterprise/Edu, por los controles de aplicaciones del espacio de trabajo. Consulte Uso de Codex con su plan de ChatGPT para obtener una descripción general de OpenAI sobre los controles de cuentas y espacios de trabajo.
Uso del ordenador
El uso del ordenador tiene su propia guía de configuración: Uso del ordenador con Codex.
En resumen: OpenClaw no incluye la aplicación de control del escritorio ni ejecuta
acciones de escritorio por sí mismo. Prepara app-server de Codex, verifica que el
servidor MCP computer-use esté disponible y, a continuación, permite que Codex controle las llamadas
a herramientas MCP nativas durante los turnos en modo Codex.
Límites del entorno de ejecución
El entorno de Codex cambia únicamente el ejecutor de agentes integrado de bajo nivel.
- Las herramientas dinámicas de OpenClaw son compatibles. Codex solicita a OpenClaw que ejecute esas herramientas, por lo que OpenClaw permanece en la ruta de ejecución.
- Las herramientas nativas de shell, parches, MCP y aplicaciones de Codex son propiedad de Codex. OpenClaw puede observar o bloquear determinados eventos nativos mediante el relé compatible, pero no reescribe los argumentos de las herramientas nativas.
- Codex controla la Compaction nativa. OpenClaw mantiene una copia de la transcripción para
el historial del canal, la búsqueda,
/new,/resety futuros cambios de modelo o entorno, pero no sustituye la Compaction de Codex por un resumidor de OpenClaw o del motor de contexto. - La generación multimedia, la comprensión multimedia, la conversión de texto a voz, las aprobaciones y la salida de herramientas de mensajería continúan mediante la configuración correspondiente del proveedor/modelo de OpenClaw.
tool_result_persistse aplica a los resultados de herramientas de transcripción propiedad de OpenClaw, no a los registros de resultados de herramientas nativas de Codex.
Para obtener información sobre las capas de hooks, las superficies V1 compatibles, la gestión nativa de permisos, la dirección de colas, los mecanismos de carga de comentarios de Codex y los detalles de Compaction, consulte Entorno de ejecución de Codex.
Solución de problemas
Codex no aparece como un proveedor /model normal: es lo esperado para las configuraciones
nuevas. Seleccione un modelo openai/gpt-*, habilite
plugins.entries.codex.enabled y compruebe si plugins.allow excluye
codex.
OpenClaw utiliza el entorno integrado en lugar de Codex: confirme que la ruta efectiva
sea una ruta oficial exacta de Platform Responses o ChatGPT Responses mediante HTTPS,
que no tenga ninguna anulación de solicitud creada y que el plugin de Codex esté instalado y
habilitado. El prefijo openai/gpt-* por sí solo no es suficiente. Para obtener una prueba estricta durante
las pruebas, establezca agentRuntime.id: "codex" en el proveedor o el modelo; el uso forzado de Codex falla
en lugar de recurrir a una alternativa cuando la ruta o el entorno son incompatibles.
El entorno de ejecución de OpenAI Codex recurre a la ruta de la clave de API: recopile un extracto censurado del gateway que muestre el modelo, el entorno de ejecución, el proveedor seleccionado y el fallo. Solicite a los colaboradores afectados que ejecuten este comando de solo lectura en su host de OpenClaw:
( pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth' if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true else journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \ | grep -E -i "$pattern" || true fi) | sed -E \ -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \ -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \ | tail -200Los extractos útiles suelen incluir openai/gpt-5.6-sol o openai/gpt-5.6-luna,
Runtime: OpenAI Codex, agentRuntime.id o harnessRuntime,
candidateProvider: "openai" y un resultado 401, Incorrect API key o
No API key. Una ejecución corregida debería mostrar la ruta OAuth de OpenAI
en lugar de un fallo simple de clave de API de OpenAI.
La configuración de referencias de modelos heredadas de Codex permanece: ejecute openclaw doctor --fix.
Doctor reescribe las referencias de modelos heredadas como openai/*, elimina las
asignaciones obsoletas de sesión y del entorno de ejecución de todo el agente, y conserva
las anulaciones existentes de perfiles de autenticación.
El servidor de aplicaciones se rechaza: use un servidor de aplicaciones estable de Codex de 0.143.0
mediante el 0.144.6 incluido. Las versiones preliminares, las versiones con sufijos de compilación y las
versiones más recientes no validadas se rechazan porque OpenClaw valida los esquemas generados
con la versión incluida del servidor de aplicaciones.
/codex status no puede conectarse: compruebe que el Plugin codex
esté habilitado, que plugins.allow lo incluya cuando haya una lista de permitidos
configurada y que cualquier appServer.command, url, authToken o
encabezado personalizado sea válido.
El servidor de aplicaciones de Codex utiliza demasiada memoria: distinga primero los dos
procesos. OpenClaw ejecuta el servidor de aplicaciones local de Codex como un proceso secundario
de Rust independiente. NODE_OPTIONS=--max-old-space-size=... solo cambia el
montículo de V8 de Node.js del Gateway; no limita ni amplía Codex. Las instalaciones administradas
del Gateway ya eligen un montículo de V8 adaptativo, y aumentarlo puede dejar menos memoria del
host para Codex. Consulte Solución de problemas de memoria del Gateway
para la presión del Gateway e inspeccione la memoria del host o del contenedor para el proceso secundario de Codex.
El Codex incluido no tiene límite de montículo ni de RSS, ni un retraso configurable para descargarlo cuando está inactivo. Después de que se dé de baja el último cliente, un hilo inactivo puede permanecer cargado hasta 30 minutos. En hosts con recursos limitados, reduzca la distribución en abanico de subagentes nativos de Codex antes de aumentar el montículo del Gateway:
{ plugins: { entries: { codex: { config: { appServer: { args: ["-c", "agents.max_threads=3", "app-server", "--listen", "stdio://"], }, }, }, }, },}Esta configuración limita los hilos secundarios nativos para el backend multiagente
predeterminado del Codex incluido. Si habilita explícitamente la versión 2 multiagente de Codex, use
features.multi_agent_v2.max_concurrent_threads_per_session=3; el límite de la versión 2
incluye el hilo raíz y no puede combinarse con agents.max_threads.
Para proporcionar más margen de memoria a Codex, aumente la asignación de memoria
del host, el contenedor o el cgroup. Un límite estricto del sistema operativo puede finalizar
Codex en lugar de aplicarle contrapresión.
La detección de modelos es lenta: reduzca
plugins.entries.codex.config.discovery.timeoutMs o deshabilite la detección.
Consulte la Referencia del entorno de ejecución de Codex.
El transporte WebSocket falla inmediatamente: compruebe appServer.url,
authToken, los encabezados y que el servidor de aplicaciones remoto utilice la misma
versión del protocolo del servidor de aplicaciones de Codex. El transporte WebSocket de Codex
sigue siendo experimental y no es compatible; prefiera la entrada/salida estándar administrada
o el socket de control Unix local.
Las herramientas nativas de shell o de parches se bloquean con Native hook relay unavailable: el hilo de Codex sigue intentando usar un identificador
de retransmisión de hooks nativos que OpenClaw ya no tiene registrado. Se trata de un problema
del transporte de hooks nativos de Codex, no de un fallo del backend ACP, del proveedor,
de GitHub ni del comando de shell. Inicie una sesión nueva en el chat afectado con
/new o /reset y vuelva a intentar un comando inofensivo.
Si funciona una vez, pero la siguiente llamada a una herramienta nativa vuelve a fallar,
considere /new solo como una solución temporal: copie el prompt
en una sesión nueva después de reiniciar el servidor de aplicaciones de Codex o el
Gateway de OpenClaw para que se descarten los hilos antiguos y se vuelvan a crear
los registros de hooks nativos.
Las llamadas a herramientas de Codex crean demasiados procesos de hooks de corta duración: establezca
plugins.entries.codex.config.appServer.loopDetectionPreToolUseRelay: false
y reinicie el Gateway. Esto deshabilita únicamente el subproceso PreToolUse de Codex
que se utiliza para la detección de bucles de OpenClaw y su marcador de ausencia de políticas.
Las retransmisiones obligatorias de before_tool_call y de políticas de herramientas
de confianza permanecen habilitadas.
Un modelo que no es de Codex utiliza el entorno de ejecución integrado: es lo esperado,
a menos que la política del entorno de ejecución del proveedor o del modelo lo dirija a otro
entorno de ejecución. Las referencias simples de proveedores distintos de OpenAI permanecen
en su ruta normal de proveedor en el modo auto.
Computer Use está instalado, pero las herramientas no se ejecutan: compruebe
/codex computer-use status desde una sesión nueva. Si una herramienta informa
Native hook relay unavailable, utilice el procedimiento de recuperación de retransmisión de hooks nativos
descrito anteriormente.
Consulte Computer Use de Codex.
Contenido relacionado
- Referencia del entorno de ejecución de Codex
- Entorno de ejecución de Codex
- Supervisión de Codex
- Plugins nativos de Codex
- Computer Use de Codex
- Entornos de ejecución de agentes
- Proveedores de modelos
- Proveedor de OpenAI
- Ayuda de OpenAI Codex
- Plugins de entornos de ejecución de agentes
- Hooks de Plugin
- Exportación de diagnósticos
- Estado
- Pruebas