AI 程式設計教程中文版
官方教程中文版Cloud Agent 與後臺任務

My Machines

基於 Cursor 官方 My Machines 文件解釋本機 worker、worker= 路由、repo 匹配、artifacts、網路和 MCP 邊界。

My Machines 讓 Cloud Agent 使用你已經有的機器:筆記本、devbox、遠端 VM 或團隊內網工作站。

閱讀目標:讀完本章,你應該能把一臺已有開發機註冊給 Cloud Agent,並解釋為什麼任務會在這臺機器執行、什麼時候不會 fallback、哪些資料會離開機器。

1. 先判斷

My Machines 適合“這臺機器已經能跑專案”的場景。Cloud Agent 的推理和任務迴圈仍在 Cursor 雲端,但檔案編輯、終端命令、瀏覽器動作和工具呼叫會在你的機器上執行。

這解決的是三類問題:

問題My Machines 的價值
本地依賴複雜直接複用現有 repo、依賴、構建快取和測試輸出
內網服務不可公開worker 從內網主動連 Cursor,不需要開放入站埠
金鑰和產物不想進臨時 VMsecrets、cache、build outputs 留在你的機器上

不適合把它當成無狀態雲 runner。它依賴 worker 程序持續執行,也依賴 worker 所在目錄的 git remote 正確匹配目標 repo。

2. 工作方式

worker 會從你的機器向 Cursor 發起 outbound connection。Cursor 雲端 agent 透過這條連線下發 tool calls,你的機器執行實際操作。

flowchart TD
  User["Start agent from Web / Slack / GitHub / Linear"] --> Cloud["Cursor cloud agent loop"]
  Cloud --> Worker["Outbound connection to your worker"]
  Worker --> Repo["Local repo checkout"]
  Worker --> Tools["Terminal / editor / browser / MCP stdio tools"]
  Worker --> Artifacts["Optional artifacts upload"]
  Worker --> Result["Branch / logs / comments / dashboard result"]

這條鏈路沒有入站埠、公開 IP 或 VPN tunnel 要求。如果你的公司網路只允許代理出站,worker 環境裡設定 HTTPS_PROXYhttps_proxy

3. 快速啟動

官方路徑是先安裝 agent CLI,再登入,再啟動 worker。

# macOS, Linux, WSL
curl https://cursor.com/install -fsS | bash

# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex

常用命令:

動作命令
檢查 CLIagent --version
瀏覽器登入個人機器agent login
在當前 repo 啟動 workeragent worker start
給機器命名agent worker start --name "my-devbox"
指定 repo 目錄agent worker start --worker-dir /path/to/repo
使用 API keyagent worker start --api-key "your-api-key"
使用 user-scoped tokenagent worker start --auth-token "token"
從檔案讀取長期 tokenagent worker start --auth-token-file /var/run/cursor/token

--auth-token-file 對 Kubernetes 或長期 devbox 更實用,因為掛載檔案可以被輪換;環境變數通常在程序啟動時固定。

4. 從聊天入口指定機器

Slack、GitHub、Linear 這些入口預設不一定知道你要用哪臺機器。要指定 My Machines,使用 worker=machine=

入口示例
Slack@Cursor worker=my-devbox fix the flaky test
GitHub@cursoragent machine=my-devbox fix the failing build
Linear在 issue body 寫 worker=my-devbox 或使用 worker / my-devbox 這類父子 label

Cursor 只有在三個條件同時成立時才會把任務路由到這臺機器:

  1. 機器屬於觸發請求的 Cursor 使用者。
  2. 機器的 --name 和請求中的 worker=<name>machine=<name> 匹配。
  3. 機器註冊的 repo 與觸發入口解析出的目標 repo 匹配。

repo 來源不是機器名,而是觸發入口:

入口repo 解析
Slack優先看訊息裡的 repo=,然後是頻道預設 repo、使用者預設 repo、團隊預設 repo
Linear從 issue、project、repo=、labels 或 dashboard 預設值解析
GitHub使用提到 @cursoragent 的 issue、PR 或 review comment 所屬 repo

每臺機器的註冊 repo 來自啟動 worker 的目錄中的 git remote。要服務多個 repo,就在每個 repo checkout 裡分別啟動 worker。

5. 失敗時不會亂跑

如果 worker=<name> 找到同名機器,但這臺機器註冊的是另一個 repo,Cursor 會拒絕任務,而不是把 repo A 的任務丟到 repo B 的 checkout。

如果沒有機器同時匹配 linked user、machine name 和 target repo,請求也會失敗,不會自動 fallback 到其他環境。

常見修復:

  • 確認 GitHub / Slack / Linear 賬號和 Cursor 使用者已正確關聯。
  • 確認 worker 在目標 repo checkout 下啟動。
  • 確認 git remote 指向目標 repo。
  • 確認機器名拼寫一致。
  • agent worker start --debug 生成 preflight report,看認證、repo label 和可見 worker 狀態。

self_hostedpool= 和單獨的 repo= 不會指定 My Machines。它們屬於 Self-hosted Pool 路由;如果要用個人機器,必須配 worker=machine=

6. Artifacts 和網路

artifacts 行為與 Cursor-hosted agents 一致:agent 在 worker 內生成截圖、影片或日誌引用,再由 worker 透過 HTTPS 上傳到 Cursor-managed storage。

worker 至少需要 outbound HTTPS 訪問:

Host用途阻斷後結果
api2.cursor.shagent sessionworker 無法啟動或維持 session
api2direct.cursor.shagent sessionworker 無法啟動或維持 session
cloud-agent-artifacts.s3.us-east-1.amazonaws.comartifact 上傳session 繼續,但 PR 嵌入、dashboard preview 或通知附件缺失

如果防火牆只支援 wildcard,*.s3.us-east-1.amazonaws.com 能覆蓋 artifacts host,但會放開該 region 的其他 bucket。能配精確 host 時優先精確 host。

7. MCP 路由邊界

My Machines 下 MCP 按 transport 分流:

Transport執行位置適合場景
Command / stdio你的機器訪問內網 API、本地服務、資料庫代理或私有網路
HTTP / SSE URLCursor backendCursor 管 OAuth、session cache 和 HTTP 連線

如果 MCP server 必須訪問私有網路,優先用 command / stdio,因為程序直接跑在 worker 機器上。HTTP MCP 則從 Cursor backend 發起連線,適合公開可達或已經有 OAuth 邊界的服務。

本章自檢

上線前至少回答這 4 個問題:

  1. worker 是從哪個 repo checkout 啟動的,git remote 是否匹配目標 repo?
  2. 觸發入口中是否顯式寫了 worker=machine=
  3. 防火牆是否允許 api2.cursor.shapi2direct.cursor.sh 和 artifact host?
  4. artifacts、日誌和 PR diff 中是否可能出現 secrets、客戶資料或內網截圖?

透過標準:你能讓 Cloud Agent 在指定機器上跑一個真實任務,並能用 debug report、worker name、repo remote 和 PR 結果解釋整條鏈路。

官方來源

接下來去哪

本頁目錄