沙盒预览有它的上限
v0、Lovable 和 Bolt.new 都围绕同一种循环构建:提示 → 生成 UI → 在托管沙盒中预览。对项目最初十分钟而言,这是一套很好的流程;但只要 Agent 需要查看沙盒以外的任何内容,它很快就会碰到边界。
运行在 3000 端口的本地 Next.js 开发服务器、VPN 后的预发布环境、你想复刻布局的竞品定价页、希望 Agent 在编写集成前先总结的 Anthropic API 文档——这些都不在 v0 Playground 或 Bolt WebContainer 中。Agent 只能看见自己刚刚生成的东西,而且只限于那座围墙花园。
即使在那里,Agent 最多看到的通常也只是一张截图:它是渲染组件的平面图像,不是 DOM,不包含样式,也无法点击。做原型时这没有问题;但对于一款要真正产出并交付代码的工具,这并不是正确的基础能力。
把真实浏览器放进 Agent 循环,到底意味着什么
Onevium 1.1 把 Sandbox Browser 作为一级工作界面推出。你可以在桌面应用内打开任意网址——开发服务器、生产环境、竞品页面、第三方文档——它会出现在一个不抢走编辑器或聊天焦点的弹出层中。
有三点让它不同于截图工具:
- 置顶需要反复查看的页面。固定状态会跨会话保留,因此 Agent 正在迭代的地址始终只需点击一次即可打开。
- 选择实时页面上的任意元素。元素选择器会捕获选择器、周边 HTML 和计算样式,并把这些内容一起加入下一条提示。Agent 无需猜测你指的是哪个 div。
- 两个 MCP 工具 open_preview 和 reload_preview,让任何 Agent 都能从工作流中直接打开或刷新网址。Agent 有了眼睛,不必再向你索要截图。
代码库始终属于你
v0 交付一段需要粘贴进项目的 JSX;Bolt 把整套技术栈运行在 StackBlitz WebContainers 中;Lovable 托管代码库与部署流程。三者都在你和仓库之间增加了一层,而这一层正是它们的产品。
Onevium 在本地运行,直接使用你的真实工作目录。Agent 编辑的文件就是 IDE 正在编辑的文件。`.env`、密钥、Monorepo 结构和 Git 历史都不会离开你的设备。Sandbox Browser 指向的是你已经运行的开发服务器,而不是托管在云端的副本。
当目标是“这个原型真的要上线”时,这一点很重要。托管沙盒在第一天很省事,到第九十天却会变成阻力——那时你需要接入私有 package、更换数据库,或把仓库交给另一位工程师。Onevium 从一开始就省掉了交接,因为仓库从未移动。
反馈循环从四次交接缩短为一次
经典的 v0 / Lovable 循环要经过四次交接:写提示、得到生成预览、用眼睛判断是否正确,再用文字描述问题,作为下一条提示。模型从未看见实际渲染结果,你才是中间那座桥。
当 Agent 旁边固定了一款真实浏览器,循环便会收拢。Agent 修改文件,开发服务器热更新,Onevium 刷新预览,Agent 读取渲染后的 DOM 和你刚点击的元素,再把这些数据作为下一轮输入。这正是资深前端工程师手动执行的循环,现在 Agent 也身处其中。
这也解释了为什么一次性 UI 生成器必然遇到质量上限。v0 必须第一次就猜对,因为循环从未闭合;拥有浏览器的 Agent 不必首轮完美,它可以看见结果并继续迭代。
什么时候 v0、Lovable 或 Bolt 仍是更合适的答案
Onevium 并不打算取代面向无代码库、也不想维护代码库用户的 UI 生成器。v0 很擅长按需生成整洁的 shadcn/ui 组件;Lovable 可以在一个晚上把非开发者的想法变成可用应用;当“无需任何本地配置”是硬条件时,Bolt.new 是从提示到线上网址最快的路径。
Onevium 服务的是下一个阶段。你已经有仓库、工具链、对设计系统的明确意见、现成的开发服务器、预发布环境,以及必须通过的代码审查。第一个沙盒原型之后,工作才真正严肃起来;也正是在这里,真实浏览器、真实文件系统和本地 Agent 比生成式界面稿更重要。
如果你正在 Cursor、Bolt、Lovable 和 v0 之间选择,可以阅读市面上大量现成的对比文章——它们对各款工具优势的描述都没有错。Onevium 位于相邻的另一个类别:当项目从沙盒毕业后,它是 AI Agent 接着使用的工具。
三十秒开始体验
安装 Onevium 1.1,打开一个项目,然后启动任意开发服务器——Next.js、Vite、普通的 python -m http.server,或你原本就在使用的工具。Onevium 会自动识别终端输出中的 localhost 地址,并提示打开。
按下 ⇧⌘P,粘贴网址并回车,Sandbox Browser 会在弹出层中打开。点击页面上的任意元素,Agent 就会获得对应选择器。告诉它“收紧我刚才点击那张卡片的间距”,然后看着循环闭合:无需截图,无需复制粘贴选择器,也不必从沙盒导出。
用一句话概括 v1.1:AI Agent 现在拥有与你相同的网页视野,同时仍在编辑你真正要交付的代码。