Ejecutar comandos locales de forma segura
En la aplicación de escritorio, el asistente puede ejecutar comandos y pruebas en la carpeta de trabajo de tu chat. Cómo funciona eso en el chat, lo lees en Acceso local a archivos. En esta página configuras cuándo puede hacerlo sin preguntar y con qué nivel de aislamiento se ejecutan los comandos.
Abrir la configuración de comandos
Abre en un chat 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 confiables 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 inocuos se inician sin tarjeta:
mkdir,ls,cat,head,tail,wc,grep,find(sin-execni-delete),touch,pwd,treey los controles de versión (--version,-vo-Vdenode,npm,npx,python,pipyaischool-python). No hacen más que lo que las herramientas de archivos integradas ya hacen sin preguntar. Se ejecutan en la sandbox sin red y solo con rutas dentro de la carpeta de trabajo, incluso después de seguir enlaces (sin rutas absolutas,~ni..). Si un enlace apunta fuera de la carpeta, sí aparece una tarjeta. Para eso se necesita una sandbox (macOS) y comandos locales, pero no Permitir ejecución automática por parte de tu administrador. En el panel Comandos aparece entonces Automático (comando inocuo). También una lista entre llaves, comomkdir -p src/{components,utils}, se inicia sin tarjeta: la app la separa en rutas individuales y las comprueba todas. - Cada tarjeta muestra el comando exacto y, en acciones en línea, la dirección exacta. Debajo aparece en texto más pequeño la explicación del asistente.
- Si la sandbox está disponible y tu administrador permite la ejecución automática, una tarjeta para un comando que se ejecuta en la sandbox también tiene el botón A partir de ahora automáticamente en la sandbox en esta carpeta. Eso cambia la carpeta a Automáticamente en sandbox, de modo que los siguientes comandos se inician sin tarjeta. Los comandos que necesitan red vuelven a pedir permiso 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 pide red muestra una sola vez Confiar en este proyecto. Eso ejecuta el comando, cambia la carpeta a 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 red o que se ejecuten fuera de la sandbox seguirán pidiendo permiso. Después de Ejecutar o Rechazar, la pregunta no vuelve 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 administración de este equipo.
Guardar comandos confiables
En un comando, elige Permitir siempre en esta carpeta y luego Exactamente este comando o Todo lo que empiece con esto. Los comandos guardados se iniciarán a partir de entonces sin preguntar. Los comandos con caracteres especiales (como ; | > $) siempre piden permiso.
Las reglas guardadas aparecen en la configuración de comandos, en Siempre permitido 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.
- Permitir red: determina si los comandos tienen 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 preguntará si quieres ejecutar exactamente ese comando con red. Así que no necesitas 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 aunque Node.js no esté instalado en tu equipo. Si tienes Node.js instalado tú mismo, la app usa esa versión. Excepción: un proyecto que inicia Electron por sí mismo (electron .) necesita una versión de Node.js que hayas instalado tú mismo.
Permitir instalaciones de paquetes sin preguntar
Activa en Configuración de comandos para esta carpeta el interruptor Permitir instalaciones de paquetes sin preguntar. Las instalaciones de paquetes con nombre se inician entonces 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 muestran 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 si tu administrador permite la ejecución automática. Si no, 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 permanece activo, como npm run dev para un pequeño proyecto React con Vite. Para eso rigen 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, la tarjeta muestra: "Permanece activo 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 navegador y Detener. Pueden ejecutarse como máximo 4 servidores a la vez. Los servidores se detienen cuando los paras o cierras la app.
En la sandbox sin red, un servidor solo puede escuchar en este equipo (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. El asistente usa entonces el servidor web integrado de la app:
- La carpeta solo es visible en este equipo, 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 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 un enlace localhost en una respuesta, se abrirá en el navegador integrado. Los demás enlaces se abren en tu navegador predeterminado.
- También puedes escribir tú mismo cualquier dirección web.
- El navegador tiene una sesión propia y separada: allí no has iniciado sesión en AI-Corporate, los sitios web no reciben permisos como cámara o micrófono y no se pueden hacer descargas.
- Mientras haya abierto un menú o un cuadro de diálogo de la app, la página se oculta temporalmente.
Ejemplo:
Crea en esta carpeta una pequeña app React con Vite y un contador. Instala las dependencias, inicia el servidor de desarrollo y muestra el resultado en el navegador.
Dejar 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. Eso se envía al modelo de IA.
- Una página en este equipo (
localhosto127.0.0.1) la observa el asistente sin preguntar. - En cualquier otro sitio web, por ejemplo una página en la que hayas iniciado sesión, el asistente muestra primero una tarjeta: "El asistente quiere observar onedrive.live.com." Haz clic en Permitir observar o en Rechazar. Lo volverá a preguntar cada vez.
- Si la página, después de tu permiso, va a otro sitio web, el asistente no lee nada.
- Solo en una página de este equipo el asistente hace clic y escribe por sí mismo, para probar lo que ha creado. En otros sitios web no hace clic, no escribe y no navega. No recibe cookies ni contraseñas.
- En el modo sin conexión, el asistente solo observa páginas en este equipo.
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 publicar un proyecto en línea.
- Las acciones en esta carpeta, como guardar una versión, se inician sin preguntar. Los archivos que parecen secretos (como archivos
.env, claves o tokens en el código, incluidas las claves de Google API que empiezan porAIza) nunca se incluyen en una versión. El asistente avisa si omite algo. - Las acciones en línea (descargar un proyecto, obtener la versión más reciente, publicarlo y crear un repositorio de GitHub) muestran primero 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 se va a crear un nuevo repositorio público, la tarjeta muestra una advertencia. Al publicar, la tarjeta muestra qué archivos se enviarán. Elige Ejecutar o Rechazar.
- Vincular un repositorio fuera de github.com también pide primero permiso.
Cómo vincular GitHub y publicar un proyecto, lo lees en Programar con vibra.
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, publicar y GitHub) no funcionan entonces. Guardar versiones y mostrar una página web sencilla sí funcionan.
Configuración para administradores
Los administradores pueden desactivar los comandos locales o la ejecución automática para todos en el entorno. Lo hacen en el entorno de administración en Funciones (a nivel de entorno), 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 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 pide permiso y no puedes 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 la carpeta de trabajo y no puede iniciar otros programas. Si no hay nada configurado, sigue a Permitir comandos locales. Sin sandbox (Windows), solo está disponible si los comandos locales están activados, y cada vez pide permiso.