发布猎人新闻:Freestyle:用于AI编码代理的沙箱
Launch HN: Freestyle: Sandboxes for AI Coding Agents

原始链接: https://www.freestyle.sh

这段代码演示了如何使用`freestyle-sandboxes`库来创建和管理用于软件开发任务的虚拟机(VM),由Bun提供支持。 示例展示了不同的VM设置:从模板创建一个带有开发服务器(`VmDevServer`)的新仓库,克隆现有的仓库,以及利用具有空闲超时功能的持久化VM。 重要的是,该库与AI代理(`ai()`)集成,以自动化这些VM内的任务。这些任务包括构建API、前端和测试套件(使用forked VM),运行lint工具和测试,审查代码差异,以及与用户进行持续对话。 核心功能围绕着定义VM规范(`VmSpec`)并在其中执行命令,利用AI的力量来驱动开发流程。

## Freestyle:用于AI编码代理的沙箱 Freestyle (https://freestyle.sh) 正在构建一种专门为下一代AI“编码代理”设计的云基础设施。Freestyle超越了简单的工具和无服务器应用,提供了功能强大的、完整的沙箱——本质上是虚拟机——供AI在其内部运行,可与EC2实例相媲美。 其关键创新在于其极快的沙箱分叉速度:他们可以使用写时复制方法在400毫秒内复制一个正在运行的沙箱(包括其整个内存状态——即使在动画或游戏进行中!)。这种分叉时间与VM的大小或创建的分叉数量无关。快照需要更长时间(2-4秒),因为涉及I/O。 为了实现这种性能,Freestyle在其自身的裸机基础设施上运行,绕过了传统云提供商的性能限制。他们支持完整的Linux环境和硬件虚拟化,并致力于与在Debian上运行的任何软件兼容。他们正在积极寻求错误报告,以确保广泛的兼容性,并专注于为AI大规模复制人类开发循环。
相关文章

原文
1// Like Lovable, Bolt, V0
2import { freestyle, VmSpec } from "freestyle-sandboxes";
3import { VmBun } from "@freestyle-sh/with-bun";
4import { VmDevServer } from "@freestyle-sh/with-dev-server";
5
6// Create repo from template
7const { repoId } = await freestyle.git.repos.create({ ... });
8
9const { vm } = await freestyle.vms.create({
10    with: {
11      devServer: new VmDevServer({
12        devCommand: "bun run dev",
13        runtime: new VmBun(),
14        repo: repoId
15      }),
16    },
17});
联系我们 contact @ memedata.com