Guía
Ejecutar comandos de ChatGPT en un sandbox o Docker en tu Mac
ChatGPT en la web no puede ejecutar comandos en tu Mac por sí solo. Con TunnelGPT, permites la ejecución de comandos en un proyecto y eliges dónde se ejecutan: en un contenedor Linux aislado en Docker, sin red externa, o con la ejecución nativa avanzada dentro de un sandbox de macOS. ChatGPT lanza cada comando como un trabajo, lee su estado y su salida, y tú decides si sus cambios llegan al proyecto.
Esta guía explica en qué se diferencian los dos entornos, cómo se relaciona la ejecución con el acceso a archivos, cómo lanzar un primer comando de bajo riesgo y cuándo encaja mejor el sandbox de Codex de OpenAI o el sandbox de Docker para la app de escritorio de ChatGPT. Si aún no has conectado una carpeta, consulta cómo conectar ChatGPT a archivos locales.
Revisado el 25 de octubre de 2026
Revisamos la documentación de sandboxing de OpenAI y la página de integración de Docker con ChatGPT el 25 de octubre de 2026. Esas páginas no indican fecha, y las etiquetas y la disponibilidad pueden cambiar según tu cuenta, tu plan y la versión de la app.
¿Contenedor Linux o macOS nativo?
En TunnelGPT, abre Desarrollo remoto en la conexión de un proyecto. El panel ofrece dos entornos, cada uno con su propio interruptor Permitir y su propia elección en Puede ejecutar: Comandos (una lista de argumentos que se ejecuta sin shell) o Scripts de shell (ejecutados con /bin/sh, /bin/bash o, en el Mac, /bin/zsh).
| Entorno | Dónde se ejecuta | Red durante los trabajos | Ideal para |
|---|---|---|---|
| Contenedor Linux aislado (recomendado) | Un contenedor Docker con Rust y Cargo, Node 22, Python 3, git y herramientas de compilación. Se ejecuta con un usuario sin privilegios y con el sistema raíz en solo lectura. | Ninguna fuera del contenedor. Las dependencias se descargan solo en un paso de preparación aparte, si lo permites. | Compilaciones, pruebas, scripts y herramientas multimedia portables. El renderizado con Chromium e HyperFrames necesita este entorno. |
| Este Mac (avanzado) | Tu Mac, con tu usuario, dentro de un sandbox de macOS (Seatbelt, mediante sandbox-exec) que lo deniega todo por defecto. | Salida solo hacia loopback. Los servicios que escuchan pueden ser accesibles desde tu red local. | Trabajo que solo macOS puede comprobar, como compilaciones nativas de Rust o Tauri. |
Los trabajos nativos pueden leer las carpetas de herramientas que muestra el panel, escribir en las carpetas de caché indicadas y leer las carpetas adicionales que apruebes. No pueden leer el resto de tu carpeta personal, tu llavero, tus claves SSH ni los datos de TunnelGPT. Antes de activarlo, marcas Entiendo cómo funciona la ejecución nativa en este Mac. La app lo dice sin rodeos: el sandbox de Apple no es una máquina virtual. La ejecución nativa no admite Chromium.
Ejecutar es un permiso distinto del acceso a archivos
La conexión de un proyecto empieza en solo lectura. Editar archivos y ejecutar comandos son dos pasos más. Las herramientas de comandos y trabajos de TunnelGPT necesitan Permitir escritura activado en la conexión, y además cada entorno necesita su propio permiso de ejecución en el panel de Desarrollo remoto. En solo lectura, ChatGPT no puede iniciar trabajos, ejecutar comandos ni publicar los cambios de un trabajo: esas herramientas responden LOCAL_MCP_WRITE_MODE_REQUIRED y no ejecutan nada. Activar la edición, por sí sola, nunca permite a ChatGPT ejecutar comandos.
Copia privada o trabajo directo
En Dónde trabajan los comandos, cada entorno tiene dos modos:
- Copia privada (más segura). El trabajo usa una copia privada de los archivos actuales del proyecto, sin
.env, credenciales ni carpetassecrets. Después, ChatGPT puede ver qué ha cambiado y publicar los archivos de texto nuevos o modificados mediante las herramientas de archivos con confirmación. Cada archivo se escribe solo si el del proyecto sigue igual que cuando empezó el trabajo. Los borrados, los enlaces y las rutas con aspecto de credencial se informan, pero nunca se publican. - Trabajo directo en la carpeta del proyecto. Los comandos leen y escriben el proyecto real, sin instantánea, registro ni recibos. Debes confirmar que entiendes que los comandos pueden leer y modificar los archivos del proyecto, incluidos
.env, credenciales y carpetassecretsanidadas, que su contenido puede aparecer en las respuestas a ChatGPT y que TunnelGPT no puede deshacer esos cambios. Mantén el proyecto bajo control de versiones o con copia de seguridad.
Paso a paso: un primer comando de bajo riesgo
Necesitas TunnelGPT en un Mac con Apple Silicon, Docker 24 o posterior en marcha y una conexión de proyecto que ya funcione en ChatGPT. La configuración guiada cubre el túnel de OpenAI y la clave restringida. Para la primera prueba, usa un proyecto pequeño y desechable.
- Activa Permitir escritura en la conexión. La ejecución no está disponible en una conexión de solo lectura.
- Abre Desarrollo remoto en ese proyecto.
- Activa Permitir en Contenedor Linux aislado (recomendado) y marca solo Comandos en Puede ejecutar.
- Deja Copia privada (más segura) en Dónde trabajan los comandos.
- No actives Permitir la descarga de dependencias durante Preparar salvo que el proyecto necesite los paquetes de su archivo de bloqueo.
- Pulsa Preparar y después Activar. Espera a que el entorno indique Listo.
- Pide a ChatGPT un comando inofensivo, por ejemplo mostrar la versión de una herramienta.
Llama a execution_status. Después usa run_command en linux-dev, modo command,
con argv ["python3", "--version"]. Consulta get_job hasta que el trabajo
termine y muéstrame la salida de tail_job. No cambies ningún archivo.Si ves una versión y el estado SUCCEEDED, todo el recorrido funciona. Después, prueba el comando de pruebas del propio proyecto. Activa los scripts de shell, la ejecución nativa o el trabajo directo solo cuando una tarea lo necesite.
Consulta el resultado de un trabajo antes de repetirlo
Cada comando se convierte en un trabajo con un identificador. Una respuesta del chat puede terminar, o la conexión cortarse, mientras el trabajo sigue ejecutándose en tu Mac. Pide a ChatGPT que consulte ese trabajo en lugar de lanzar otra vez lo mismo. Estas son las herramientas de TunnelGPT que usa:
execution_statusenumera los entornos que activaste, su modo de trabajo, su red y si están listos. Nunca ejecuta nada.run_commandlanza un comando o un script de shell y devuelve al instante el identificador del trabajo. Si se pierde la respuesta, repetir la misma clave de idempotencia devuelve el mismo trabajo, no una segunda ejecución.get_jobylist_jobsinforman del estado:SUCCEEDED,FAILED,CANCELLED,INTERRUPTEDoREFUSED. Un trabajo lento o silencioso sigue en marcha.tail_jobrecorre por páginas la salida combinada;job_outputlee solo stdout o solo stderr.job_changes,job_read_fileyjob_publish_changesrevisan y publican los cambios de una copia privada.cancel_jobes la única forma de detener un trabajo sano. La lentitud, el silencio o una conexión perdida nunca lo cancelan.start_jobejecuta uno de seis alias fijos de npm, comonpm-testonpm-lint, sin shell y sin argumentos.
Límites de red y de datos
- Los trabajos Linux se ejecutan sin conexión. Arrancan con
--network nonede Docker, así que solo funciona loopback, y los gestores de paquetes están en modo sin conexión. - La descarga de dependencias va aparte. Si la permites, solo el paso de preparación tiene red y solo se ejecutan preparadores fijos:
cargo fetch --locked,npm ci --ignore-scriptsypip installsolo con wheels. A ese paso solo se copian los archivos de bloqueo y los manifiestos. - Los trabajos nativos no llegan a otros equipos. La salida se limita a loopback y los nombres de host no se resuelven. Un servicio que arranque un trabajo sí puede aceptar conexiones desde tu red local, así que no lo ejecutes si no quieres esa exposición.
- No se pasan credenciales. TunnelGPT no entrega a los comandos claves, tokens ni datos propios.
- Los recursos tienen tope. El panel muestra los límites de CPU, memoria y procesos de cada entorno.
- Lo que ChatGPT lee, lo recibe OpenAI. Tus archivos se quedan en el Mac, pero la salida de los comandos, los registros y el contenido de archivos que ChatGPT solicita viajan a OpenAI como parte de la conversación. No es IA sin conexión. Consulta nuestra política de privacidad.
Nada de esto hace que ejecutar comandos sea seguro en todos los casos. Un comando que apruebas puede hacer todo lo que el entorno permita: borrar archivos en un proyecto en modo directo, llenar el disco o ejecutar código de una dependencia que preparaste. Revisa el permiso antes de activarlo y desactívalo cuando termines la tarea.
Cuándo encaja mejor el sandbox de Codex o la integración de Docker
| Opción | Dónde se ejecutan los comandos | Superficie de ChatGPT | Encaja mejor si |
|---|---|---|---|
| Sandbox de Codex | En tu ordenador, en la app de escritorio de ChatGPT, Codex CLI o la extensión para IDE. En macOS usa Seatbelt; el modo por defecto es workspace-write. | Codex, no ChatGPT en la web. Consume tu uso de Codex. | Quieres un agente de programación en tu editor o terminal con sus propios modos de aprobación. |
| Docker Sandbox con la app de escritorio de ChatGPT | Un sandbox de Docker creado con la CLI sbx al que se accede por SSH, con una carpeta del equipo montada. | Codex en la app de escritorio de ChatGPT, mediante una conexión SSH remota. | Ya usas Codex y quieres que trabaje en un entorno aislado y no directamente en tu equipo. |
| TunnelGPT | Un contenedor Linux sin red en Docker, o un sandbox de macOS en tu Mac. | El chat normal de ChatGPT en la web o el móvil, mediante un Secure MCP Tunnel. | Trabajas en el chat de ChatGPT y quieres comandos aprobados junto a los archivos de tu proyecto local. |
La página de Docker advierte que ChatGPT gestiona los permisos de Codex por separado del Docker Sandbox. Si lo que quieres es llevar tus propios servidores MCP al chat de ChatGPT, en lugar de comandos, consulta cómo usar servidores MCP locales con ChatGPT.
Solución de problemas
ChatGPT dice que hace falta el modo de escritura. La conexión está en solo lectura. Activa Permitir escritura en esa conexión de TunnelGPT y vuelve a intentarlo.
El entorno no está Listo. Para Linux, inicia Docker y pulsa Preparar. Para el Mac, pulsa Comprobar herramientas y repara las que señale el panel. Si el panel indica que algo ha cambiado desde que lo activaste, revisa la configuración y pulsa Actualizar.
Una compilación falla porque no puede descargar un paquete. Los trabajos Linux no tienen red a propósito. Permite la descarga de dependencias durante Preparar y pide a ChatGPT que llame a prepare_environment antes de compilar.
Se rechaza un script largo. La petición y el script tienen límites de tamaño. Pide a ChatGPT que guarde el script en un archivo del proyecto y que ejecute ese archivo.
¿TunnelGPT es un producto de OpenAI?
No. TunnelGPT es software independiente, sin afiliación con OpenAI. Cuesta $9.97 USD en un único pago por la Licencia Perpetua de la versión 1, tras 3 días gratis: 72 horas consecutivas desde tu primera conexión correcta. Consulta los precios.
Siguientes pasos
- Conecta ChatGPT a una carpeta de proyecto local
- Haz la configuración inicial
- Consulta el precio y la licencia
Fuentes
- OpenAI: Sandboxing
- Docker: integración de ChatGPT con Docker Sandboxes
- OpenAI: Secure MCP Tunnels
- Política de privacidad de TunnelGPT