Volver a actualizaciones
Nuevo releaseAug 20, 2026

yoloai v0.11.0

Tu agente es un riesgo de seguridad, así que trátalo como tal. yoloAI hace bien el sandboxing de agentes de IA.

Compartir

yoloAI

Ejecutor en sandbox para agentes de codificación con IA. Sin fatiga de permisos, sin credenciales en el sandbox, sin cambios en tu proyecto hasta que los apruebes.

CI Nightly Audit Release Go Reference License: MIT

Los agentes de codificación con IA funcionan mejor con las protecciones desactivadas, y esa es una forma terrible de ejecutarlos en tu máquina real. yoloAI le da al agente un sandbox desechable donde puede editar cualquier cosa y ejecutar cualquier cosa, sin supervisión. Tu proyecto, tus credenciales y tu red permanecen bajo tu control. Cuando el agente termina, revisa el diff y aplica lo que quieras conservar.

Tú                           Sandbox                        Tu proyecto
 │                              │                                │
 ├─ yoloai new fix-bug .        ├─ copia del proyecto en sandbox │
 │                              │                                │
 ├─ << tus prompts >>           ├─ el agente trabaja libremente  │
 │                              │  (sin solicitudes de permiso)  │
 │                              │                                │
 ├─ yoloai diff fix-bug         ├─ muestra qué cambió            │
 │                              │                                │
 ├─ yoloai apply fix-bug        │                                ├─ parches aplicados
 │  (tú eliges cuáles)          │                                │
 │                              │                                │
 ├─ yoloai destroy fix-bug      ├─ destruye el sandbox           │

¿Por qué?

Las solicitudes de permisos existen porque los agentes cometen errores. Después de la centésima aprobación/denegación dejas de leerlas, y --dangerously-skip-permissions está a un agente confundido de un día muy malo. yoloAI reduce el radio de impacto hasta que las solicitudes de permisos sean innecesarias:

  • Tus archivos están seguros. El agente trabaja en una copia aislada de tu proyecto. diff muestra exactamente qué cambió, apply parchea tu proyecto real preservando los commits individuales, y tus originales nunca cambian hasta que apliques.
  • Tus secretos están seguros. El sandbox se inicia desde un entorno mínimo construido localmente; las variables de entorno del host permanecen en el host. Las credenciales llegan como montajes de archivos de solo lectura, nunca como variables de entorno. Cuando aplica el intermediario de credenciales (Claude, Gemini y Codex hoy, activado por defecto), la clave de API permanece completamente en el lado del host: un proxy local la inyecta en el camino hacia el proveedor, de modo que incluso un agente completamente comprometido no tiene nada que exfiltrar.
  • Tu red es tuya. --network-isolated restringe la salida a los endpoints de API del agente más los dominios que permitas. --network-none elimina la red por completo.
  • Tu máquina está aislada. Elige tu nivel de comodidad, desde namespaces de Linux hasta gVisor y VMs de hardware.

Consulta Seguridad para ver el modelo completo, incluidas las limitaciones honestas.

Instalación

Binario precompilado (recomendado)

Descarga el archivo para tu plataforma desde la última versión, extrae el binario yoloai y colócalo en tu PATH:

# Linux x86-64 (sustituye por linux_arm64 / darwin_amd64 / darwin_arm64 según sea necesario).
# Establece VERSION con la etiqueta que se muestra en la página de la última versión enlazada arriba, sin
# la "v" inicial — p. ej., VERSION=1.2.3 para la etiqueta v1.2.3.
VERSION=X.Y.Z
curl -fsSL "https://github.com/kstenerud/yoloai/releases/download/v${VERSION}/yoloai_${VERSION}_linux_amd64.tar.gz" \
  | tar -xz yoloai
sudo install yoloai /usr/local/bin/

Cada archivo también incluye completaciones de shell, el LICENSE y el registro de cambios. Las versiones están firmadas con cosign (checksums.txt) y llevan procedencia de compilación de GitHub (gh attestation verify yoloai_… --repo kstenerud/yoloai). También se adjuntan paquetes Debian/RPM a cada versión.

Homebrew (macOS / Linux)

brew install --cask kstenerud/tap/yoloai

Usando go install

# Última versión
go install github.com/kstenerud/yoloai/cmd/yoloai@latest

# Última versión de desarrollo (inestable)
go install github.com/kstenerud/yoloai/cmd/yoloai@main

Requiere Go 1.26+. El binario se coloca en $GOPATH/bin (normalmente ~/go/bin).

Desde el código fuente

git clone https://github.com/kstenerud/yoloai.git
cd yoloai
git checkout "$(git describe --tags --abbrev=0)"   # etiqueta de la versión más reciente; o permanece en main para la versión de desarrollo
make build
sudo install yoloai /usr/local/bin/

Es un único binario Go sin dependencias de tiempo de ejecución más allá del backend que elijas. En la primera ejecución, yoloAI construye su imagen base y crea ~/.yoloai/ (o el directorio al que apuntes con --data-dir).

Inicio rápido

No interactivo

# Autentícate (yoloAI detecta las credenciales existentes automáticamente)
export ANTHROPIC_API_KEY=sk-ant-...   # Claude Code
export GEMINI_API_KEY=...             # Gemini CLI
# O simplemente deja que detecte tu sesión ya autenticada

# 1. Crea un sandbox. El agente comienza a trabajar inmediatamente cuando proporcionas un prompt
yoloai new fix-bug ./my-project --prompt "arregla los tests que fallan"

# 2. Mira qué cambió el agente
yoloai diff fix-bug

# 3. Aplica las partes buenas a tu proyecto real
yoloai apply fix-bug

# 4. Desecha el sandbox
yoloai destroy fix-bug

Interactivo

yoloai new exploration ./my-project -a
# Estás dentro del agente, ejecutándose en tmux dentro del sandbox.
#   Ctrl-B, D para desacoplar.
#   yoloai attach exploration para reconectar.

Iterando

Para sesiones más largas, trabaja en un bucle: dile al agente que haga commits a medida que avanza, y ejecuta yoloai apply desde otra terminal siempre que quieras traer los commits terminados a tu proyecto real. Cada apply trae solo los commits nuevos desde el último. Cuando estés satisfecho con el resultado, haz push como de costumbre y destruye el sandbox. Consulta la Guía de uso para ver el flujo de trabajo completo.

Demo

Creando un sandbox, enviando un prompt al agente y aplicando los resultados:

https://github.com/user-attachments/assets/9d6740b4-a34e-4253-82ec-cb0e4c7a8bd9

Características

Sandboxing

  • Seis backends: Docker, Podman, containerd (Kata), Apple Container, Tart y Seatbelt. Funciona en Linux, macOS y Windows (WSL2).
  • Fuerza de aislamiento seleccionable por sandbox, desde runc hasta gVisor y VMs Kata (QEMU o Firecracker).
  • Política de red por sandbox: abierta, lista de permitidos o ninguna.
  • Entorno mínimo dentro del sandbox. Cualquier cosa del host es una opción explícita (--env, --dir).
  • Límites de recursos (--cpus, --memory) y reenvío de puertos (--port).
  • Copias de workdir económicas: clonaciones de árbol completo en macOS (APFS clonefile), reflinks por archivo en sistemas de archivos Linux que los soporten (btrfs, XFS). Los sistemas de archivos sin reflink (ext4) reciben una copia normal.
  • Se respeta .gitignore: cualquier cosa ignorada NO se copia al sandbox (práctica de seguridad para credenciales de desarrollo en disco).

Credenciales

  • Detecta automáticamente tus inicios de sesión de agente existentes: claves de API, credenciales de suscripción, Llavero de macOS.
  • El intermediario de credenciales mantiene la clave de API en el lado del host (Claude, Gemini y Codex hoy); las credenciales de Aider y OpenCode se entregan como montajes de archivos de solo lectura.

Flujo de trabajo

  • Copia/diff/apply con git ejecutándose en el lado del sandbox, de modo que los repositorios con filtros y hooks se comporten correctamente.
  • Aplica a tu manera: reproduce commits (por defecto), aplasta en un único parche, exporta archivos .patch, elige commits por ref, o --dry-run primero.
  • Ciclo de vida completo: crear, adjuntar, detener, reiniciar, esperar, clonar, restablecer, destruir. El estado del agente sobrevive a detenciones y reinicios.
  • Ejecuciones únicas sin cabeza para scripts y CI: yoloai run --prompt ... --rm, con salida --json en cada comando.
  • Cuando el agente sale, su panel de tmux cae a un shell para que puedas inspeccionar el sandbox.

Integración

  • Claude Code, Codex, Gemini CLI, Aider y OpenCode integrados, más un modo shell para cualquier otra cosa.
  • VS Code: adjunta al contenedor, o abre un Remote Tunnel desde dentro del sandbox (--vscode-tunnel).
  • MCP en ambas direcciones: yoloai mcp serve permite que un agente externo controle sandboxes como herramientas; yoloai mcp proxy ejecuta servidores MCP dentro de un sandbox.
  • Perfiles: imágenes y valores predeterminados por proyecto (Dockerfile + configuración, con herencia).
  • Extensiones: añade tus propios subcomandos como scripts de shell envueltos en YAML (yoloai x).
  • Incrustable: la CLI es una capa delgada sobre una API Go pública.
  • Un único binario estático. El estado vive en ~/.yoloai/ (reubicable con --data-dir).

Infraestructura soportada

Backends de sandbox

BackendHosts soportadosDependencias
dockerLinux, macOS, Windows (WSL2)Docker Engine, Docker Desktop u OrbStack
podmanLinux, macOSPodman (brew install podman en macOS)
containerdLinuxKata Containers
applemacOS (Apple Silicon)Apple Container
tartmacOS (Apple Silicon)Tart (brew install cirruslabs/cli/tart)
seatbeltmacOS (cualquiera)Ninguna (usa sandbox-exec integrado)

Nota: Tart proporciona una VM completa de macOS, lo que te permite ejecutar simuladores dentro del sandbox.

Modos de aislamiento

Opcionalmente, mejora el runtime OCI para un aislamiento más fuerte. Los modos gVisor están disponibles en docker y podman; los modos de VM vienen con el backend containerd.

ModoDescripción
containerrunc por defecto: namespaces y cgroups estándar de Linux
container-enhancedKernel en espacio de usuario (gVisor/runsc): intercepción de syscalls, sin necesidad de KVM
container-privilegedTodas las capacidades, seccomp/AppArmor sin confinar. Úsalo para Docker-in-Docker y Compose
vmKata Containers (QEMU): aislamiento con VM de hardware
vm-enhancedKata + Firecracker microVM: aislamiento con VM ligera
# Usa gVisor para todos los sandboxes nuevos
yoloai config set isolation container-enhanced

# O por sandbox
yoloai new task . --isolation container-enhanced

Agentes

ModoDescripción
claudeEjecuta Claude Code mediante clave de API o credenciales de suscripción (por defecto)
codexEjecuta Codex mediante clave de API o credenciales de suscripción
geminiEjecuta Gemini CLI mediante clave de API o credenciales de suscripción
aiderEjecuta Aider (tu configuración se copia)
opencodeEjecuta OpenCode (tu configuración se copia)
shellEjecuta un shell de tmux con todas las credenciales del agente sembradas
idleEjecuta un proceso inactivo para permitir el proxy MCP

Usa yoloai system agents para listar los agentes disponibles.

Aprende más

Estado

Beta pública. El flujo de trabajo principal es estable y se ejercita a diario; las interfaces pueden cambiar entre versiones 0.x, y cada cambio disruptivo está documentado en CAMBIOS-DISRUPTIVOS. Se agradecen los comentarios.

Licencia

MIT

Categorías