taybenlor/runno

Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP.

解决的问题

Runno 允许开发者在浏览器或 Node.js 环境中直接运行多种编程语言(如 Python、Ruby 和 C++)的代码,而无需用户安装复杂的本地工具链或服务器。它提供了一个安全、隔离的环境来执行小型代码示例,特别适用于编程教育。

工作原理

Runno 利用 WebAssembly (WASM) 和 WebAssembly System Interface (WASI) 创建一个虚拟化、类 Unix 的沙箱环境。它模拟标准操作系统接口,包括基于内存字节数组的虚拟文件系统,防止代码访问主机的真实文件系统或网络。这使得它能够在保持严格隔离的前提下,安全地执行编译为 WASM 的二进制文件。

适用人群

  • 教育工作者和技术写作者:希望在文档或教程中嵌入可运行代码示例,使内容更具交互性的用户。
  • 开发者:需要在 JavaScript 运行时中安全执行不受信任代码的用户。
  • AI 工具构建者:使用 Model Context Protocol (MCP) 的开发者,希望让 AI 代理通过 @runno/mcp 服务器执行代码。

主要亮点

  • 多语言支持:支持 Python、Ruby、QuickJS、SQLite、Clang (C)、Clang++ (C++) 和 PHP-CGI。
  • 浏览器原生支持:提供 Web Components,可无需后端服务器轻松集成到网页中。
  • 安全沙箱:使用虚拟机和虚拟文件系统,无网络访问权限,实现执行隔离。
  • MCP 集成:包含 MCP 服务器实现,使 AI 代理具备代码执行能力。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目