如何使用
- Background Agent Sidebar:在原生 Cursor 側邊欄的背景代理分頁中,檢視與你帳號關聯的所有背景代理、搜尋現有代理,並啟動新的代理。
- Background Agent Mode:按下 以在 UI 中啟用背景代理模式。
背景代理需要保留數天的資料。
設定
GitHub 連線
IP 允許清單設定
基礎環境設定
- Install 指令會在代理啟動前執行,用來安裝執行階段相依項。這可能是跑
npm install
或bazel build
。 - Terminals 會在代理運作時執行背景程序——例如啟動網頁伺服器或編譯 protobuf 檔案。
COPY
整個專案——我們會管理工作區並檢出正確的 commit。相依安裝還是放在 install 指令的腳本裡處理。
輸入開發環境需要的任何機密——這些會以靜態加密(使用 KMS)儲存在我們的資料庫中,並在背景代理環境中提供。
機器設定位於 .cursor/environment.json
,可以提交到你的 repo(建議)或私下儲存。設定流程會引導你建立 environment.json
。
維護指令
environment.json
中的 install
指令。這個指令等同於開發者在切換分支時會執行的動作—安裝任何新的相依套件。
對大多數人來說,install
指令就是 npm install
或 bazel build
。
為了讓機器能快速啟動,我們會在 install
指令執行後快取磁碟狀態。請把它設計成可重複執行。只有 install
指令產生的磁碟狀態會被保留—在這裡啟動的行程在代理程式啟動時不會存在。
啟動指令
install
之後,機器會啟動,接著我們會執行 start
指令,然後啟動所有 terminals
。這會啟動在代理執行期間應該保持運行的程序。
start
指令通常可以略過。只有在你的開發環境依賴 Docker 時才使用它——在 start
指令中放入 sudo service docker start
。
terminals
是用來跑應用程式的程式碼。這些終端機會在一個 tmux
工作階段中執行,供你和代理使用。比如,很多網站的 repo 會把 npm run watch
放在一個 terminal 裡。
environment.json
規格
environment.json
檔案可能長這樣:
模型
價格
安全性
- 為想編輯的 repo 授予我們的 GitHub 應用程式讀寫權限。我們會用這個權限來 clone 該 repo 並進行修改。
- 你的程式碼會在我們的 AWS 基礎設施中、彼此隔離的 VM 內執行,並在 agent 可存取期間儲存在 VM 磁碟上。
- agent 可存取網際網路。
- agent 會自動執行所有終端機指令,讓它能反覆跑測試。這和前景 agent 不同,後者每個指令都需要使用者核准。自動執行會帶來資料外洩風險:攻擊者可能發動提示注入攻擊,誘使 agent 將程式碼上傳到惡意網站。參見 OpenAI 對背景 agent 提示注入風險的說明。
- 如果關閉隱私模式,我們會收集提示與開發環境資料以改進產品。
- 如果在啟動背景 agent 時關閉隱私模式,之後在 agent 執行期間再啟用,agent 仍會以關閉的隱私模式持續執行直到完成。
儀表板設定
預設設定
- 預設模型 – 在執行未指定模型時會使用的模型。選擇任何支援 Max 模式的模型。
- 預設儲存庫 – 留空時,代理會請你選擇儲存庫。在這裡先指定就能跳過這個步驟。
- 基礎分支 – 代理在建立 Pull Request 時要從哪個分支分岔。留空則使用該儲存庫的預設分支。
安全性設定
- 使用者限制 – 選擇 None(所有成員都能啟動背景代理)或 Allow list。若設為 Allow list,你可以精確指定哪些隊友能建立代理。
- 團隊後續 – 開啟後,工作區內任何人都能為他人啟動的代理新增後續訊息;關閉則僅限代理擁有者與管理員能新增後續。
- 顯示代理摘要 – 控制 Cursor 是否顯示代理的檔案差異圖與程式碼片段。若不想在側邊欄曝光檔案路徑或程式碼,請停用此項。
- 在外部頻道顯示代理摘要 – 將前述切換擴展到 Slack 或你已連結的任何外部頻道。