wasmer

毫秒级启动的 WebAssembly 沙箱,安全跑不可信代码

Wasmer 是一个用 Rust 编写的高性能 WebAssembly 运行时,为应用和 AI Agent 提供快速、轻量的沙箱环境。它解决的核心问题是:如何在不牺牲性能的前提下安全隔离执行不可信代码。传统容器和虚拟机启动慢、资源占用高,而 Wasmer 基于 WebAssembly 的字节码沙箱,能在毫秒级启动隔离实例,内存开销极小。核心能力包括:支持 WASI 和 WASIX 标准,让 C/C++/Rust/Go 等语言编译的模块直接运行;提供多语言 SDK(Rust、Python、JS、C 等),方便嵌入现有系统;支持 JIT、AOT 编译,性能接近原生;跨平台覆盖 Linux、macOS、Windows。它常被用于插件系统、边缘计算、无服务器函数和 AI Agent 工具调用等场景,让开发者用一套沙箱同时满足安全与速度需求。

开源 freemium 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 21038
维护状态 活跃
是否开源
定价模式 freemium

项目数据

分类基础设施
开发团队wasmerio
所属国家
官网地址https://wasmer.io
定价模式freemium
价格说明开源运行时免费,Wasmer Edge云服务提供免费额度及付费套餐
访问状态
是否开源
开源协议MIT
主要语言Rust
技术栈/模型emscripten,linux,macos,rust,wasi,wasix,wasm,wasmer,webassembly,windows
GitHub 星标★ 21038
30天Star增速
HF 下载量
上线时间2018-10-11 00:00:00
最近更新2026-09-21 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-22
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 7 步

环境要求

  • macOS 或 Linux 系统(可直接用一键脚本安装 CLI)
  • Windows 系统需使用 PowerShell 安装
  • 可选:Node.js 20 或更高版本(使用 JavaScript/TypeScript SDK 时需要)
  • 可选:已安装 Python 与 pip(使用 Python SDK 时需要,SDK 轮子支持 macOS/Linux 的 Intel 与 ARM64)
  • 可选:已安装 Homebrew(macOS/Linux 上想用 brew 安装时)

安装与启动步骤

  1. 1macOS/Linux 装 CLI

    用官方一键脚本下载并安装 Wasmer CLI,安装完成后终端会多出 wasmer 命令。

    curl https://get.wasmer.io -sSfL | sh
  2. 2Windows 装 CLI

    在 PowerShell 中执行该命令下载安装 Wasmer CLI,适用于 Windows 平台。

    iwr https://win.wasmer.io -useb | iex
  3. 3用 Homebrew 安装

    macOS/Linux 上已装 Homebrew 时,可改用 brew 安装 Wasmer CLI,二选一即可。

    brew install wasmer
  4. 4运行 Python 沙箱

    从 registry 拉取 python/python 包并在沙箱内执行 Python 代码,本机无需安装 Python。

    wasmer run python/python -- -c "print('Hello from Wasmer')"
  5. 5运行 Bash 与 Cowsay

    再试两个沙箱例子:Bash 执行 echo,以及 Cowsay 打印一段文字,验证沙箱能力。

    wasmer run wasmer/bash -- -c "echo 'Hello from Wasmer'"
    wasmer run syrusakbary/cowsay -- "Hello from Wasmer"
  6. 6安装 SDK(可选)

    需要把沙箱嵌入自己的应用时,按语言安装 SDK:JS 用 npm,Python 用 pip。

    npm install @wasmer/sdk
    python -m pip install wasmer-sdk
  7. 7跑 JS SDK 示例

    把 README 中的示例保存为 sandbox.mjs,然后执行它,Python 代码将在沙箱内运行。

    node sandbox.mjs

关键配置

配置项必填说明示例
--volume把本地目录挂载给沙箱,授予其文件访问权限;默认沙箱不接触本地文件。--volume /your/path
--net为沙箱启用主机网络访问,程序需要联网时加上。--net
packagesSDK 创建沙箱时指定要运行的 registry 包及其版本。python/python@=3.13.20

如何确认成功

执行 wasmer run python/python -- -c "print('Hello from Wasmer')",终端输出 Hello from Wasmer 即表示安装与运行成功。

常见问题

Q:不想在本机安装任何东西怎么办?

A:直接打开 https://wasmer.sh,在浏览器里就能试用沙箱,无需安装。

Q:沙箱里的 Python 需要本机先装 Python 吗?

A:不需要。Python 在沙箱内执行,由 Wasmer 从 registry 下载该包并缓存,本机无需安装。

Q:怎么让沙箱读写我本地的文件或联网?

A:默认不允许。用 --volume 授予某个目录的访问权限,需要网络时再加 --net 选项。

Q:Rust SDK 可以用 cargo 安装吗?

A:目前不行,Rust SDK 是源码依赖,需克隆 wasmerio/wasmer-sdk 并将依赖指向其 rust 目录,crates.io 发布已暂时关闭。

Q:命令里的 -- 有什么作用?

A:它用来分隔 Wasmer 自身的选项和传给沙箱程序的参数,把程序参数放在 -- 之后即可。

注意事项

  • Wasmer 首次运行某个包时会先下载并缓存,之后再次运行会更快。
  • 在浏览器中运行 JS 沙箱需要页面开启跨源隔离(Cross-Origin-Opener-Policy: same-origin 与 Cross-Origin-Embedder-Policy: require-corp)。
  • 更多安装方式见官方安装指南 https://docs.wasmer.io/install/,CLI 细节见 https://docs.wasmer.io/runtime/cli/。
  • Swift SDK 的该版本提供预编译的 macOS 二进制,其他平台支持情况见其 Swift 设置指南。

核心亮点

  • 启动速度毫秒级,内存占用远低于容器和虚拟机
  • 支持 WASI/WASIX 标准,可运行多语言编译的模块
  • 提供 Rust/Python/JS/C 等多语言 SDK,易于嵌入现有应用

不足之处

  • WASIX 等扩展标准生态仍在早期,部分系统调用兼容性有限
  • 对需要完整操作系统能力(如原生线程、GPU)的场景支持不足

适用场景

  • SaaS 平台运行用户上传的插件或自定义逻辑
  • AI Agent 工具调用时隔离执行不可信代码
  • 边缘计算/无服务器函数中快速冷启动执行任务

替代项目

wasmtime、wasm3

项目介绍

wasmer 是基础设施领域的开源项目,由 wasmerio 开发,2018 年首次发布。

在全站 12,909 个收录项目中,它的 GitHub 星标数(21,038)位列前 3%,在基础设施分类的 1,122 个项目里位列前 4%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-21。开源运行时免费,Wasmer Edge云服务提供免费额度及付费套餐。

它主要面向的使用场景是:SaaS平台运行用户上传的插件或自定义逻辑。同类可对比的替代方案包括 wasmtime、wasm3。

上一篇:halogen-flash-server

下一篇:console

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8576 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 437 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181269 2026-08-09