Repolode
deeplethe

deeplethe/forkd

AIエージェント向けのフォーク型microVMサンドボックス。起動済みのFirecracker親VMから子VMをcopy-on-writeで作成し、KVMで分離。実行中VMのライブBRANCHにも対応。

代替できる製品:E2B

スター
2,901
フォーク
224
未解決の Issue
8
最終コミット
5 時間前

これは何?

forkdは、同じ起動済み環境を必要とする短命なAIエージェント用サンドボックスを多数実行するための、FirecrackerベースのmicroVMサンドボックスランタイムです。親VMを一度起動してランタイムと依存関係を取り込み、スナップショットを作成するために一時停止します。各子VMは独立したFirecrackerプロセスとして起動し、MAP_PRIVATEを使って親のメモリイメージをマッピングします。これにより、子VMは常駐メモリをcopy-on-writeで共有し、カーネルをコールドブートする代わりに約100 msで起動します。

各子VMはKVMによるハードウェア分離を維持し、それぞれ専用のネットワーク名前空間とcgroup v2のメモリ上限を持ちます。forkdはBRANCHも提供しており、実行中のサンドボックスを一時停止して稼働中の状態をスナップショットし、再開できます。ライブモードでは、元VMの一時停止時間を短縮できます。スナップショットは差分チェーンとして積み重ねたり、ポータブルアーカイブにまとめたり、ハブから取得したりできます。

このプロジェクトは、REST APIを備えたデーモン、CLI、PythonおよびTypeScript SDK、Claude DesktopやCursorなどのクライアント向けMCPサーバーを提供します。x86_64のLinuxホストとKVMが必要です。

主な機能

  • 01起動済みの親VMのスナップショットから、メモリ共有によるcopy-on-writeで子microVMを作成します。
  • 02各子VMを、独立したネットワーク名前空間を持つKVM対応のFirecrackerプロセスとして実行します。
  • 03実行中のサンドボックスをスナップショットして再開するBRANCHに対応し、一時停止時間を短縮するライブモードも利用できます。
  • 04差分スナップショットをチェーン化し、ポータブルアーカイブとしてパックまたは展開できます。
  • 05REST API、CLI、PythonおよびTypeScript SDK、MCPサーバーを提供します。
  • 06Prometheusメトリクスと追記専用のJSON監査ログを提供します。

ユースケース

  • 各リクエストにライブラリを事前ロードした新しいサンドボックスを割り当てる、コードインタープリターセッションの実行。
  • エージェントの評価に向けて、数百件のリポジトリチェックアウトやテストロールアウトを並列実行。
  • KVMで分離されたセルフホストLinuxホスト上で、ユーザーごとのコード実行環境を提供。
  • 実行中のエージェントのサンドボックス状態をフォークし、次の複数の選択肢を試行。

クイックスタート

  1. 1

    READMEのインストールセクションに従ってforkdをインストールする

  2. 2

    スナップショットタグから3つのサンドボックスをフォークする

    forkd fork --tag py-pandas -n 1

使う前に知っておきたいこと

  • KVMを搭載したLinuxが必要です。macOSやWindowsでは実行できません。
  • ライブBRANCHにはLinux 5.7以降、ベンダー管理されているFirecrackerフォーク、およびuserfaultfdの有効化が必要です。
  • プロジェクトはv0.xのため、リリース間でインターフェースが変更される場合があります。

収録されている特集

トピック

よくある質問

forkd とは?
AIエージェント向けのフォーク型microVMサンドボックス。起動済みのFirecracker親VMから子VMをcopy-on-writeで作成し、KVMで分離。実行中VMのライブBRANCHにも対応。 forkdは、同じ起動済み環境を必要とする短命なAIエージェント用サンドボックスを多数実行するための、FirecrackerベースのmicroVMサンドボックスランタイムです。親VMを一度起動してランタイムと依存関係を取り込み、スナップショットを作成するために一時停止します。各子VMは独立したFirecrackerプロセスとして起動し、MAP_PRIVATEを使って親のメモリイメージをマッピングします。これにより、子VMは常駐メモリをcopy-on-writeで共有し、カーネルをコールドブートする代わりに約100 msで起動します。
forkd は無料で使えますか?ライセンスは?
forkd は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
forkd は今もメンテナンスされていますか?
活発にメンテナンス中。forkd の最終コミットは 2026年10月24日 です。
forkd は何に使えますか?
各リクエストにライブラリを事前ロードした新しいサンドボックスを割り当てる、コードインタープリターセッションの実行。 エージェントの評価に向けて、数百件のリポジトリチェックアウトやテストロールアウトを並列実行。 KVMで分離されたセルフホストLinuxホスト上で、ユーザーごとのコード実行環境を提供。 実行中のエージェントのサンドボックス状態をフォークし、次の複数の選択肢を試行。
forkd のインストール方法は?
READMEのインストールセクションに従ってforkdをインストールする スナップショットタグから3つのサンドボックスをフォークする: forkd fork --tag py-pandas -n 1
forkd はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/deeplethe/forkd

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト