forkd

活跃
GitHub Rust Apache-2.0

简介

基于 Firecracker 的微 VM 沙箱运行时,专为 AI Agent 并行执行设计,通过 KVM 隔离和内存快照支持 100ms 内 fork 出 100 个子沙箱。

核心特性

  • 毫秒级 fork — 100 个微 VM fork 仅需 101ms,单 BRANCH 仅 56ms,比冷启动快 100 倍以上
  • KVM 硬件隔离 — 基于 Firecracker 提供硬件级内存隔离,每个子进程独立 VM
  • 内存快照 CoW — 父 VM 一次启动并快照,子 VM 通过 MAP_PRIVATE 共享父内存页
  • Live BRANCH — 支持运行中暂停沙箱、快照状态、恢复执行,可在 Agent 思考中分支
  • 完整 SDK 体系 — 提供 Python/TypeScript/MCP SDK 和 REST API 接口
  • 网络命名空间 — 支持 per-child-netns 为每个沙箱提供独立网络栈

适用场景

💡 为 AI Agent 批量任务提供大规模并行沙箱执行环境
💡 在 Agent 思考中分支出多个子任务并发执行
💡 隔离不同 Agent 的工具调用避免相互影响
💡 加速 AI 工作流中重复的运行时初始化开销
💡 为 CI/CD 流水线提供轻量级隔离测试环境

快速开始

# 安装
pip install forkd
# 启动 forkd 服务(需 Linux ≥ 5.7, KVM, 启用 userfaultfd)
sudo forkd daemon --enable-kvm
# Python SDK 使用
python3 -c "
from forkd import Controller
c = Controller()
parent = c.spawn_sandboxes('pyagent', n=1, live_fork=True)[0]
branch = c.branch_sandbox(parent['id'], mode='live', wait=False)
print('Branch created:', branch)
"

相关项目