Repolode
taybenlor

taybenlor/runno

Un entorno aislado de WebAssembly para ejecutar código en varios lenguajes desde el navegador, Node o un servidor MCP.

Estrellas
775
Forks
48
Issues abiertos
38
Último commit
hace 7 días

¿Qué es?

Runno es un conjunto de paquetes de JavaScript para ejecutar código en distintos lenguajes dentro de un entorno aislado. Usa WASI (WebAssembly System Interface) para emular un entorno similar a Unix con un sistema de archivos virtual, de modo que los programas se ejecutan íntegramente en JavaScript, sin acceder a los archivos reales ni a la red del equipo anfitrión.

El paquete @runno/runtime ofrece componentes web que permiten ejecutar ejemplos de código directamente en una página, sin necesidad de un servidor. El paquete @runno/sandbox ejecuta código en Node y otros entornos de ejecución de JavaScript, mientras que @runno/wasi ejecuta binarios WASI en cualquiera de esos entornos. @runno/mcp expone el entorno aislado como servidor MCP para que los asistentes de IA puedan ejecutar código.

Los entornos de ejecución compatibles incluyen Python, Ruby, QuickJS, SQLite, C, C++ y PHP CGI. Como WASI no ofrece un entorno Linux completo, Runno es más adecuado para programas pequeños que leen de stdin y escriben en stdout; además, instalar paquetes externos resulta difícil.

Funciones clave

  • 01Ejecuta código en varios lenguajes, como Python, Ruby, JavaScript, C, C++ y SQLite.
  • 02Ofrece componentes web para insertar ejemplos de código ejecutables en páginas del navegador.
  • 03Ejecuta código en Node y otros entornos de JavaScript mediante una API de entorno aislado.
  • 04Incluye un servidor MCP para que los asistentes de IA puedan ejecutar código.
  • 05Usa un sistema de archivos virtual sin acceso a archivos reales ni a la red.

Casos de uso

  • Permitir que los ejemplos de cursos de programación se ejecuten en el navegador sin instalar herramientas.
  • Probar pequeños fragmentos de código de forma segura en un entorno aislado en el equipo del usuario.
  • Ofrecer a un asistente de IA un entorno aislado donde ejecutar código mediante MCP.

Inicio rápido

  1. 1

    Instala el paquete sandbox

    npm install @runno/sandbox
  2. 2

    Ejecuta código Ruby desde tu script

  3. 3

    Añade el servidor MCP a la configuración de tu cliente MCP

Antes de usarlo

  • Los lenguajes compatibles se limitan a los que ya se han compilado a WebAssembly con WASI.
  • WASI no proporciona un entorno Linux completo, y es difícil instalar paquetes o módulos dentro de Runno.
  • Es más adecuado para programas pequeños que usan STDIN y STDOUT.

En colecciones

Temas

Preguntas frecuentes

¿Qué es runno?
Un entorno aislado de WebAssembly para ejecutar código en varios lenguajes desde el navegador, Node o un servidor MCP. Runno es un conjunto de paquetes de JavaScript para ejecutar código en distintos lenguajes dentro de un entorno aislado. Usa WASI (WebAssembly System Interface) para emular un entorno similar a Unix con un sistema de archivos virtual, de modo que los programas se ejecutan íntegramente en JavaScript, sin acceder a los archivos reales ni a la red del equipo anfitrión.
¿runno es gratuito? ¿Qué licencia tiene?
runno es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿runno sigue mantenido?
Mantenimiento activo. El último commit de runno fue el 31 oct 2026.
¿Para qué puedo usar runno?
Permitir que los ejemplos de cursos de programación se ejecuten en el navegador sin instalar herramientas. Probar pequeños fragmentos de código de forma segura en un entorno aislado en el equipo del usuario. Ofrecer a un asistente de IA un entorno aislado donde ejecutar código mediante MCP.
¿Cómo se instala runno?
Instala el paquete sandbox: npm install @runno/sandbox Ejecuta código Ruby desde tu script Añade el servidor MCP a la configuración de tu cliente MCP
¿Dónde consigo runno?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/taybenlor/runno

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados