《Cursor文檔》-部署模式

本指南介紹如何在組織內的開發者電腦上部署 Cursor 編輯器和 命令行界面 工具。大多數組織會同時部署編輯器 (用於日常開發) 和 命令行界面 (用於自動化、CI/CD 和腳本編寫) 。

如需瞭解其他部署方式,例如 SCM 集成 (Bugbot、BGA 應用) 或網頁端訪問,請參閱相關集成文檔。

通過 MDM 部署編輯器

將 Cursor 編輯器和智能體部署到用戶工作站,並通過移動設備管理 (MDM) 系統實施策略。

工作原理

  1. IT 團隊將 Cursor 應用打包以供部署
  2. 通過 MDM (Jamf、Intune 等) 推送至用戶設備
  3. 用戶可在其主要開發設備上使用 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_instructionsblock_instructions 數組引導 Auto-review 模式分類器。適用於 Cursor 3.6 及更高版本中的 shell、MCP 和 Fetch 調用。請參閱 permissions.json 參考

mcpAllowlist 條目支持以下形式:

條目 含義
server:tool 某個特定 MCP 服務器上的特定工具
server:* 某個 MCP 服務器上的所有工具
*:tool 任意 MCP 服務器上的指定工具名稱
*:* 所有 MCP 工具

terminalAllowlistmcpAllowlistautoRun 均爲可選項。如果某個鍵被省略或爲空 (合併按用戶和按倉庫文件後) ,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 數據目錄的設備管理工具進行分發。

允許列表優先級如下:

  1. 團隊儀表盤或其他由管理員控制的設置
  2. 託管的 ~/.cursor/permissions.json<workspace>/.cursor/permissions.json 拼接
  3. 編輯器設置和內聯 添加到允許列表

由管理員控制的設置會覆蓋該類別中由文件定義的值。按用戶和按倉庫的文件通過拼接合並;編輯器設置不會與這兩者合併。

Cursor 會監視兩個 permissions.json 路徑,因此更新會自動生效,無需重新啓動。

Windows 組策略

Cursor 支持基於 Windows 註冊表的組策略。安裝策略定義後,管理員可使用本地組策略編輯器管理策略值。

添加策略:

  1. AppData\Local\Programs\cursor\policies 複製策略 ADMX 和 ADML 文件。
  2. 將 ADMX 文件粘貼到 C:\Windows\PolicyDefinitions 目錄,並將 ADML 文件粘貼到 C:\Windows\PolicyDefinitions\<your-locale>\ 目錄。
  3. 重新啓動本地組策略編輯器。
  4. 在本地組策略編輯器中設置相應的策略值 (例如,爲 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。

工作方式

  1. 將 命令行界面 部署到您的環境中 (本地、企業雲、Kubernetes 集羣、CI/CD 系統)
  2. 可通過腳本運行 命令行界面,也可讓其在後臺或作爲 CI 的一部分運行
  3. 命令行界面 可訪問用戶從其設備可訪問的任何資源 (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 部署指導和優先支持。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜