cloudflare/computer

Give your agent a computer 👾

何を解決するか

Cloudflare Computer は、さまざまな実行環境の作業ディレクトリとして使用できる永続的で仮想的なファイルシステムを作成する方法を提供します。Durable Objects を介して SQLite データベースに保存された一貫した状態を維持しながら、隔離されたサンドボックス(コンテナまたは Workers)でコードやシェルコマンドを実行できます。

動作方法

このシステムは、SQLite にファイルシステムの権威ある状態を保持する Durable Object を使用します。この状態は、以下の3つのプラグイン可能な実行バックエンドのいずれかに投影されます:

  • コンテナ:Linux サンドボックスコンテナ内で実際の FUSE マウントとして状態を投影し、実際のバイナリとネットワークアクセスを使用可能にします。
  • Isolate shell:Dynamic Worker 内で just-bash を介して bash シェルを実行します。
  • Isolate JavaScript:Dynamic Worker 内で ECMAScript モジュールを実行し、仮想ファイルシステムにアクセスできます。

実行は単一のエントリポイント(workspace.runtime.exec)で処理され、選択されたバックエンドに基づいてシェルコマンドまたは JavaScript モジュールを実行するかを判断します。

対象ユーザー

永続的なワークスペース、任意のコード/コマンドの実行、隔離された実行環境を必要とするエージェント、プロトタイプ、実験的ツールを開発している開発者向けです。

特徴

  • プラグイン可能なランタイム:完全な Linux コンテナと軽量な Worker イソレートの間で切り替え可能。
  • SQLite ベースの状態:Durable Objects を使用して権威的で永続的なファイルシステム状態を保持。
  • FUSE 統合:コンテナバックエンドは、RPC を介して状態を同期するデーモン(computerd)を使用。
  • エージェント対応:ワークスペースを作業ディレクトリとして使用する MCP(Model Context Protocol)およびチャットエージェントの例を含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト