运行环境
AstroBox v2 的插件运行环境启用了对 wasi-p2 规范的支持,覆盖了当前所有已实现的稳定 WASI p2 特性,包括标准文件系统、日期时间以及系统级随机数(RNG)访问等功能。
此外,我们还集成了 wasmtime-wasi-http 模块,开发者可以在插件中使用 waki 库,以类似 reqwest 的方式发送 HTTP 网络请求。
同时,AstroBox 宿主(Host)自身也暴露了大量接口供插件调用;相应地,插件也需要实现部分接口以供宿主访问。 详细的接口定义与实现规范可参考 AstroBox API 文档。
AstroBox v2 的插件执行引擎具备以下特性:
-
执行模式
- Windows / macOS / Linux / Android:使用 Cranelift 引擎 以 JIT 模式 执行。
- iOS:使用 Pulley64 引擎 以 解释模式(Interpreter) 执行。
-
资源与功能限制
- 每个插件的最大内存占用:128 MiB
- 启用特性:
memory_may_movewasm_component_modelwasm_component_model_asyncasync_support
- 禁用特性:
wasm_memory64
-
文件系统安全策略
出于安全性考虑,标准文件系统(std fs)接口仅允许插件访问自身目录下的文件。 任何越界访问都会被立即拒绝并抛出错误。 若确需访问其他路径,可通过宿主提供的安全接口,在 用户明确授权 的前提下实现访问。