Ejecutar comandos locales de forma segura
En la aplicación de escritorio, el asistente puede ejecutar comandos y pruebas en el directorio de trabajo de tu chat. Cómo funciona esto en el chat, lo lees en Acceso local a archivos. En esta página configuras cuándo puede hacerlo sin preguntar y qué nivel de aislamiento tienen los comandos.
Abrir la configuración de comandos
En un chat, abre el panel Comandos y elige Configuración de comandos para esta carpeta. La configuración se aplica por carpeta.
¿Cuándo puede el asistente ejecutar un comando?
Elige uno de estos tres modos:
- Preguntar siempre: apruebas cada comando.
- Comandos de confianza automáticamente: los comandos que hayas guardado se inician sin preguntar. Los demás comandos siguen pidiendo permiso.
- Automáticamente en sandbox: todo se inicia sin preguntar, pero en un entorno aislado.
En cada modo también se aplican estas reglas:
- Los comandos inofensivos se inician sin tarjeta:
mkdir,ls,cat,head,tail,wc,grep,find(sin-execo-delete),touch,pwd,treey comprobaciones de versión (--version,-vo-Vdenode,npm,npx,python,pipyaischool-python). No hacen más de lo que ya hacen las herramientas de archivos integradas sin preguntar. Se ejecutan en la sandbox sin red y solo con rutas dentro del directorio de trabajo, incluso después de seguir enlaces (sin rutas absolutas,~o..). Si un enlace apunta fuera de la carpeta, sí aparece una tarjeta. Para ello se necesita una sandbox (macOS y Linux) y comandos locales, pero no Permitir ejecución automática de tu administrador. En el panel Comandos entonces aparece Automático (comando inofensivo). También una lista entre llaves, comomkdir -p src/{components,utils}, se inicia sin tarjeta: la app la desglosa en rutas separadas y las comprueba todas. - Cada tarjeta muestra el comando exacto y, en acciones en línea, la dirección exacta. Debajo aparece en letra más pequeña la explicación del asistente.
- Si la sandbox está disponible y tu administrador permite la ejecución automática, entonces una tarjeta para un comando que se ejecuta en la sandbox también tendrá el botón Desde ahora automáticamente en la sandbox en esta carpeta. Eso pone la carpeta en Automáticamente en sandbox, para que los siguientes comandos se inicien sin tarjeta. Los comandos que necesiten red seguirán preguntando una vez más, salvo que se permitan instalaciones de paquetes.
- La primera tarjeta en una carpeta que se ejecuta en la sandbox y no requiere red muestra una sola vez Confiar en este proyecto. Eso ejecuta el comando, pone la carpeta en Automáticamente en sandbox y activa Permitir instalaciones de paquetes sin preguntar. Después, pruebas y compilaciones como
npm test,npm run buildynode --testse inician sin tarjeta, en la sandbox sin red. Los comandos que necesiten más red o que se ejecuten fuera de la sandbox seguirán preguntando. Tras Ejecutar o Rechazar, la pregunta no vuelve a aparecer en esta carpeta; el modo se cambia en la configuración de comandos. Si la ejecución automática está desactivada, cada tarjeta indicará si lo hace tu administrador o la política de gestión de este equipo.
Guardar comandos de confianza
En un comando, elige Permitir siempre en esta carpeta y luego Exactamente este comando o Todo lo que empiece así. Los comandos guardados se iniciarán a partir de entonces sin preguntar. Los comandos con caracteres especiales (como ; | > $) siempre pedirán permiso.
Las reglas guardadas aparecen en la configuración de comandos, bajo Permitidos siempre en esta carpeta. Allí también puedes eliminarlas.
Sandbox y red
- Usar sandbox: los comandos solo pueden escribir en esta carpeta. Esta opción está activada por defecto en macOS y Linux.
- Permitir red: determina si los comandos tienen acceso a internet. Esta opción está desactivada por defecto. Sin sandbox, los comandos siempre tienen acceso a la red.
Cada tarjeta de comando muestra si la sandbox y la red están activadas.
Si Permitir red está desactivado y el asistente quiere descargar algo, por ejemplo con npm install, la tarjeta del comando te preguntará si quieres ejecutar exactamente ese comando con red. Así que no hace falta activar la red para toda la carpeta.
En Windows todavía no hay sandbox disponible.
Instalar paquetes
La app incluye su propio Node.js con npm. Por eso, comandos como node, npm y npx también funcionan si Node.js no está instalado en tu ordenador. Si tienes Node.js instalado tú mismo, la app usará esa versión. Excepción: un proyecto que inicia Electron por sí mismo (electron .) necesita un Node.js que hayas instalado tú mismo.
Permitir instalaciones de paquetes sin preguntar
En Configuración de comandos para esta carpeta, activa el interruptor Permitir instalaciones de paquetes sin preguntar. Entonces las instalaciones de paquetes con nombre se iniciarán sin tarjeta: npm install <nombre> y npm install desde package.json, pnpm, yarn o bun con install o add, y pip install <nombre> (también mediante uv). Siempre se ejecutan en la sandbox, con red. Los demás comandos siguen el modo que hayas elegido para la carpeta.
Estas instalaciones todavía mostrarán una tarjeta:
- iniciadores de proyectos como
npm create vite@latestynpx create-…, porque ejecutan su propio código; pip install .,pip install -r requirements.txt, instalaciones desde otro registro (--registry,-i,--index-url) y paquetes desde una dirección git, URL o ruta.
El interruptor solo funciona con una sandbox (macOS y Linux) y si tu administrador permite la ejecución automática. De lo contrario, no puedes activarlo.
Los paquetes instalados de esta forma nunca ejecutan sus propios scripts de instalación (npm se ejecuta con --ignore-scripts). Los paquetes de Python solo se instalan como wheels ya preparados.
Servidores locales y el navegador integrado
El asistente también puede iniciar un servidor de desarrollo que siga ejecutándose, como npm run dev para un pequeño proyecto React con Vite. Para ello se aplican las mismas reglas que para otros comandos: apruebas el comando exacto, o se inicia mediante una regla guardada o automáticamente en la sandbox. En lugar del tiempo máximo de ejecución, en la tarjeta aparece "Sigue ejecutándose como servidor local hasta que lo detengas."
El servidor sigue ejecutándose después de que el asistente haya respondido. En el panel Comandos, la tarjeta muestra el estado Servidor en ejecución, con los botones Abrir en el navegador y Detener. Pueden ejecutarse como máximo 4 servidores a la vez. Los servidores se detienen cuando los detienes tú o cierras la app.
En la sandbox sin red, un servidor solo puede escuchar en este ordenador (localhost). Cómo instala paquetes el asistente, lo lees en Instalar paquetes.
Mostrar una página web sencilla
Para una página web normal (un index.html con CSS y JavaScript, sin paso de compilación) no hace falta ningún comando. En ese caso, el asistente usa el servidor web integrado de la app:
- La carpeta solo es visible en este ordenador, en
http://127.0.0.1con un puerto aleatorio. - Los archivos ocultos, como
.gity.env, nunca se muestran. - Si cambia un archivo, la página se recarga automáticamente.
Para esto no aparece ninguna tarjeta de aprobación. El servidor aparece en el panel Comandos, con Abrir en el navegador y Detener, y cuenta para el máximo de 4 servidores.
El resultado lo ves en el navegador integrado: el botón Navegador (el icono del globo) a la derecha en la barra superior. El panel se abre junto al chat, con atrás, adelante, recargar (detener durante la carga), una barra de direcciones y Abrir en tu navegador predeterminado.
- El asistente abre el navegador por sí mismo para mostrar el resultado de un servidor local. Eso solo puede hacerse con direcciones locales, como
http://localhost:5173. - Si haces clic en una respuesta sobre un enlace localhost, se abrirá en el navegador integrado. Los demás enlaces se abrirán en tu navegador predeterminado.
- También puedes escribir tú mismo cualquier dirección web.
- El navegador tiene su propia sesión independiente: allí no has iniciado sesión en AI-Public, los sitios web no reciben permisos como cámara o micrófono y no se pueden descargar archivos.
- Mientras haya abierto un menú o un cuadro de diálogo de la app, la página se ocultará temporalmente.
Ejemplo:
Crea en esta carpeta una pequeña app React con Vite con un contador. Instala las dependencias, inicia el servidor de desarrollo y muestra el resultado en el navegador.
Hacer que el asistente observe
Si le pides al asistente que mire la página en el navegador integrado, leerá la dirección, el título, el texto visible, una captura de pantalla y los últimos mensajes de error de la página. Todo eso se envía al modelo de IA.
- Una página en este ordenador (
localhosto127.0.0.1) la observa el asistente sin preguntar. - En cualquier otro sitio web, por ejemplo una página en la que has iniciado sesión, el asistente primero muestra una tarjeta: "El asistente quiere mirar en onedrive.live.com." Haz clic en Permitir observación o en Rechazar. Te lo pedirá cada vez.
- Si la página, después de tu permiso, pasa a otro sitio web, el asistente no lee nada.
- Solo en una página en este ordenador el asistente hace clic y escribe por sí mismo, para probar lo que ha creado. En otros sitios web no hace clic, no escribe ni navega. No obtiene cookies ni contraseñas.
- En el modo sin conexión, el asistente solo observa páginas en este ordenador.
Versiones y GitHub
El asistente tiene un git integrado. Así que no necesitas instalar git, ni siquiera en Windows. El asistente puede guardar versiones, mostrar qué ha cambiado, crear ramas y poner un proyecto en línea.
- Las acciones en esta carpeta, como guardar una versión, se inician sin preguntar. Los archivos que parezcan secretos (como archivos
.env, claves o tokens en el código, incluidas claves de Google API que empiezan porAIza) nunca se incluyen en una versión. El asistente informa si omite algo. - Las acciones en línea (descargar un proyecto, obtener la última versión, ponerlo en línea y crear un repositorio de GitHub) primero muestran una tarjeta con la dirección exacta y las etiquetas Integrado en la app y Red activada. Si la dirección no es github.com o si se va a hacer público un nuevo repositorio, la tarjeta mostrará una advertencia. Al ponerlo en línea, la tarjeta muestra qué archivos se enviarán. Elige Ejecutar o Rechazar.
- Vincular un repositorio fuera de github.com también requiere permiso primero.
Cómo vincular GitHub y poner un proyecto en línea, lo lees en Programar con Vibe coding.
En el modo sin conexión, los comandos siempre se ejecutan en la sandbox sin red. Las instalaciones de paquetes con red y las acciones en línea del git integrado (descargar, obtener, poner en línea y GitHub) no funcionan entonces. Guardar versiones y mostrar una página web sencilla sí funcionan.
Configuración para administradores
Los administradores pueden desactivar para toda la organización los comandos locales o la ejecución automática. Lo hacen en el entorno de administración en Funciones (a nivel de la organización), en la tarjeta Aplicación de escritorio:
- Permitir comandos locales: si está desactivado, el asistente no puede ejecutar comandos. Las acciones en línea del git integrado tampoco funcionarán. Guardar versiones y crear ramas sí seguirán funcionando: solo modifican archivos en la carpeta, igual que las herramientas de archivos.
- Permitir ejecución automática: si está desactivado, cada comando pedirá permiso y no podrás activar Permitir instalaciones de paquetes sin preguntar.
- Permitir Python de la app para archivos de Office: para plantillas, gráficos y análisis. Este Python funciona sin internet, solo escribe en el directorio de trabajo y no puede iniciar otros programas. Si no hay nada configurado, sigue esto Permitir comandos locales. Sin sandbox (Windows) solo existe si los comandos locales están activados, y cada vez pide permiso.