Repolode
taybenlor

taybenlor/runno

基于 WebAssembly 的沙箱运行时,可在浏览器、Node 或 MCP 服务中运行多种语言的代码。

Star
775
Fork
48
未关闭 Issue
38
最近提交
7天前

这是什么?

Runno 是一组用于在沙箱中运行多种编程语言代码的 JavaScript 包。它基于 WASI(WebAssembly 系统接口)模拟类 Unix 环境,并提供虚拟文件系统,程序完全在 JavaScript 内运行,不会访问宿主机的真实文件或网络。

@runno/runtime 提供 Web Components,可让网页直接在浏览器中运行代码示例,无需服务端。@runno/sandbox 可在 Node 等 JavaScript 运行时中执行代码,@runno/wasi 则用于运行 WASI 二进制文件。@runno/mcp 将沙箱封装为 MCP 服务器,供 AI 助手调用执行代码。

目前支持 Python、Ruby、QuickJS、SQLite、C、C++ 和 PHP CGI。由于 WASI 不提供完整的 Linux 环境,它更适合处理通过标准输入输出交互的小型程序,安装外部包也较为困难。

核心功能

  • 01支持 Python、Ruby、JavaScript、C、C++、SQLite 等多种语言。
  • 02提供 Web Components,可在网页中嵌入可运行的代码示例。
  • 03通过沙箱 API 在 Node 等 JavaScript 运行时中执行代码。
  • 04内置 MCP 服务器,供 AI 助手调用执行代码。
  • 05使用虚拟文件系统,不访问真实文件或网络。

适用场景

  • 让编程课程中的示例无需安装工具即可在浏览器中运行。
  • 在用户机器上将小段代码放入沙箱中安全测试。
  • 通过 MCP 为 AI 助手提供一个隔离的代码执行环境。

快速上手

  1. 1

    安装 sandbox 包

    npm install @runno/sandbox
  2. 2

    在脚本中运行 Ruby 代码

  3. 3

    将 MCP 服务器添加到 MCP 客户端配置中

使用前须知

  • 支持的编程语言仅限于已通过 WASI 编译为 WebAssembly 的语言。
  • WASI 不提供完整的 Linux 环境,在 Runno 中安装软件包或模块较为困难。
  • 最适合使用标准输入和标准输出的小型程序。

收录于专题

标签

常见问题

runno 是什么?
基于 WebAssembly 的沙箱运行时,可在浏览器、Node 或 MCP 服务中运行多种语言的代码。 Runno 是一组用于在沙箱中运行多种编程语言代码的 JavaScript 包。它基于 WASI(WebAssembly 系统接口)模拟类 Unix 环境,并提供虚拟文件系统,程序完全在 JavaScript 内运行,不会访问宿主机的真实文件或网络。
runno 可以免费使用吗?用的什么许可证?
runno 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
runno 还在维护吗?
活跃维护中。runno 最近一次提交是在 2026年10月31日。
runno 适合用来做什么?
让编程课程中的示例无需安装工具即可在浏览器中运行。 在用户机器上将小段代码放入沙箱中安全测试。 通过 MCP 为 AI 助手提供一个隔离的代码执行环境。
runno 怎么安装和运行?
安装 sandbox 包: npm install @runno/sandbox 在脚本中运行 Ruby 代码 将 MCP 服务器添加到 MCP 客户端配置中
在哪里获取 runno?
源代码和安装说明在 GitHub 上:https://github.com/taybenlor/runno

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目