cloudflare/computer

Give your agent a computer 👾

解決的問題

Cloudflare Computer 提供了一種建立持久性虛擬檔案系統的方法,可用作各種執行環境的工作目錄。它允許開發者在隔離的沙箱(容器或 Worker)中執行程式碼或 shell 指令,同時透過 Durable Objects 將一致的狀態儲存在 SQLite 資料庫中。

運作方式

系統使用 Durable Object 來儲存檔案系統的權威狀態(儲存在 SQLite 中)。此狀態隨後被投影至以下三種可插入的執行後端之一:

  • 容器:在 Linux 沙箱容器中作為真實的 FUSE 掛載投影狀態,支援使用真實二進位檔與網路存取。
  • 隔離 shell:在 Dynamic Worker 中透過 just-bash 執行 bash shell。
  • 隔離 JavaScript:在 Dynamic Worker 中執行 ECMAScript 模組,並可存取虛擬檔案系統。

執行透過單一入口點(workspace.runtime.exec)處理,根據所選後端決定是執行 shell 指令還是 JavaScript 模組。

適用對象

專為需要持久化工作區、執行任意程式碼/指令以及隔離執行環境的開發者設計,適用於建構代理、原型與實驗性工具。

主要亮點

  • 可插入執行時:可在完整的 Linux 容器與輕量級 Worker 隔離環境之間切換。
  • SQLite 支援的狀態:使用 Durable Objects 作為權威且持久的檔案系統狀態儲存。
  • FUSE 集成:容器後端使用守護程序(computerd)透過 RPC 同步狀態。
  • 代理就緒:包含 MCP(Model Context Protocol)與聊天代理的範例,這些代理將工作區作為工作目錄使用。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案