- "Bash for Agents" creado por Vercel
- Entorno virtual de Bash basado en TypeScript diseñado para agentes de IA que necesitan un entorno Bash seguro y aislado en sandbox
- Funciona sobre un sistema de archivos virtual en memoria (InMemoryFs), en un entorno de ejecución aislado donde no es posible acceder al disco real
- De forma predeterminada, el acceso a la red está bloqueado y, cuando hace falta, se admiten solicitudes de red seguras basadas en URLs permitidas mediante
curl
- Solo puede acceder al sistema de archivos proporcionado e incluye funciones para evitar bucles infinitos y ejecución recursiva
- No admite la ejecución de binarios ni de WASM
- Al usar la API, el aislamiento se hace por cada
exec(), por lo que las variables de entorno, funciones y directorio de trabajo no se conservan entre llamadas (solo persiste el estado del sistema de archivos)
- Permite una configuración detallada mediante argumentos de creación, como archivos iniciales, variables de entorno, directorio de trabajo y límites de ejecución
- Admite carga diferida de archivos (Lazy file loading), por lo que el contenido puede generarse solo cuando se necesite mediante funciones síncronas o asíncronas
- Con la función de comandos personalizados (
defineCommand) se pueden agregar comandos custom basados en TypeScript
- A través de
CommandContext se ofrece acceso a fs, cwd, env, stdin y exec
- Incluye 4 implementaciones de sistema de archivos
- InMemoryFs: basado completamente en memoria
- OverlayFs: lectura desde disco, escritura en memoria
- ReadWriteFs: permite lectura y escritura en el disco real
- MountableFs: monta varios sistemas de archivos por ruta para construir un espacio de nombres unificado
- Compatible con
bash-tool como herramienta de integración con AI SDK
- Diseñado para que, junto con
generateText(), los modelos de IA puedan ejecutar comandos Bash de forma segura
- Ofrece una API compatible con Vercel Sandbox
- La clase
Sandbox puede usarse con la misma interfaz que @vercel/sandbox
- Si hace falta, facilita cambiar a un sandbox real basado en VM
- Incluye el CLI
just-bash
- Se ejecuta sobre OverlayFS y todo lo escrito se descarta de la memoria al finalizar
- La opción
--json permite salida programática de resultados
- Incluye modo de shell interactivo (
pnpm shell)
- Por defecto permite acceso a internet; puede bloquearse con
--no-network
- Comandos compatibles
- Incluye la mayoría de los comandos estándar de Bash para manipulación de archivos, procesamiento de texto, tratamiento de datos, compresión y red
- También admite de forma opcional comandos de procesamiento de datos como
jq, sqlite3 y python3 (basado en Pyodide)
- Como funciones del shell, implementa la mayor parte de la sintaxis de Bash, incluidos pipes, redirecciones, condicionales, bucles, funciones, variables y patrones glob
- La estructura de directorios predeterminada ofrece un entorno similar a Unix con
/home/user, /bin, /usr/bin, /tmp, etc.
- El control de acceso a red usa una lista blanca basada en URL y método HTTP
- La opción
dangerouslyAllowFullInternetAccess permite acceso total
- El soporte para Python y SQLite se activa de forma opcional
- Python basado en Pyodide y SQLite basado en WASM (
sql.js) garantizan una ejecución completamente aislada en sandbox
- Las funciones de protección de ejecución permiten definir límites como profundidad de funciones, cantidad de comandos y número de iteraciones de bucles
- Licencia Apache-2.0
Aún no hay comentarios.