把 AI 放出来写代码容易,让它跑起来难。
更难的是,你敢让它随便在你硬盘里瞎搞吗?
最近 Hacker News 上有个新项目火了,叫 Shuru。
这玩意儿号称是“macOS 上专为 AI Agent 设计的本地优先沙盒”。
听起来有点绕?说白了,它就是给 AI Agent 造了一个“一次性肉体”。
用完即毁,绝不留痕。这可能是目前我在 macOS 上见过的最性感的隔离方案。
AI 跑代码,谁敢放开手?
现在的 AI Agent 都在吹自己能写代码、能修 Bug。
但说实话,你敢把终端完全交给 AI 吗?
它万一手一抖,rm -rf / 了怎么办?或者给你装了一堆乱七八糟的依赖,把你的开发环境搞崩?
传统的虚拟机太重,启动慢得像老牛拉车;
Docker 虽好,但配置文件写起来有时候比代码还累,而且在 macOS 上总隔着一层模拟的纱。
Shuru 的出现,就是为了解决这个“信任危机”。
它基于 Apple 原生的 Virtualization.framework 构建,没有模拟层,直接跑在 Apple Silicon 上。
这意味着接近原生的速度,ARM64 架构的直接支持。
不需要 Docker,不需要复杂的配置。一行命令,就是一个干净的 Linux 环境。
“阅后即焚”,专治各种不服
Shuru 最妙的一点,也是我个人最喜欢的设计,就是它的默认策略:Ephemeral(临时性)。
每一次运行,都从一个干净的 rootfs 开始。
你想装 Python?装。
你想编译 C++?编。
你想把系统文件删了玩?请便。
任务结束,虚拟机销毁。
Nothing persists unless you save it.
这种“阅后即焚”的模式,简直是强迫症和洁癖患者的福音。
不管 AI 在里面怎么折腾,出来的结果对了就行,错了就重来。
反正每次都是处女地,根本不用担心环境污染。
看看它演示的这个例子:
$ shuru run -- ping -c1 8.8.8.8
ping: sendto: Operation not permitted
看到了吗?默认连网都不给。安全得令人发指。
想上网?得手动开权限 --allow-net。
这种“默认拒绝”的姿态,在 AI Agent 到处乱跑的今天,简直是一股清流。
像 Git 一样管理你的虚拟机
“一次性”虽好,但有时候我们还是想保留现场。
比如 AI 刚配好了一个复杂的深度学习环境,我想下次接着用,难道要重新配一遍?
Shuru 在这里玩了个花活:Checkpoint(检查点)。
它允许你把当前的磁盘状态保存为快照。更有意思的是,这些快照像 Git 的提交树一样,可以分支、恢复、迭代。
$ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm'
shuru: checkpoint 'myenv' saved
$ shuru run --from myenv -- node -e 'console.log("ready")'
ready
你配好了一个 Node.js 环境,存个档叫 myenv。下次直接从 myenv 启动,瞬间就能用。
如果不满意,你还可以基于这个环境开新分支。
Rust 加持,榨干 Apple Silicon
这几年开发者工具圈有个趋势:
不是 Rust 写的都不好意思拿出来秀。
Shuru 也不例外。它用 Rust 编写,保证了性能和安全性。
更重要的是,它没有像传统虚拟机那样去模拟硬件,而是直接利用 macOS 的 Virtualization.framework,
直接分配 4 核 CPU、4G 内存,跑起来飞快:
$ shuru run --cpus 4 --memory 4096 -- free -m | head -2
total used free
Mem: 4096 38 4002
甚至端口转发也做得极其丝滑,通过 vsock 隧道实现,宿主机直接访问:
$ shuru run --from py -p 8080:8000 -- python3 -m http.server 8000
shuru: forwarding 127.0.0.1:8080 -> guest:8000
这种体验,已经非常接近本地进程了。
Agent 时代的“基建分层”
有意思的是,Hacker News 的评论区比项目本身更耐人寻味。
有人问:这玩意儿和 Lima、OrbStack 甚至 Apple 自家的 container 有什么区别?
这就触及到问题的本质了。
一位名叫 philippdubach 的用户一针见血地指出:
The agent stack is splitting into specialized layers and sandboxing is clearly becoming its own thing.
Agent 技术栈正在分层。以前我们追求“大而全”的解决方案,现在不一样了。
计算、沙盒、编排,每一层都在出现专门的玩家。
Shuru、E2B、Modal、Firecracker wrappers,大家都在抢夺“沙盒”这个细分赛道。
Shuru 的定位非常精准:Local-First(本地优先)。
它不想做云端的重量级选手,它就想在你的 MacBook 上,给 AI Agent 提供一个最快、最安全的练兵场。
这也是为什么它不需要 Docker 依赖,因为它面对的场景更单纯——让 AI 生成的代码能安全地跑起来。
无论是代码执行、工具调用,还是批量评估,这种轻量级的隔离环境都是刚需。
结语
说实话,我挺看好这种“小而美”的工具。
在 AI Agent 即将泛滥的时代,我们缺的不是算力,而是控制力。
Shuru 给了一个很好的示范:不需要沉重的架构,不需要复杂的配置,一行命令,就能给 AI 一个既能撒野又翻不了天的笼子。
不过我也好奇,如果 Windows 上也能有这种级别的原生沙盒体验,那该是多大的市场?
毕竟,WSL 对非开发者来说,门槛还是高了点。
参考链接:
https://shuru.run