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 代理具備程式碼執行能力。
相關
- 專案
- 專案
- 專案
- 專案
- 專案