Biblioteca y servicio alojado que ofrece a agentes de IA entornos aislados similares a Linux, con archivos, procesos, shell y red, basados en WebAssembly y V8.
capsulerun/runtime
Runtime para ejecutar código no confiable de agentes de IA en sandboxes aislados de WebAssembly, con límites de CPU, memoria y tiempo por tarea.
- Estrellas
- 303
- Forks
- 22
- Issues abiertos
- 0
- Último commit
- hace 26 días
¿Qué es?
Capsule es un runtime para ejecutar código no confiable en entornos aislados. Cada tarea se ejecuta en su propio sandbox de WebAssembly, separado del sistema anfitrión. Los desarrolladores marcan funciones de Python o TypeScript/JavaScript con un wrapper de tarea, y el runtime compila el archivo a WebAssembly y lo ejecuta.
A cada tarea se le puede asignar un nivel de cómputo, un límite de RAM, un tiempo de espera y un número de reintentos. El consumo de CPU se controla mediante la medición de fuel de WebAssembly. El acceso a archivos se limita a directorios permitidos explícitamente, en modo de solo lectura o lectura y escritura, y el acceso a la red saliente se restringe a una lista de hosts permitidos. Las variables de entorno solo se exponen si se incluyen en la lista. Cada ejecución devuelve un objeto JSON con el resultado, los detalles de los errores y métricas de ejecución, como la duración, el fuel consumido y el pico de memoria.
El proyecto ofrece una CLI (capsule run, capsule build) y SDK de Python y npm, incluida una función run() para llamar a tareas aisladas desde el código anfitrión. Los paquetes de Python que dependen de extensiones C deben tener una compilación para wasm32-wasi para poder ejecutarse en el sandbox.
Funciones clave
- 01Ejecuta cada tarea en su propio sandbox de WebAssembly, aislado del sistema anfitrión.
- 02Limita el uso de CPU mediante la medición de fuel y permite configurar la RAM y el tiempo de espera de cada tarea.
- 03Restringe el acceso a archivos a los directorios indicados, en modo de solo lectura o lectura y escritura.
- 04Permite conexiones HTTP salientes solo a dominios incluidos en la lista de permitidos.
- 05Admite tareas de Python y TypeScript/JavaScript con reintentos automáticos.
- 06Devuelve un resultado JSON estructurado con métricas de duración, fuel y memoria.
Casos de uso
- Ejecutar código generado por LLM en un intérprete de código sin exponer la máquina anfitriona.
- Ejecutar llamadas a herramientas desde agentes de IA con límites estrictos para archivos, hosts de red y variables de entorno.
- Empaquetar funciones pequeñas de estilo serverless que necesiten límites de recursos previsibles.
- Llamar a código aislado de Python o TypeScript desde una aplicación anfitriona mediante run().
Inicio rápido
- 1
Instala el paquete de Python
pip install capsule-run - 2
Crea hello.py con una tarea main que devuelva un saludo
- 3
Ejecuta el archivo con Capsule CLI
capsule run hello.py
Antes de usarlo
- El README solo incluye ejemplos de Python y TypeScript, por lo que no se cubren otros lenguajes.
- Compilar los archivos fuente añade varios segundos de latencia en la primera ejecución, a menos que los precompiles con capsule build.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es runtime?
- Runtime para ejecutar código no confiable de agentes de IA en sandboxes aislados de WebAssembly, con límites de CPU, memoria y tiempo por tarea. Capsule es un runtime para ejecutar código no confiable en entornos aislados. Cada tarea se ejecuta en su propio sandbox de WebAssembly, separado del sistema anfitrión. Los desarrolladores marcan funciones de Python o TypeScript/JavaScript con un wrapper de tarea, y el runtime compila el archivo a WebAssembly y lo ejecuta.
- ¿runtime es gratuito? ¿Qué licencia tiene?
- runtime es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿runtime sigue mantenido?
- Mantenimiento activo. El último commit de runtime fue el 12 oct 2026.
- ¿Para qué puedo usar runtime?
- Ejecutar código generado por LLM en un intérprete de código sin exponer la máquina anfitriona. Ejecutar llamadas a herramientas desde agentes de IA con límites estrictos para archivos, hosts de red y variables de entorno. Empaquetar funciones pequeñas de estilo serverless que necesiten límites de recursos previsibles. Llamar a código aislado de Python o TypeScript desde una aplicación anfitriona mediante run().
- ¿Cómo se instala runtime?
- Instala el paquete de Python: pip install capsule-run Crea hello.py con una tarea main que devuelva un saludo Ejecuta el archivo con Capsule CLI: capsule run hello.py
- ¿Dónde consigo runtime?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/capsulerun/runtime
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un entorno aislado de WebAssembly para ejecutar código en varios lenguajes desde el navegador, Node o un servidor MCP.
Biblioteca de Python que ejecuta código generado por LLM en entornos aislados mediante una API común para Docker, Kubernetes, Podman y backends locales de Linux o Windows.
Un runtime de WebAssembly y CLI para ejecutar aplicaciones y código de agentes de IA en entornos rápidos, ligeros y aislados.
Infraestructura de código abierto para ejecutar código generado por IA en sandboxes aislados en la nube, con SDKs para JavaScript y Python.
SDK de Python y JS/TS para ejecutar código generado por IA en sandboxes seguros en la nube y recuperar sus resultados.