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)與聊天代理的範例,這些代理將工作區作為工作目錄使用。
相關
- 專案
- 專案
- 專案
- 專案
- 專案