このプロジェクトについて

Cloudflare Computerは、ソフトウェアエージェントに永続的な「コンピュータ」を提供するプレビュー段階のオープンソースプロジェクト(MITライセンス)です。信頼できる状態はCloudflare Durable Object内のSQLiteに保存される仮想ファイルシステムであり、workspace.runtimeを通じて単一のプラグイン式実行インターフェースを公開します。 現在、3つの実行バックエンドが用意されています。Containerバックエンドは、SQLiteの状態をサンドボックスコンテナ内の実際のFUSEマウントとして投影します。computerdというサンドボックス側のデーモンが状態をファイルシステムとしてマウントし、capnweb RPCチャネルを介して変更を同期することで、実際のバイナリと実際のネットワークアクセスを備えた完全なLinuxユーザーランドを提供します。Isolate shellバックエンドはDynamic Worker内でjust-bashを実行し、Workers RPCを介して信頼できるWorkspaceにアクセスするため、セカンダリスコアや同期往復が発生しません。Isolate JavaScriptバックエンドは、構造化された入出力、永続的な相対インポート、設定されたライブラリ、Workspace対応のnode:fs/promises、信頼できるws:gitおよびws:artifactsモジュールを使用して、新しいDynamic WorkerでECMAScriptモジュールを実行します。 Workspaceは安定したIDの下で複数のバックエンドを登録できます。workspace.runtime.exec(source, { backend })が単一の実行エントリーポイントであり、選択されたバックエンドによってsourceがシェルのコマンドなのかESモジュールなのかが決定されます。バックエンドは初回使用時に遅延接続され、Workspaceをバックエンドなしで構築し、ファイルシステムのみを公開することも可能です。 本プロジェクトは明確に「プレビュー専用」とラベル付けされています。APIは不安定で、設計は変更される可能性があり、本番環境での使用には適していません。docs/以下の仕様は将来的な展望を示すものであり、現在のコードの説明として読むべきではありません。 リポジトリは小規模なモノレポです。パッケージには、@cloudflare/dofs(Durable Object SQLite対応の仮想ファイルシステム、同期プロトコルの構成要素、Node用@platformatic/vfsプロバイダー)、@cloudflare/computer-rpc(capnwebワイヤー型と共有サーバー/クライアントヘルパー)、@cloudflare/computerd(サンドボックスコンテナ内で実行されるFUSEマウントとHTTP/WebSocket RPCデーモン)、@cloudflare/computer(Durable Objectから消費されるトップレベルパッケージ)が含まれます。プライベートなDockerイメージコンテキストには、事前ビルドされたcomputerd linux-x64バイナリが含まれており、npmパッケージではなくイメージがリリースアーティファクトとして機能します。 examplesディレクトリには、公開インターフェースを実証する実行可能なWorkersが含まれています。write/read/exec HTTPエンドポイントを持つコンテナの例、コンテナを必要としないworker-shellおよびworker-javascriptバリアント、各バックエンドにわたるnone、all、カスタムegressポリシーを示すegressの例、永続的なワークスペース、Workerシェル、完全なLinuxコンテナでバックアップされたCode Mode codeツールを公開するMCPの例、生成されたJavaScriptがWorkspaceから長いコンテキストを読み取り、制限付きモデルワーカーを呼び出し、コードで構造化された結果を削減するrlmの例、@cloudflare/thinkチャットエージェントがワークスペースを作業ディレクトリとして使用するthinkおよびthink-compare-runtimesの例(コンテナとワーカーランタイムで同じエージェントタスクを並行して実行するWeb UIを含む)、Markdownレシピカードを作成し、コンテナ内でpandocを実行してPDFを生成するステップバイステップチュートリアル、ワークスペースでWorkerプロジェクトを生成し、Cloudflare Artifactsにクローン可能なリポジトリとして公開するartifactsの例、そしてプロンプトをWorkers AIで画像に変換し、共有リンクを返すassetsの例があります。 リポジトリはdocs/19_performance.mdでファイルシステムのベンチマークを公開しています。プロジェクトは、computerdのFUSEマウントがメタデータ集中型のワークロードで実際のディスクを上回り、大規模なシーケンシャルI/Oでは劣ることを示しており、再現手順と比較が含まれています。 貢献は、イシューおよびディスカッションを通じたバグレポート、修正提案、機能リクエスト、設計提案に限定されています。要望のないプルリクエストは受け入れられません。Env型の例はリポジトリにコミットされるのではなく、wrangler typesによって生成されます。