1503 字
8 分鐘

Cloudflare Cursor Cloud Agents 自架怎麼做?Workers Containers 部署實作

Cloudflare 在 2026 年 9 月 2 日發布 Cursor Cloud Agents 的部署範本,讓 Cursor 負責 agent loop、推理與規劃,Cloudflare Workers Containers 負責在隔離環境中執行指令、編輯檔案與操作 repository。

這個方案適合已經使用 Cursor Enterprise,且希望把 agent 工作環境放在自己的 Cloudflare 帳號與網路邊界內的團隊。它不是在筆電上多裝一個 CLI;你需要準備 self-hosted machines、service-account API key、Workers Paid、Containers、R2、Node.js 20 以上與正在執行的 Docker daemon。

先理解這個架構在解決什麼#

每個 Cursor session 會在一個獨立的 container 中執行。Cursor 仍是 agent 的控制平面,Cloudflare 則提供工作環境與生命週期:

元件負責什麼
Cursor EnterpriseAgent loop、模型推理、規劃與工作分派
Cursor self-hosted machine pool讓團隊選擇可用的執行池
Worker 與 Durable Object接收排程、維持 session 路由與狀態
Cloudflare Containers隔離執行程式碼、指令與 repository 操作
R2選用的 repo-bound workspace snapshot 儲存

Container 沒有 inbound port 或公開 IP,Worker 會透過 outbound connection 連到 Cursor。工作完成、閒置或超過生命週期時,container 會被停止;不要把這個執行環境當成長駐 VM。

部署前的 prerequisites#

先逐項確認,少一項就不適合直接進入 deploy:

  • Cursor Enterprise,並已啟用 self-hosted machines。
  • 一個 Cursor team service account 的 API key,且具備 agent scope。
  • Cloudflare Workers Paid,帳號可使用 Containers 與 R2。
  • Node.js 20 以上。
  • 本機或部署流程中有正在執行的 Docker daemon。
  • 若要操作 private repository,準備 GitHub username 與 token。

其中 Cursor Enterprise self-hosted machines 和 service-account key 是 Cursor 端資格;Workers Paid、Containers 與 R2 是 Cloudflare 端條件。兩邊都通過,session 才有地方執行。

用官方範本建立 Worker#

Cloudflare 官方教學使用 anysphere 的 cloudflare-workers repository。先在一個新的工作資料夾執行:

git clone https://github.com/anysphere/cloudflare-workers.git
cd cloudflare-workers
npm install
npx wrangler login

建立 snapshot 用的 R2 bucket:

npx wrangler r2 bucket create cursor-pool-worker-snapshots

再把 Cursor API key 放進 Worker secret。指令會要求你在互動提示中貼上 key,不要把真正的金鑰寫進 shell history 或 commit:

npx wrangler secret put CURSOR_API_KEY

完成後開啟範本的 Wrangler 設定,填入 Cursor team 的 pool 名稱:

vars:
CURSOR_POOL: your-cursor-pool

同時確認 containers 設定的 max_instances 符合預期併發量。這個值不是單純的效能開關,也會影響同時啟動多少隔離工作環境;第一次上線先用小數字做 pilot。

如果 agent 需要 clone private repository,再設定 GitHub secrets。GitHub username 使用 x-access-token,token 則放在 GIT_TOKEN:

npx wrangler secret put GIT_USERNAME
npx wrangler secret put GIT_TOKEN

最後部署:

npx wrangler deploy

官方範本會依 Git remote 與 Cursor pool 做 repo-bound routing。不要手動新增 repo label 或自行改一套路由規則;先照範本的 team pool 與 Git remote 流程驗證,否則排錯時很難分辨是 Cursor 設定還是 Worker 自訂邏輯造成。

Repo-bound 和 any-repo 要先選清楚#

這個選擇會影響 workspace 初始化與 snapshot 行為:

模式Workspace適合情境Snapshot
Repo-bound依 Git remote 建立 repository workspace固定維護某些 repository可選用 R2 snapshot
Any-repo空白 workspace,沒有預設 remote臨時探索或由 agent 後續指定 repository不支援 repo-bound snapshot 流程

Repo-bound workspace 預設會放在 container 的 $HOME/workspaces/repo-0。第一次啟動通常會 clone repository,因此 cache miss 或初次啟動較慢是正常現象。若使用 private repository,先確認 GIT_TOKEN 對目標 repository 有權限,再看 Worker log。

Snapshot 是選用功能,不是每個工作都必須開啟。若要讓公開 Worker URL 提供 snapshot 操作,還要設定 SNAPSHOT_AUTH_TOKEN 與 WORKER_PUBLIC_URL;先把 session 執行與 Git 權限跑通,再增加 snapshot 會比較容易控管風險。

觀測 session 與本機測試#

部署後先看 Worker log 和 Container 狀態:

npx wrangler tail
npx wrangler containers list

這個架構使用每五分鐘執行一次的 cron 機制檢查工作,並透過 SSE 接收更新。要在本機觸發排程,可先啟動:

npx wrangler dev --test-scheduled

再呼叫測試 endpoint:

curl "http://localhost:8787/__scheduled?cron=*/5+*+*+*+*"

建議把以下三段 log 放在同一個測試紀錄:

  1. Cursor team pool 是否收到 session。
  2. Worker 是否建立 Durable Object 與 container。
  3. container 是否成功 clone repository、執行 agent worker 並回傳 SSE。

若只看最後的 Copilot 或 Cursor UI,很容易把「沒有分派到 pool」誤認成「container 啟動失敗」。

常見排錯順序#

症狀先檢查
完全沒有 sessionCursor self-hosted machine pool、CURSOR_POOL 與 service-account agent scope
回傳 401CURSOR_API_KEY secret 是否存在、是否貼錯環境
pool 有 session 但 container 沒啟動Workers Paid、Containers 設定、max_instances 與 Docker 執行環境
clone private repo 失敗GIT_USERNAME 是否為 x-access-token、GIT_TOKEN 權限與 repository remote
第一次啟動很慢初次 clone、image pull 或 snapshot cache miss
session 執行一段時間後消失container idle timeout、max lifetime 與 Worker log

先用公開、很小的 repository 做 smoke test,再測 private repository 和較大的工作。每次只改一個變數,並保留 pool、Worker、container 三側的時間戳,會比反覆重跑更快找到斷點。

給團隊的上線建議#

把這個部署當成 agent 執行平面,而不是自動合併程式碼的保證。repository 權限、Git token、container 的 outbound access 與 session idle policy 仍要依團隊標準治理。

第一階段可只開一個 Cursor pool 和低 max_instances,限定測試 repository;第二階段再加 private repository 與 snapshot;最後才擴大到正式團隊。若團隊原本已用 Git worktree 管理多個 agent 工作區,也可以先閱讀Git worktree 與 AI coding agent 的工作流整理,把分支與 workspace 邊界先定義好。

常見問題#

Q: 這個方案需要把 Cursor 的模型推理搬到 Cloudflare 嗎?#

A: 不需要。官方架構是 Cursor 負責 agent loop、推理與規劃,Cloudflare 負責 container 中的指令、檔案與 repository 操作。

Q: 沒有 Cursor Enterprise 可以部署嗎?#

A: 官方教學的前置條件包含 Cursor Enterprise self-hosted machines 與 team service-account API key。若缺少這些條件,不能直接把這份範本當成一般 Cursor 個人帳號的部署流程。

Q: 一定要啟用 R2 snapshot 嗎?#

A: 不一定。R2 snapshot 是 repo-bound workspace 的選用功能;先完成 session、container 與 Git 權限驗證,再決定是否加入 snapshot。

參考資料:

Cloudflare Cursor Cloud Agents 自架怎麼做?Workers Containers 部署實作
https://laplusda.com/posts/cloudflare-cursor-cloud-agents-self-hosted/
作者
Zero
發佈於
2026-09-04
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。