本指南介紹如何在組織內的開發者電腦上部署 Cursor 編輯器和 命令行界面 工具。大多數組織會同時部署編輯器 (用於日常開發) 和 命令行界面 (用於自動化、CI/CD 和腳本編寫) 。
如需瞭解其他部署方式,例如 SCM 集成 (Bugbot、BGA 應用) 或網頁端訪問,請參閱相關集成文檔。
通過 MDM 部署編輯器¶
將 Cursor 編輯器和智能體部署到用戶工作站,並通過移動設備管理 (MDM) 系統實施策略。
工作原理¶
- IT 團隊將 Cursor 應用打包以供部署
- 通過 MDM (Jamf、Intune 等) 推送至用戶設備
- 用戶可在其主要開發設備上使用 Cursor
MDM 可讓您爲 Cursor 強制執行策略,例如允許的團隊 ID 和擴展。
您還可以強制執行 Workspace Trust 等設置,並控制自動更新和新版本的部署。
MDM 配置¶
您可以通過設備管理解決方案集中管理 Cursor 的特定功能,以確保滿足組織需求。指定 Cursor 策略後,該策略的值會覆蓋用戶設備上對應的 Cursor 設置。
Cursor 支持在 Windows (組策略) 、macOS (配置描述文件) 和 Linux (JSON 策略文件,版本 2.0 及更高版本) 上使用策略。
Cursor 目前提供以下策略,用於控制由管理員管理的功能:
| 策略 | 描述 | Cursor 設置 |
|---|---|---|
| AllowedExtensions | 控制可安裝哪些擴展。 | extensions.allowed |
| AllowedTeamId | 控制允許哪些團隊 ID 登錄。使用未經授權團隊 ID 的用戶將被強制登出。 | cursorAuth.allowedTeamId |
| ExtensionGalleryServiceUrl | 配置自定義擴展市場 URL。 | extensions.gallery.serviceUrl |
| NetworkDisableHttp2 | 禁用所有請求的 HTTP/2,改用 HTTP/1.1。 | cursor.general.disableHttp2 |
| UpdateMode | 控制自動更新行爲。設爲 ‘none’ 可禁用更新。 | update.mode |
| WorkspaceTrustEnabled | 控制是否啓用 Workspace Trust。 | security.workspace.trust.enabled |
使用 MDM 管理運行模式允許列表¶
您還可以通過 MDM 部署 Cursor 的權限文件,管理哪些終端命令和 MCP 工具無需提示即可運行,並對 Auto-review 模式分類器進行引導。
文件路徑爲 ~/.cursor/permissions.json。用戶還可以在 <workspace>/.cursor/permissions.json 中添加按倉庫配置的文件;兩個文件中的條目會按順序合併。
文件格式如下:
| 鍵 | 類型 | 必填 | 含義 |
|---|---|---|---|
terminalAllowlist |
string[] |
否 | 無需批准即可運行的終端命令。啓用沙箱後,不在允許列表中的受支持終端命令可在沙箱中運行。每個條目都會與完整命令字符串匹配。 |
mcpAllowlist |
string[] |
否 | 無需批准即可運行的 MCP 工具。MCP 工具不會在本地沙箱中運行。每個條目使用 server:tool 語法。 |
autoRun |
object |
否 | 使用自然語言 allow_instructions 和 block_instructions 數組引導 Auto-review 模式分類器。適用於 Cursor 3.6 及更高版本中的 shell、MCP 和 Fetch 調用。請參閱 permissions.json 參考。 |
mcpAllowlist 條目支持以下形式:
| 條目 | 含義 |
|---|---|
server:tool |
某個特定 MCP 服務器上的特定工具 |
server:* |
某個 MCP 服務器上的所有工具 |
*:tool |
任意 MCP 服務器上的指定工具名稱 |
*:* |
所有 MCP 工具 |
terminalAllowlist、mcpAllowlist 和 autoRun 均爲可選項。如果某個鍵被省略或爲空 (合併按用戶和按倉庫文件後) ,Cursor 會回退到由編輯器管理的該類別允許列表。
示例:
{
"terminalAllowlist": [
"npm install",
"pnpm test",
"python -m pytest"
],
"mcpAllowlist": [
"linear:*",
"github:create_pull_request",
"*:search"
],
"autoRun": {
"block_instructions": [
"Block any command that drops or truncates a database table."
]
}
}
由於這是一個普通文件,你可以使用 Jamf、Kandji、Intune 或任何其他能將文件寫入用戶 Cursor 數據目錄的設備管理工具進行分發。
允許列表優先級如下:
- 團隊儀表盤或其他由管理員控制的設置
- 託管的
~/.cursor/permissions.json與<workspace>/.cursor/permissions.json拼接 - 編輯器設置和內聯 添加到允許列表
由管理員控制的設置會覆蓋該類別中由文件定義的值。按用戶和按倉庫的文件通過拼接合並;編輯器設置不會與這兩者合併。
Cursor 會監視兩個 permissions.json 路徑,因此更新會自動生效,無需重新啓動。
Windows 組策略¶
Cursor 支持基於 Windows 註冊表的組策略。安裝策略定義後,管理員可使用本地組策略編輯器管理策略值。
添加策略:
- 從
AppData\Local\Programs\cursor\policies複製策略 ADMX 和 ADML 文件。 - 將 ADMX 文件粘貼到
C:\Windows\PolicyDefinitions目錄,並將 ADML 文件粘貼到C:\Windows\PolicyDefinitions\<your-locale>\目錄。 - 重新啓動本地組策略編輯器。
- 在本地組策略編輯器中設置相應的策略值 (例如,爲
AllowedExtensions策略設置{"anysphere": true, "github": true}) 。
策略可在計算機級別和用戶級別設置。若兩者均已設置,則以計算機級別爲準。
重要提示: 設置策略值後,將覆蓋在任何級別 (默認值、用戶、工作區等) 配置的 Cursor 設置值。這是一項全局覆蓋,用戶無法更改這些設置。
在 Cursor 2.1 中,我們將組策略編輯器中的類別名稱更名爲 Cursor。舊鍵仍然有效。建議使用當前的 ADMX 策略文件。
Windows 安裝程序¶
Windows 安裝程序基於 Inno Setup。如需在無需用戶交互的情況下以完全後臺方式安裝 Cursor,請使用以下命令行標誌:
全新安裝:
CursorSetup-x64-2.0.exe /SILENT /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /CLOSEAPPLICATIONS /LOG=install.log
更新現有安裝:
更新現有的 Cursor 安裝時,必須使用不同的標誌,其中包含指向標誌文件的 /update 參數。標誌文件是一個空文件,用於通知安裝程序這是一次更新操作。
創建臨時標誌文件,並將其路徑傳遞給安裝程序:
CursorSetup-x64-2.0.exe /VERYSILENT /update="%TEMP%\cursor-update.flag" /CLOSEAPPLICATIONS /LOG=update.log
**注意:**2.0 之前的安裝程序可能無法正確識別 /SILENT 標誌。後續安裝程序 (2.0 及更高版本) 將確保靜默安裝正常進行。
macOS 配置描述文件¶
配置描述文件用於管理 macOS 設備上的設置。配置描述文件是包含鍵值對的 XML 文件,這些鍵值對對應可用的策略。您可以通過 Jamf、Kandji 或 Microsoft Intune 等移動設備管理 (MDM) 解決方案部署這些配置描述文件,也可以手動安裝。
各渠道的 Bundle ID:
配置描述文件中的 PayloadType 必須與您所用渠道的 Cursor Bundle ID 匹配:
| 渠道 | Bundle ID |
|---|---|
| 正式版 | com.todesktop.230313mzl4w4u92 |
| Nightly | co.anysphere.cursor.nightly |
對於大多數企業部署,請使用正式版 Bundle ID:com.todesktop.230313mzl4w4u92。
示例 .mobileconfig 文件¶
以下是一個適用於 macOS 的 .mobileconfig 文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Cursor</string>
<key>PayloadIdentifier</key>
<string>com.todesktop.230313mzl4w4u92.J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string>
<key>PayloadType</key>
<string>com.todesktop.230313mzl4w4u92</string>
<key>PayloadUUID</key>
<string>J6B5723A-6539-4F31-8A4E-3CC96E51F48C</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>AllowedExtensions</key>
<string>{"anysphere":true}</string>
<key>AllowedTeamId</key>
<string>1,2</string>
<key>ExtensionGalleryServiceUrl</key>
<string>https://marketplace.example.com</string>
<key>NetworkDisableHttp2</key>
<true/>
<key>UpdateMode</key>
<string>none</string>
<key>WorkspaceTrustEnabled</key>
<true/>
</dict>
</array>
<key>PayloadDescription</key>
<string>This profile manages Cursor.</string>
<key>PayloadDisplayName</key>
<string>Cursor</string>
<key>PayloadIdentifier</key>
<string>com.todesktop.230313mzl4w4u92</string>
<key>PayloadOrganization</key>
<string>Anysphere</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>F2C1A7B3-9D4E-4B2C-8E1F-7A6C5D4B3E2F</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>TargetDeviceType</key>
<integer>5</integer>
</dict>
</plist>
字符串策略¶
以下示例演示如何配置 AllowedExtensions 策略。示例文件中的策略值默認爲空 (不允許任何擴展) 。
<key>AllowedExtensions</key>
<string></string>
在 <string> 標籤之間添加定義策略所需的 JSON string。
<key>AllowedExtensions</key>
<string>{"anysphere": true, "github": true}</string>
擴展控制規則:
AllowedExtensions 策略接受一個 JSON 對象,其中:
- 鍵可以是發佈者名稱 (例如
"github") 或完整的擴展 ID (例如"ms-azuretools.vscode-docker") - 值爲布爾值,表示是否允許來自該發佈者的擴展或某個特定擴展
- 如果將發佈者設爲
true,則允許該發佈者的所有擴展 - 特定擴展 ID 的優先級高於發佈者規則
對於 AllowedTeamId 策略,請添加以逗號分隔的團隊 ID 列表:
<key>AllowedTeamId</key>
<string>1,3,7</string>
對於 NetworkDisableHttp2 策略,使用布爾值禁用 HTTP/2:
<key>NetworkDisableHttp2</key>
<true/>
布爾策略¶
對於 WorkspaceTrustEnabled 等布爾策略,請使用 <true/> 或 <false/> 標記:
<key>WorkspaceTrustEnabled</key>
<false/>
或啓用該功能:
<key>WorkspaceTrustEnabled</key>
<true/>
UpdateMode 策略¶
UpdateMode 策略用於控制 Cursor 如何處理自動更新。適用於希望控制更新部署時間和方式的組織。
可用值:
none- 禁用所有自動更新manual- 用戶可以手動檢查更新start- Cursor 啓動時檢查更新default- 默認行爲 (與start相同)silentlyApplyOnQuit- 在後臺下載更新,並在退出 Cursor 時應用更新
要禁用自動更新:
<key>UpdateMode</key>
<string>none</string>
WorkspaceTrustEnabled 策略¶
WorkspaceTrustEnabled 策略用於控制是否啓用 Workspace Trust。啓用後,Cursor 會提示用戶爲新工作區選擇普通模式或受限模式。
使用布爾值:
<key>WorkspaceTrustEnabled</key>
<true/>
ExtensionGalleryServiceUrl 策略¶
ExtensionGalleryServiceUrl 策略用於配置擴展市場的 URL,適用於希望使用自定義擴展市場或鏡像的組織。
將 URL 設置爲 string 值:
<key>ExtensionGalleryServiceUrl</key>
<string>https://marketplace.example.com</string>
使用 MDM 解決方案部署¶
可將 .mobileconfig 文件直接上傳到您的 MDM 解決方案:
- Jamf:作爲自定義配置描述文件上傳
- Kandji:在 Library 中添加爲自定義配置文件
- Microsoft Intune:使用正確的負載域名部署爲自定義配置文件
請確保 PayloadType 與 Cursor 渠道的 bundle ID 一致。
參考配置文件¶
Cursor 隨附了一份完整的配置描述文件示例,路徑如下:
# 正式版渠道
/Applications/Cursor.app/Contents/Resources/app/policies/com.todesktop.230313mzl4w4u92.mobileconfig
# Nightly 渠道
/Applications/Cursor Nightly.app/Contents/Resources/app/policies/co.anysphere.cursor.nightly.mobileconfig
文件路徑因渠道而異。請根據您的 Cursor 安裝渠道使用相應的路徑。
重要安全注意事項:
- 提供的
.mobileconfig文件會初始化該版本 Cursor 中可用的所有策略 - 請刪除不需要的策略,以免無意中採用過於嚴格的默認值
- 如果未編輯或從示例中刪除某項策略,該策略將按其默認值強制執行
- 策略值會全局覆蓋所有用戶和工作區設置
在 Finder 中雙擊 .mobileconfig 描述文件,然後在“系統偏好設置”的 通用 > 設備管理中啓用它,即可手動安裝配置描述文件。從“系統偏好設置”中移除該描述文件後,Cursor 中的相關策略也會被移除。
有關配置描述文件的更多信息,請參閱 Apple 的文檔。
Linux 策略文件¶
與 Windows 註冊表或 macOS 配置描述文件不同,Linux 發行版沒有標準化的企業策略系統。Cursor 通過讀取 JSON 文件來提供相應功能。
**注意:**Linux 策略文件支持 Cursor 2.0 及更高版本。
策略文件位於 ~/.cursor/policy.json。
創建策略文件¶
在上述位置創建一個 JSON 文件,以策略名稱爲鍵、策略值爲值。所有策略均爲可選項;僅包含您想強制執行的策略。
policy.json 文件示例¶
{
"AllowedExtensions": "{\"anysphere\": true, \"github\": true}",
"AllowedTeamId": "1,3,7",
"WorkspaceTrustEnabled": true
}
策略格式¶
JSON 文件中的每項策略均對應一個策略名稱:
- AllowedExtensions:定義允許的擴展發佈者的 JSON string
"AllowedExtensions": "{\"anysphere\": true, \"github\": true}"
- AllowedTeamId:以逗號分隔的團隊 ID string
"AllowedTeamId": "1,3,7"
- WorkspaceTrustEnabled:用於控制工作區信任的 布爾
"WorkspaceTrustEnabled": true
注意:AllowedExtensions 的值必須是 JSON string (引號需轉義) ,而不是 JSON 對象。這與 Windows 和 macOS 使用的格式一致。
部署策略¶
使用組織的配置管理工具部署策略文件:
- 使用 Ansible、Puppet 或 Chef 自動部署
- 使用 NFS 或共享網絡存儲集中存放策略文件
- 使用帶有安裝後腳本的包管理器
- 在容器化環境中使用容器基礎鏡像
策略文件的更改會在 Cursor 重啓時生效。系統會監控文件更改,因此更新會自動傳播到正在運行的實例。
如果策略文件不存在,Cursor 將不受策略限制地運行。
非管理員用戶的自動更新¶
受 Electron 框架限制,Cursor 在 macOS 上更新時需要管理員權限。
推薦做法:
- MDM 部署:使用 MDM 工具 (Jamf、Kandji、Intune) 以適當權限集中部署更新
- 自動化部署工具:考慮使用 Installomator 等工具,通過腳本更新
- 禁用更新提示:將
UpdateMode策略設爲none,避免用戶看到更新失敗的通知
對於包含非管理員用戶的組織,最可靠的做法是通過現有的軟件部署流程管理 Cursor 更新,並通過 MDM 策略禁用自動更新。
命令行界面 部署¶
在您的基礎設施上以無圖形界面的 命令行界面 工具運行 Cursor agents。
工作方式¶
- 將 命令行界面 部署到您的環境中 (本地、企業雲、Kubernetes 集羣、CI/CD 系統)
- 可通過腳本運行 命令行界面,也可讓其在後臺或作爲 CI 的一部分運行
- 命令行界面 可訪問用戶從其設備可訪問的任何資源 (VPN、內部 API、私有包註冊表等)
安裝與設置¶
安裝 Cursor 命令行界面:
# 安裝 Cursor 命令行界面(macOS、Linux、WSL)
curl https://cursor.com/install -fsS | bash
# 安裝 Cursor 命令行界面(Windows PowerShell)
irm 'https://cursor.com/install?win32=true' | iex
# 爲腳本設置 API 密鑰
export CURSOR_API_KEY=your_api_key_here
agent -p "Analyze this code"
完整詳情請參閱 命令行界面 無圖形界面模式文檔。
GitHub Actions 集成¶
Cursor 命令行界面可在 GitHub Actions 和其他 CI 系統中使用。
有關示例,請參閱 GitHub Actions 集成。
Cursor 命令行界面注意事項¶
無論是在桌面端應用中運行,還是作爲獨立 命令行界面 運行,Cursor agents 都具備相同的安全控制:
功能相同:
- 隱私模式同樣適用
- 鉤子同時適用於桌面端應用和 命令行界面
- 相同的模型訪問控制
- 相同的審計日誌記錄
- 相同的用量跟蹤
要求相同:
- 兩者都需要訪問 Cursor 服務的網絡連接
- 兩者都會將代碼發送給 LLM (受隱私模式保護)
- 兩者都需要進行適當的身份驗證
命令行界面 使用的是同一個智能體,只是界面不同。
網絡注意事項¶
用戶設備需要訪問以下端點。請相應配置防火牆和代理規則:
*.cursor.sh- 後端服務和 API 端點cursor-cdn.com- 應用下載和更新marketplace.cursorapi.com- 擴展市場- 第三方 AI 提供商的端點 (OpenAI、Anthropic、Google 等)
當 UpdateMode 策略設爲 none 時,可以限制對更新端點的訪問,同時保留對其他服務的訪問權限。
Cursor 編輯器會繼承設備的網絡配置,包括 VPN 訪問、內部服務端點和私有包註冊表。
這意味着,在編輯器中運行的 agents 可以訪問用戶通過其設備能夠訪問的所有資源。
有關防火牆和代理的詳細要求,請參閱網絡配置。
最低版本¶
Cursor 設定了兩個最低版本門檻:
- 最低支持版本:使用較早版本的用戶會看到可關閉的警告,提示其升級。
- 最低允許版本:使用較早版本的用戶會看到無法關閉的錯誤,且必須升級。這意味着該發佈系列已結束生命週期。
通常,某個發佈版本會在其 GA 日期約 2 個月後具備成爲最低支持版本的資格,並在約 3 個月後具備成爲最低允許版本的資格。版本門檻的提升還取決於較新版本的採用率。
您可以結合這些說明以及我們發佈的 GA 日期和變更日誌日期,估算某個發佈版本何時會不再適用。
在爲組織管理 Cursor 部署時,我們建議定期更新 Cursor (例如通過 MDM) ,以確保用戶始終使用受支持的版本。
疑難排查¶
常見問題¶
Cursor 是否支持 Linux 策略?¶
支持,從 2.0 版本起,Linux 使用基於文件的策略系統,策略文件位於 ~/.cursor/policy.json。有關格式和部署的詳細信息,請參閱上方的“Linux 策略文件”部分。
可以在策略文件中使用環境變量嗎?¶
不可以。策略文件必須是包含靜態值的有效 JSON 文件。如有需要,請使用配置管理工具動態生成該文件。
如果策略文件中的 JSON 無效,會發生什麼?¶
Cursor 會記錄錯誤,並在不受策略限制的情況下運行。請查看主進程日誌,瞭解解析錯誤。
如何查找我的團隊 ID?¶
您可以在 https://cursor.com/dashboard 點擊團隊名稱,查看團隊 ID。
需要幫助大規模部署 Cursor?¶
聯繫我們的團隊,獲取 MDM 部署指導和優先支持。