如何使用
- 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 或你已連結的任何外部頻道。