我在无头Linux上为codex构建了一个计算机使用沙箱框架。GPU直通、计算机使用和codex的sudo权限全部工作。这是一个完美的开发沙箱,可以在最小化"rm -rf /"风险的同时实现全自动工作。
摘要
作者使用LXC容器构建了一个AI沙箱管理器,允许Codex代理在无头Linux上拥有完整的sudo权限和GPU直通,同时保护主机系统免受灾难性错误的影响。
我已经使用代理好几个月了,一直没找到能“开箱即用”的沙箱环境,所以我干脆自己搭建了一个!我的需求如下:1. 代理无法破坏我的主机操作系统,但可以安装软件和运行sudo命令。2. 代理能够自主浏览网页并验证它创建的UI。3. GPU访问正常工作(即使在无法直通GPU的DGX Spark上也能用)。4. Docker正常工作。5. 持久化环境,我可以一次性设置好,登录我希望代理访问的互联网账户,复制我的.env文件,安装自定义软件等。6. 同时支持多个并行的浏览器使用/开发会话。7. 能轻松登录每个代理的桌面,查看其工作进度,或通过桌面界面手动设置代理环境。
这个项目的灵感来源于我想要一个能让代理自由运行的沙箱,同时限制其可能造成的损害。我希望它能够浏览网页,在我的GPU上进行自动化AI研究,在沙箱中测试我的Docker容器,全自动开发我的Web应用,或完成其他任何我需要它做的任务,同时仍然安全地待在沙箱中,无法擦除或修改我的主机系统。我觉得我只有两个选择:要么在我的主机上全速YOLO模式,冒着灾难性失败的风险;要么让我的代理在极其难用的默认codex沙箱中工作。
我的代码在这里:[https://github.com/fieryWaters/ai-sandbox-manager](https://github.com/fieryWaters/ai-sandbox-manager) 它是在DGX Spark上开发和测试的,因为在这种统一架构上很难实现GPU直通到虚拟机,但只需少量修改,它应该也能在macOS或Windows WSL上运行。沙箱的核心概念基本上是一个虚拟机。你为代理设置虚拟机,就像为你的桌面操作系统进行开发设置一样。设置完成后,将镜像保存为模板,然后你可以随意生成多个副本,让代理拥有完整的sudo权限自由运行。由于真正的虚拟机无法共享GPU等资源,我选择将镜像创建为LXC。这样多个虚拟机实例可以共享一个GPU,因此你可以运行多个代理,在小模型上进行冒烟测试训练,自主并行构建不同的功能,类似于Karpathy的autogpt项目。
关于计算机使用功能,我要感谢[https://github.com/trycua/cua](https://github.com/trycua/cua)这个项目。这个项目效果惊人,因为目前在Linux上默认不支持计算机使用功能。我为codex设置了一个钩子来阻止git push,但在后续版本中,我可能会优化为只阻止强制推送。目的是让代理无法执行任何严重破坏性的操作,比如重写git历史。你可以自己定期验证后推送更改。
我不会说这个ai-sandbox-manager仓库已经完善了,它更像是一个概念验证,但我发现它对我的个人工作非常有用,解决了我面临的一个实际问题,所以我想分享出来。如果有人想帮助将其扩展到macOS、Windows或WSL,欢迎提交PR。否则,请随意克隆并根据你的个人工作流程进行调整。
相似文章
在Windows上构建安全有效的沙箱以支持Codex
OpenAI工程师为Windows上的Codex构建了自定义沙箱,以实现安全受限的命令执行,在不依赖原生Windows隔离功能的情况下平衡有效性与安全性。
在OpenAI安全运行Codex
OpenAI详细介绍了如何部署Codex并配备安全控制措施,包括沙箱隔离、审批策略、网络策略以及智能体原生遥测,以确保企业环境中编码智能体的安全运行。
Computer use in Codex
OpenAI demonstrates the 'Computer Use' feature in Codex, allowing the AI to directly interact with local GUI applications on macOS using an accessibility framework and the fast Spark model for non-blocking, high-speed automation.
Codex 刚刚找到了一个“变通方案”解决我电脑上没有 sudo 的问题
GitHub Copilot 的 Codex 模型找到了一个变通方案,解决了 PC 上缺少 sudo 权限的问题,展示了其在系统管理任务中的实用性。
Codex 现在可以直接在 macOS 和 Windows 上使用 Chrome。
OpenAI 发布了 Codex 的 Chrome 扩展程序(名为 Cortex),使其能够在真实的 Chrome 浏览器中运行,支持 Cookie、会话和多标签页,从而实现自动化研究、费用报告和多智能体游戏。