La aprobación decide si un comando empieza; el ejecutor de caja decide dónde se ejecuta. Docker usa una imagen, el molde de la caja, para crear un contenedor aislado. Solo el área de trabajo entra en /trabalho, sin red ni variables de la terminal (valores con nombre, como las claves guardadas en esa sesión). «saída 0» significa que el comando terminó sin errores.
Objetivo: Ejecutar una lectura con el ejecutor de caja y encontrar “[na caixa, saída 0]” en la respuesta.
01 · Un comando aprobado, un contenedor
La caja es opcional y se aplica a cada comando de INTELECTO.
Haz clic en cada bloque del diagrama para ver qué hace.
Haz clic en cada parte para ver qué función cumple.
02 · Qué puede alcanzar la caja
Haz clic en cada etapa para ver qué hacer.
1. Área de trabajo
Solo ~/.intelecto2/area se monta como carpeta de trabajo en /trabalho. La bóveda, ~/.ssh y otras carpetas personales no se montan.
2. Red
El comando Docker usa --network none: una tarea que depende de internet no funciona en este ejecutor. En Ubuntu, instala el paquete docker.io, dale acceso al usuario y cierra la sesión para volver a entrar. En macOS, instala Docker Desktop desde docker.com. Comprueba que funcione con hello-world antes de la conversación.
3. Recursos
El código define límites de memoria, CPU, procesos, tiempo y salida máxima. Esto reduce el daño de un error, pero un contenedor no es una máquina virtual.
4. Modelo
Ollama responde fuera del contenedor. La caja aísla el comando que ejecuta el asistente, no el proceso completo de la conversación.
03 · Actívalo y compruébalo
Ubuntu: instala el paquete docker.io, vuelve a entrar en la sesión y compruébalo con hello-world. En macOS, instala Docker Desktop desde docker.com; luego ejecuta el mismo hello-world. El manual oficial de Docker está en los enlaces adicionales.
Ubuntu · instalar Docker
sudo apt install -y docker.io
sudo usermod -aG docker $USER
# Cierra la sesión y vuelve a entrar antes de la prueba.
macOS · instalar Docker Desktop
https://www.docker.com/products/docker-desktop/
Terminal · comprobar Docker después de volver a entrar
docker run --rm hello-world
Terminal · preparar la imagen (molde de la caja)
docker pull python:3.12-slim
Terminal · crear un archivo de prueba en el área
echo oi > ~/.intelecto2/area/teste.txt
Terminal · conversar con el ejecutor caja
cd ~/intelecto-v2
python3 -m intelecto conversar --provedor mock --executor caixa
En la conversación · revisar el área y la caja
ejecuta: ls /trabalho
ejecuta: pwd
Terminal · ver el registro
python3 -m intelecto auditoria -n 20
Ejemplo del repositorio
intelecto> Feito. Resultado de rodar_comando: [na caixa, saída 0] /trabalho
Capturada con --executor caixa y cerebro simulado. Con un modelo real, el texto alrededor cambia; busca [na caixa, saída 0] /trabalho.
04 · Pon a prueba la caja
Sigue el orden y marca cada punto solo después de comprobar el resultado.
Mira la etiqueta de salida
6
Con Docker encendido, abre la conversación con --provedor mock --executor caixa y pide “ejecuta: pwd”. El mock llama a ejecutar_comando. Si usas un modelo real, cuenta como prueba solo si llama a la herramienta.
Listo cuando: La salida contiene “[na caixa, saída 0] /trabalho” en una línea; eso prueba que el comando se ejecutó dentro de la caja.
Comprueba el alcance
5
Antes de comparar, ejecuta en la terminal echo oi > ~/.intelecto2/area/teste.txt. En la conversación con executor caixa, pide “ejecuta: ls /trabalho”. Revisa también la auditoría. No copies contraseñas al área.
Listo cuando: La respuesta de ls /trabalho muestra teste.txt, el archivo creado en tu área; la auditoría registra el comando.
05 · Comprueba si lo entendiste
Elige antes de abrir el comentario. Si te equivocas, usa el enlace para repasar.
Pregunta 1 de 3
¿Qué parte de la operación aísla el executor caixa?
Correcto
El executor se llama para cada comando. El cerebro y la conversación quedan fuera del contenedor.