Mirage 纯前端 WebAssembly 代码隔离执行环境

@strukto-ai/mirage · v1.1.0

运行于现代浏览器 Web Worker 与 WebAssembly 之上的极速代码沙箱。无需昂贵的后端容器支持,在客户端零延迟安全运行 Python、JavaScript 与 SQLite,零服务器算力开销。

WASM沙箱纯前端执行数据隐私零云端成本
GitHub Stars
29 K+
+12.4% this month
月度调用量
110 K+
Monthly registry pulls
Reach 影响力
98.1/ 100
Top Tier Ecosystem
运行环境
Cordis v3+
Node 18+ / Bun / Deno

安装与配置

支持 CLI 一键执行、包管理器以及 Cordis 总线编排

bash
manager:
$ pnpm add @strukto-ai/mirage

架构解析

「Mirage Sandbox」将安全的代码执行能力直接搬到了用户的浏览器前端。在传统的方案中,为用户提供代码运行环境往往需要常驻庞大的 Docker 服务器集群,不仅架构昂贵复杂,还面临高昂的运维成本与安全攻击面。 本插件通过深度集成 Pyodide 与 WebAssembly 技术,使智能体能够在用户的浏览器标签页内原地执行代码。无论是让模型分析一份 CSV 电子表格、绘制交互式数据图表,还是运行复杂的算法单元测试,均在纯前端内存沙箱中毫秒级完成,兼顾了极致的隐私安全性与零云端算力账单。

架构设计原则与约束

01
强类型契约隔离

基于 TypeScript 编译期深度推断,跨插件总线调用享受严格类型校验与零偏差提示。

02
毫秒级热插拔调度

支持微内核动态注册与安全平滑卸载,无需重启主宿主进程即可完成逻辑热替换。

03
确定性有限状态机

内置严谨的多阶段任务生命周期控制,防止复杂长时迭代推理场景中会话状态丢失。

04
零动态构建底层依赖

采用纯原生跨平台运行时环境设计,在 Node.js、Bun 及 Deno 容器中极速冷启动。

核心特性

01
纯前端客户端本地运行:零后端容器开销,无需搭建任何远程 Docker 执行集群
02
绝无数据外泄风险:用户本地数据在浏览器沙盒内直接闭环处理,隐私零泄漏
03
毫秒级冷启动速度:免去传统虚拟机长达数秒的开机时间,代码随写随测
04
完整支持主流科学计算库:内置 Numpy、Pandas、Matplotlib 等标准 Python 生态

核心机制

01

Web Worker 隔离实例化

在独立浏览器线程中派生 Web Worker,挂载虚拟内存文件系统。

02

WASM 运行时即时加载

动态载入 Pyodide 或 QuickJS WebAssembly 虚拟机内核与标准库。

03

安全沙盒指令求值

执行模型生成的 Python/JS 逻辑,严密屏蔽 DOM 与主线程内存访问。

04

标准输出与图元回传

捕获执行打印内容与生成的图表 Base64/SVG 图像,回传至对话会话。

配置参数参考 (YAML / JSON)

参数名类型默认值说明
runtimeLanguagestringpython沙箱默认执行语言虚拟机 (python / javascript / sqlite)
executionTimeoutMsnumber10000前端代码防卡死强行终止时限(毫秒)
preloadStandardLibsbooleantrue是否在后台静默预热并载入常用核心科学计算库

应用场景

企业级生产智能体运行时

依托微内核生命周期与容错状态机,保障企业复杂 Agent 全天候稳定执行不崩溃。

基准测试标准化评测运行

深度原生集成 SWE-bench 标准流程,自动化抓取代码变更并产出规范复现指标。

全自主代码工程重构演进

精准拆解模型思考流与具体操作,跨多文件自主排查并高质量完成大型模块重构。

跨系统多工具流协同自动化

在多进程沙箱间安全并发调度事件,打通研发上下游系统实现端到端自动化流转。

最佳实践

01
权限沙箱隔离机制

严格限定子进程系统调用与外部网络范围,在生产环境中建议结合 Docker 独立容器执行。

02
配置指数退避重试

针对上游模型接口限流与偶发网络抖动,建议开启自适应退避重试并设定最大执行上限。

03
长时任务状态快照

利用内核事件总线快照功能实时固化会话节点,发生不可抗意外时支持秒级断点恢复。

04
全量结构化链路追踪

开启全量 Trace 日志输出,将大模型思考过程与具体工具入参返回值集中汇聚至监控。

常见问题

Q1:长时间执行任务超时如何正确配置?

可在配置文件中调大 timeout 阈值,并通过生命周期钩子定期向总线派发心跳信号。针对长耗时推理与工具调用,建议配合持久化会话快照机制,在任务暂停或重启后无缝恢复执行上下文,避免会话被内核提前回收。

Q2:如何捕获并流式解析模型思考过程?

框架原生提供流式回调机制,会话状态机自动拦截并剥离大模型的 <think> 思考标签。开发者只需监听 onThink 事件即可实时获取推理增量,结合前端流式渲染呈现动效,并支持将完整推导链沉淀至审计日志。

Q3:多个插件依赖冲突时如何按需加载?

Cordis 微内核基于有向无环图进行拓扑排序并解析依赖树。当插件间存在同名服务或版本冲突时,可通过命名空间隔离机制按需挂载;结合上下文注入与惰性初始化技术,仅在工具唤起时动态加载资源,保障系统稳定。

Q4:生产环境中如何实施权限与沙箱隔离?

推荐结合容器沙箱与细粒度权限管控,严密禁止插件越权访问敏感文件与未授权外部网络。可通过微内核提供的权限白名单机制严格限制系统调用,并将工具执行环境置于隔离容器内,彻底阻断潜在的代码注入与提权安全风险。

相关生态插件推荐

为你推荐同分类及高度协同的 Cordis 扩展