可随时挂起恢复的 Rust 写 JS/TS 引擎,主打 wasm 沙箱脚本执行
Star292
24h 新增+26
7 天新增—
Fork6
Issue1
语言Rust
项目介绍
更新于 1 天前
djs 是一个用 no_std Rust 写的 JavaScript/TypeScript 引擎,主要跑在 wasm32 上,定位类似 QuickJS 的替代品,但专为「模型写的脚本调用工具、处理结果」这类场景优化。它的核心卖点是可随时挂起恢复:解释器不在 Rust 栈上递归,能在任意两条指令之间停下再续上,连 getter、Promise 任务、生成器和 async 函数内部也行,配合把等待中的运行状态写成可再加载的续体转储,让一次工具调用可以跨进程持久化。VM 状态全部放在一块字节 arena 里,创建实例只需复制预置镜像,约 40 微秒,且时钟、随机数都由宿主注入,同样输入产出逐字节一致的堆镜像,天然适合需要确定性和沙箱隔离的场景。test262 通过率 99.9%,wasm 下部分负载比 quickjs-wasi 更快。值得看的是做 Agent 运行时、边缘/浏览器内嵌脚本引擎、或需要在服务端安全执行不可信 JS 的工程师;纯前端或后端业务开发基本用不上。
上手成本:中
Star 趋势
仓库信息
| License | 未声明 |
| 创建时间 | 2026-11-01 |
| 最后推送 | 28 分钟前 |
| 热度分 | 85.0 |