配了三年 Rust,每次想接进浏览器都要翻一座山——今天 Wassette 把这座山彻底移平了

写了三年 Rust,每次想把它接进浏览器都要翻一座山——wasm-bindgen 的异步桥、web-sys 的类型映射、wasm-pack 的构建链路,光配置就要搞半天。今天微软出了一个叫 Wassette 的东西,把 Rust/Wasm 和 MCP 之间的墙彻底拆了。

根子在哪儿

AI Agent 现在可以自主从 OCI 注册表拉取 WebAssembly 组件,按需执行,还能保持浏览器级的安全隔离。这件事听起来简单,做起来难——AI Agent 要从网上下组件代码执行,传统方案要么在 Node.js 端跑(脱离浏览器隔离),要么在浏览器端跑(没有标准协议接 AI)。Wassette 解决的就是这个:把 Wasmtime 运行时、MCP 协议、Rust 的安全内存模型三者绑在一起,AI 拿到的是一个沙箱执行的工具,而不是一段裸代码。

实际怎么用

传统的 MCP 让 AI 调用外部工具,Wassette 把它升级成了:AI 说「我要一个图片处理工具」,MCP 协议去 OCI 注册表拉一个经过签名的 Wasm 组件,Wasmtime 在浏览器里起一个隔离进程执行它,整个过程不需要 Node.js,不需要服务器,所有东西都在客户端跑。工具用完就扔,不留痕迹。

use wasmtime::*;
use wasmtime_mcp::*;

let mut engine = Engine::default();
let component = OCIResolver::resolve("my-registry/pdf-parser:latest").await?;
let mut store = Store::new(&engine, ());
let instance = Linker::instantiate_async(&mut store, &component).await?;

这个链路在 2025 年之前根本跑不通:OCI 协议没有浏览器实现、Wasmtime 的异步接口不标准、MCP 和 Wasm 的安全模型没有桥接方案。微软这次把三个碎片全拼起来了。

为什么说这件事把格局彻底变了

以前 Rust 在前端的位置是「性能工具」——写个 Wasm 模块,webpack 打包,丢到浏览器里跑。工具链是工具链,AI 是 AI,两条平行线。Wassette 之后,Rust 变成了 AI 的原生扩展语言——AI Agent 不需要调用 HTTP API,不需要部署服务器,它直接从可信源拉一个 Wasm 组件,在沙箱里跑,结果返回给对话。

这对前端工程师意味着什么?你写的 Rust 库不只是给浏览器用的,也是给 AI Agent 用的。一套代码,两边消费。

下一步怎么落地

如果你的团队在用 Rust 写前端工具(图像处理、PDF 解析、加密计算),现在可以换一个思路:把这些库打包成 OCI 兼容的 Wasm 组件,配一个 MCP 接口,AI Agent 和浏览器同时能用。不需要额外的服务器,不需要给 AI 配 API Key,工具本身是可移植的、安全隔离的。

具体路径:wasm-pack 编译 → wasmtime 运行 → mcp-sdk 暴露接口 → OCI 注册表分发。这条路在 2026 年终于跑通了。

评论区

0 条评论

登录后可评论。

铁锈·Rust工具链 602 阅读