Среда выполнения WebAssembly и CLI для запуска приложений и кода AI-агентов в быстрых, лёгких и изолированных средах.
bytecodealliance/wasmtime
Автономная среда выполнения WebAssembly на базе генератора кода Cranelift, с поддержкой WASI и встраиванием в приложения на разных языках.
- Звёзды
- 18,744
- Форки
- 1,879
- Открытые issues
- 888
- Последний коммит
- 4 часа назад
Что это?
Wasmtime — автономная среда выполнения WebAssembly, переносимого бинарного формата для кода, который работает в браузерах и за их пределами. Компоненты WebAssembly можно запускать из командной строки с помощью CLI wasmtime или встраивать в приложения через crate для Rust и биндинги для C, C++, Python, .NET, Go и Ruby.
Wasmtime компилирует модули с помощью генератора кода Cranelift — при запуске или заранее. В проекте доступны параметры настройки использования CPU и памяти, а также API WASI, позволяющие гостевым программам взаимодействовать с окружением хоста, например с файлами и системными ресурсами. Согласно проекту, Wasmtime проходит официальный набор тестов WebAssembly и реализует официальный C API wasm.
Wasmtime развивается под эгидой Bytecode Alliance и написан на Rust.
Ключевые возможности
- 01Компилирует WebAssembly с помощью генератора кода Cranelift — при запуске или заранее.
- 02Предоставляет API WASI, с помощью которых гостевые программы могут обращаться к ресурсам хоста.
- 03Позволяет настраивать потребление CPU и памяти.
- 04Включает CLI для прямого запуска компонентов WebAssembly.
- 05Предоставляет биндинги для встраивания в приложения на Rust, C, C++, Python, .NET, Go и Ruby.
Сценарии использования
- Запуск компонентов WebAssembly из командной строки.
- Встраивание изолированной среды выполнения WebAssembly в приложение на Rust или C.
- Выполнение недоверенного кода плагинов с доступом к хосту через WASI.
Быстрый старт
- 1
Установите Wasmtime CLI с помощью официального скрипта установки или со страницы релизов
- 2
Добавьте цель WebAssembly WASI в Rust
rustup target add wasm32-wasip2 - 3
Скомпилируйте программу hello-world на Rust в компонент WebAssembly
rustc hello.rs --target wasm32-wasip2 - 4
Запустите скомпилированный компонент с помощью Wasmtime
wasmtime hello.wasm
Что важно знать
- Однострочный скрипт установки документирован только для Linux и macOS; пользователям Windows необходимо воспользоваться страницей релизов.
Темы
Частые вопросы
- Что такое wasmtime?
- Автономная среда выполнения WebAssembly на базе генератора кода Cranelift, с поддержкой WASI и встраиванием в приложения на разных языках. Wasmtime — автономная среда выполнения WebAssembly, переносимого бинарного формата для кода, который работает в браузерах и за их пределами. Компоненты WebAssembly можно запускать из командной строки с помощью CLI wasmtime или встраивать в приложения через crate для Rust и биндинги для C, C++, Python, .NET, Go и Ruby.
- wasmtime можно использовать бесплатно? Какая у него лицензия?
- wasmtime распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- wasmtime всё ещё поддерживается?
- Активно поддерживается. Последний коммит в wasmtime — 21 окт. 2026 г..
- Для чего можно использовать wasmtime?
- Запуск компонентов WebAssembly из командной строки. Встраивание изолированной среды выполнения WebAssembly в приложение на Rust или C. Выполнение недоверенного кода плагинов с доступом к хосту через WASI.
- Как установить wasmtime?
- Установите Wasmtime CLI с помощью официального скрипта установки или со страницы релизов Добавьте цель WebAssembly WASI в Rust: rustup target add wasm32-wasip2 Скомпилируйте программу hello-world на Rust в компонент WebAssembly: rustc hello.rs --target wasm32-wasip2 Запустите скомпилированный компонент с помощью Wasmtime: wasmtime hello.wasm
- Где скачать wasmtime?
- Исходный код и инструкции по установке — на GitHub: https://github.com/bytecodealliance/wasmtime
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Интерпретатор Python 3 на Rust, который запускает код без привязки к CPython и поддерживает WebAssembly и встраивание в приложения.
Среда выполнения JavaScript, TypeScript и WebAssembly с безопасными настройками по умолчанию, построенная на V8, Rust и Tokio.
Фреймворк на Rust для создания интерактивных клиентских веб-приложений, компилируемых в WebAssembly, с макросом для HTML в стиле JSX.
Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах.
Язык и компилятор в духе TypeScript, преобразующие типизированное подмножество TypeScript в модули WebAssembly.