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,不需要開放入站埠 |
| 金鑰和產物不想進臨時 VM | secrets、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_PROXY 或 https_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常用命令:
| 動作 | 命令 |
|---|---|
| 檢查 CLI | agent --version |
| 瀏覽器登入個人機器 | agent login |
| 在當前 repo 啟動 worker | agent worker start |
| 給機器命名 | agent worker start --name "my-devbox" |
| 指定 repo 目錄 | agent worker start --worker-dir /path/to/repo |
| 使用 API key | agent worker start --api-key "your-api-key" |
| 使用 user-scoped token | agent worker start --auth-token "token" |
| 從檔案讀取長期 token | agent 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 只有在三個條件同時成立時才會把任務路由到這臺機器:
- 機器屬於觸發請求的 Cursor 使用者。
- 機器的
--name和請求中的worker=<name>或machine=<name>匹配。 - 機器註冊的 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_hosted、pool= 和單獨的 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.sh | agent session | worker 無法啟動或維持 session |
api2direct.cursor.sh | agent session | worker 無法啟動或維持 session |
cloud-agent-artifacts.s3.us-east-1.amazonaws.com | artifact 上傳 | 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 URL | Cursor backend | Cursor 管 OAuth、session cache 和 HTTP 連線 |
如果 MCP server 必須訪問私有網路,優先用 command / stdio,因為程序直接跑在 worker 機器上。HTTP MCP 則從 Cursor backend 發起連線,適合公開可達或已經有 OAuth 邊界的服務。
本章自檢
上線前至少回答這 4 個問題:
- worker 是從哪個 repo checkout 啟動的,git remote 是否匹配目標 repo?
- 觸發入口中是否顯式寫了
worker=或machine=? - 防火牆是否允許
api2.cursor.sh、api2direct.cursor.sh和 artifact host? - artifacts、日誌和 PR diff 中是否可能出現 secrets、客戶資料或內網截圖?
透過標準:你能讓 Cloud Agent 在指定機器上跑一個真實任務,並能用 debug report、worker name、repo remote 和 PR 結果解釋整條鏈路。
官方來源
- Cursor My Machines —— 官方 My Machines、worker 啟動、worker routing、artifacts、networking 和 MCP 行為。
- Cursor Self-Hosted Pool —— 官方企業 worker pool 路由。
- Cursor Cloud Agent Security —— 官方 Cloud Agent 安全和網路邊界。