把 AI 放出来写代码容易,让它跑起来难。

更难的是,你敢让它随便在你硬盘里瞎搞吗?

image

最近 Hacker News 上有个新项目火了,叫 Shuru

这玩意儿号称是“macOS 上专为 AI Agent 设计的本地优先沙盒”。

听起来有点绕?说白了,它就是给 AI Agent 造了一个“一次性肉体”。

image

用完即毁,绝不留痕。这可能是目前我在 macOS 上见过的最性感的隔离方案。

AI 跑代码,谁敢放开手?

现在的 AI Agent 都在吹自己能写代码、能修 Bug。

image

但说实话,你敢把终端完全交给 AI 吗?

它万一手一抖,rm -rf / 了怎么办?或者给你装了一堆乱七八糟的依赖,把你的开发环境搞崩?

传统的虚拟机太重,启动慢得像老牛拉车;

Docker 虽好,但配置文件写起来有时候比代码还累,而且在 macOS 上总隔着一层模拟的纱。

Shuru 的出现,就是为了解决这个“信任危机”。

它基于 Apple 原生的 Virtualization.framework 构建,没有模拟层,直接跑在 Apple Silicon 上。

这意味着接近原生的速度,ARM64 架构的直接支持。

不需要 Docker,不需要复杂的配置。一行命令,就是一个干净的 Linux 环境。

image

“阅后即焚”,专治各种不服

Shuru 最妙的一点,也是我个人最喜欢的设计,就是它的默认策略:Ephemeral(临时性)

每一次运行,都从一个干净的 rootfs 开始。

你想装 Python?装。

你想编译 C++?编。

你想把系统文件删了玩?请便。

任务结束,虚拟机销毁。

Nothing persists unless you save it.

这种“阅后即焚”的模式,简直是强迫症和洁癖患者的福音。

不管 AI 在里面怎么折腾,出来的结果对了就行,错了就重来。

反正每次都是处女地,根本不用担心环境污染。

image

看看它演示的这个例子:

$ 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 启动,瞬间就能用。

如果不满意,你还可以基于这个环境开新分支。

image

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

这种体验,已经非常接近本地进程了。

image

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 生成的代码能安全地跑起来

无论是代码执行、工具调用,还是批量评估,这种轻量级的隔离环境都是刚需。

image

结语

说实话,我挺看好这种“小而美”的工具。

在 AI Agent 即将泛滥的时代,我们缺的不是算力,而是控制力

Shuru 给了一个很好的示范:不需要沉重的架构,不需要复杂的配置,一行命令,就能给 AI 一个既能撒野又翻不了天的笼子。

不过我也好奇,如果 Windows 上也能有这种级别的原生沙盒体验,那该是多大的市场?

毕竟,WSL 对非开发者来说,门槛还是高了点。

参考链接:
https://shuru.run