Repolode
deeplethe

deeplethe/forkd

面向 AI 智能体的微虚拟机沙箱,基于写时复制从预热父虚拟机快速 fork 子实例,并支持运行中虚拟机的分支。

可替代:E2B

Star
2,901
Fork
225
未关闭 Issue
8
最近提交
前天

这是什么?

forkd 是基于 Firecracker 的微虚拟机沙箱运行时,适用于需要大量短生命周期 AI 智能体沙箱共享同一预热环境的场景。父虚拟机只启动一次并导入运行时和依赖,然后暂停为快照。每个子实例是独立的 Firecracker 进程,以 MAP_PRIVATE 方式映射父实例的内存镜像,因此子实例以写时复制共享常驻内存,约 100 毫秒即可创建,无需冷启动内核。

每个子实例通过 KVM 保持硬件级隔离,并拥有独立的网络命名空间和 cgroup v2 内存限制。forkd 还提供 BRANCH 功能,可暂停运行中的沙箱、保存其当前状态并恢复运行,其中 live 模式可缩短源实例的暂停窗口。快照可以叠加成差分链,打包为可移植文件,也可从镜像仓库拉取。

项目提供带 REST API 的守护进程、命令行工具、Python 与 TypeScript SDK,以及供 Claude Desktop、Cursor 等客户端使用的 MCP 服务。运行环境需要支持 KVM 的 x86_64 Linux 主机。

核心功能

  • 01通过写时复制共享内存,从预热的父快照快速创建子微虚拟机。
  • 02每个子实例运行在独立的 KVM Firecracker 进程中,并拥有独立网络命名空间。
  • 03支持 BRANCH 操作,可快照并恢复运行中的沙箱,包括暂停时间更短的 live 模式。
  • 04支持差分快照链,并可打包或解包为可移植归档文件。
  • 05提供 REST API、命令行工具、Python 与 TypeScript SDK 以及 MCP 服务。
  • 06暴露 Prometheus 指标,并记录追加式 JSON 审计日志。

适用场景

  • 为代码解释器会话提供每次请求都可用的全新沙箱,且库已预加载。
  • 在智能体评测中并行运行数百个代码仓库检出或测试任务。
  • 在支持 KVM 的自托管 Linux 主机上,为每个用户提供隔离的代码执行环境。
  • 复制正在运行的智能体沙箱状态,以尝试多种后续步骤。

快速上手

  1. 1

    按照 README 安装章节安装 forkd

  2. 2

    从快照标签派生 1 个沙箱

    forkd fork --tag py-pandas -n 1

使用前须知

  • 需要支持 KVM 的 Linux 环境,不适用于 macOS 或 Windows。
  • 实时 BRANCH 需要 Linux 5.7 及以上、定制版 Firecracker 分支,并启用 userfaultfd。
  • 项目处于 v0.x 阶段,不同版本之间接口可能变化。

收录于专题

标签

常见问题

forkd 是什么?
面向 AI 智能体的微虚拟机沙箱,基于写时复制从预热父虚拟机快速 fork 子实例,并支持运行中虚拟机的分支。 forkd 是基于 Firecracker 的微虚拟机沙箱运行时,适用于需要大量短生命周期 AI 智能体沙箱共享同一预热环境的场景。父虚拟机只启动一次并导入运行时和依赖,然后暂停为快照。每个子实例是独立的 Firecracker 进程,以 MAP_PRIVATE 方式映射父实例的内存镜像,因此子实例以写时复制共享常驻内存,约 100 毫秒即可创建,无需冷启动内核。
forkd 可以免费使用吗?用的什么许可证?
forkd 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
forkd 还在维护吗?
活跃维护中。forkd 最近一次提交是在 2026年10月22日。
forkd 适合用来做什么?
为代码解释器会话提供每次请求都可用的全新沙箱,且库已预加载。 在智能体评测中并行运行数百个代码仓库检出或测试任务。 在支持 KVM 的自托管 Linux 主机上,为每个用户提供隔离的代码执行环境。 复制正在运行的智能体沙箱状态,以尝试多种后续步骤。
forkd 怎么安装和运行?
按照 README 安装章节安装 forkd 从快照标签派生 1 个沙箱: forkd fork --tag py-pandas -n 1
在哪里获取 forkd?
源代码和安装说明在 GitHub 上:https://github.com/deeplethe/forkd

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目