# camelAI 推出全新無虛擬機器架構，將 AI 程式開發代理移至 Cloudflare Durable Object 並以 JavaScript 取代 bash

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 原作者：Miguel Salinas (@Vercantez) · 策展與摘要：EasyVibeCoding · 平台：X (Twitter) · 熱度：🔥🔥 · 日期：2026-07-29

> 原始來源：https://x.com/vercantez/status/2082138839888589200

## 中文摘要

camelAI 推出全新無虛擬機器架構，將 AI 程式開發代理移至 Cloudflare Durable Object 並以 JavaScript 取代 bash。

**核心架構轉變**
camelAI 團隊將其開源的程式開發代理從傳統虛擬機器與容器沙盒，遷移至完全運行於 Cloudflare Durable Object 的架構中。透過三次重大架構重構，團隊成功解決了過去為每位使用者維持隨時待命的虛擬機器所帶來的沉重成本與擴展難題。新的架構不僅大幅降低基礎設施開銷，也讓整體運作延遲更低，且更適合交由較小型的模型來驅動。

**開發歷程與架構演進**
- 零代（VM 時代）：最初採用 Claude Code harness，需要完整的虛擬機器來執行。儘管自行建置的容器服務可行，但為每位使用者保留隨時待命的虛擬機器與快速掛載磁碟的成本過高，難以隨使用者成長而擴展。
- 一代（將 Agent 移出虛擬機器）：改用 Mario Zechner 的開源程式開發代理 pi 底層程式庫，並建立自己的 harness 運行於 Cloudflare Durable Object 中。每個對話執行緒擁有各自的 Durable Object，讓代理透過遠端呼叫虛擬機器來執行指令，藉此改善延遲問題，但仍未解決每位使用者一台虛擬機器所帶來的成本與擴展問題。
- 二代（移除虛擬機器）：廢除後端的虛擬機器，改用 Cloudflare agents 團隊的實驗性專案 Shell（並大量重用其程式碼），讓每個專案的檔案系統直接存在 Durable Object 的 SQLite 資料庫中（容量上限 10 GB，小於約 1.5 MB 的檔案存於 SQLite，大於該大小則寫入 R2）。版本歷史則透過 Cloudflare Artifacts 維持 Git 相容的儲存庫。
- 三代（移除 bash）：移除了代理對 bash 的依賴（起因是帶有 bash 與網路存取的代理必須攜帶憑證才能做事，而先前的認證代理 URL 作法愈補愈醜、難以強制執行），改讓代理撰寫 JavaScript，並透過 Code Mode 與 Cloudflare 的動態 Worker 載入器在 V8 隔離區中執行。憑證不會進入沙盒，代理僅呼叫明確定義的方法，並將專案建置與 Python 筆記本等少數確實需要 Linux 的工作交由短期容器處理。作者也坦言這個架構的代價：團隊必須預先設想代理需要什麼——bash 時代代理能自行想辦法，現在少了哪項能力就得由團隊補上；不過作者認為這股壓力反而對產品有益，因為它逼著團隊去想使用者實際在做什麼，並為此建立一等公民的支援路徑。

**實際影響與開源資訊**
改用動態 Worker 後，系統改按執行次數計費，而非按運行時數（uptime）計費，數千次執行的成本僅相當於過去容器服務幾分鐘的開銷。對於使用者而言，介面與操作體驗完全沒有改變，代理依然能讀取、寫入、搜尋與部署全端應用程式。整套專案程式碼已於 [camelAI GitHub 儲存庫](https://github.com/qaml-ai/camelAI) 完全開源，相關實作細節與檔案皆可自由查閱。

## 標籤

開源專案, 功能更新, Agent, camelAI, Cloudflare
