TR

taybenlor/runno

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

775 stars 48 forks Качество 73 Тренд 26MIT

taybenlor/runno — это кандидат на MCP-сервер, импортированный из https://github.com/taybenlor/runno.

Обзор

taybenlor/runno — это кандидат на MCP-сервер, импортированный из https://github.com/taybenlor/runno.

Обзор (машинный перевод)

👨 💻 Используй Runno 👉 Runno.dev

📖 Документация 👉 Runno.dev

Runno

Runno — это коллекция JavaScript-пакетов для выполнения кода на различных языках внутри песочницы. Она состоит из следующих упаковок:

  • @runno/runtime — веб-компоненты и безголовые инструменты для запуска примеров кода в браузере.
  • @runno/sandbox — защищённая песочница для выполнения примеров кода в Node и других JS Runtime.
  • @runno/wasi — изоморфный пакет для запуска WebAssembly WASI бинарных файлов внутри песочницы.
  • @runno/mcp — MCP-сервер для запуска кода с использованием пакета @runno/sandbox.

Есть также устаревший пакет для Python под названием runno Это работает как песочница.

Этот проект реализуется на базе WASI — системы веб-ассемблера Интерфейс. Он предоставляет стандартный способ взаимодействия программ с операционной системы. Эмулируя этот интерфейс, мы можем создать фальшивую файловую систему и операционной системе, все работающие на JavaScript.

Использование @runno/runtime

Пакет @runno/runtime предоставляет веб-компоненты для выполнения кода в браузере.

Это очень удобно для обучения программированию — это значит:

  • Не требуется новичкам устанавливать сложные инструменты для запуска кода

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

👨‍💻 Use Runno 👉 Runno.dev

📖 Documentation 👉 Runno.dev

Runno

Runno is a collection of JavaScript Packages for running code in various languages inside a sandbox. It’s made of the following packages:

  • @runno/runtime - web components and headless tools for running code examples in the browser.
  • @runno/sandbox - a secure sandbox for running code examples in Node and other JS Runtimes.
  • @runno/wasi - an isomorphic package for running WebAssembly WASI binaries inside a sandbox.
  • @runno/mcp - an MCP Server for running code using the @runno/sandbox package.

There’s also a deprecated Python package called runno that works like the sandbox package.

This project is powered by WASI the Web Assembly System Interface. It provides a standard way for programs to interact with an operating system. By emulating this interface, we can provide a fake file system and operating system, all running within JavaScript.

Using @runno/runtime

The @runno/runtime package provides Web Components for running code in the browser.

This is very handy for programming education it means:

  • No need for newbies to install complex programming tools to run code
  • Programming examples can be made runnable in the browser with no server
  • Simple programs can be tested for correctness inside a sandbox on the user’s machine

Quickstart

Start by adding @runno/runtime to your package:

npm install @runno/runtime

Import @runno/runtime in whatever place you’ll be using the runno elements. The simplest is in your entrypoint file (e.g. main.ts or index.ts).

import "@runno/runtime";

Once you’ve imported them you can use runno elements on the page.

 print('Hello, World!') 

For the code to run though, you’ll need to set some HTTP headers:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

These create a cross-origin isolated context which allows the use of SharedArrayBuffer used to implement STDIN.

Supported Runtimes

The system supports a number of runtimes based on existing packages published to WAPM. These runtimes are tied to Runno and will be supported by Runno going forward.

  • python - Runs python3 code, not pinned to a particular version but is at least 3.6
  • ruby - Runs standard Ruby, not pinned but is at least 3.2.0
  • quickjs - Runs JavaScript code using the QuickJS engine
  • sqlite - Runs SQLite commands
Открыть полный README на GitHub

Установка

npx @runno/mcp
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "runno": { "command": "npx", "args": ["@runno/mcp"] } } }