Skip to main content

本指南适用于需要大规模安装 Comet 的组织。如果你要查找个人版 Comet 安装程序,可在此处找到 这里

本指南介绍如何在 macOS 系统上使用移动设备管理(MDM)解决方案,在整个组织中部署 Comet 浏览器。

先决条件

要使用 MDM 安装 Comet for Enterprise,你需要:

  • 一个 MDM 解决方案(Jamf Pro、Intune、Kandji、Mosyle、Workspace ONE 等)

  • 访问你组织的 Comet 设置:perplexity.ai/account/org/comet

  • 你的组织令牌(可在 Comet Setup 页面获取)

概述

Mac 策略会通过你的 MDM 解决方案使用 配置描述文件.mobileconfig 文件)进行部署。这些描述文件使用 ai.perplexity.comet 载荷类型来配置 Comet 设置。

开始使用

首先,你需要下载 Comet 安装程序,并从以下位置获取组织令牌:perplexity.ai/account/org/comet

Comet for Enterprise 安装程序目前以 .dmg macOS 磁盘映像形式提供。

大规模部署 Comet

使用 Jamf Pro 等工具进行大规模部署时:

1

上传 .dmg 文件到你的 MDM 解决方案

2

准备一个脚本,用于挂载 DMG,将 Comet 应用复制到 /Applications,然后卸载 DMG

3

此脚本可以作为安装后任务的一部分,也可以包含在软件包中

4

使用安装后脚本来:

  • 处理应用复制

  • 设置权限

  • 如有需要,将 Comet 设为默认浏览器

  • 配置首次运行设置(必要时通过操作 plist)

Jamf Pro 部署

Jamf Pro 允许你通过两种不同方式部署和管理自定义应用设置。

  • 仅使用 plist 内容 (不包含完整的 mobileconfig 包装),由 Jamf 将其包装成合适的配置描述文件。

  • 使用自定义 JSON schema 提供基于界面的策略管理方式(Jamf 独有)

步骤 1:创建配置描述文件

1

前往 Computers配置描述文件New

2

输入显示名称(例如“Comet Policies”)

3

选择 Application & Custom SettingsExternal Applications

4

选择 Upload

步骤 2:配置偏好设置域

1

Preference Domain: ai.perplexity.comet

2

粘贴下方示例中的 plist 内容

步骤 3:设定范围并部署

1

Go to the Scope 标签页

2

添加目标电脑或群组

3

点击 Save

在配置浏览器策略之前,必须先将设备注册到你的组织。这会把每个 Comet 安装与企业账户关联,以便集中管理。

从以下位置获取组织令牌:perplexity.ai/account/org/comet 并部署以下 plist:

<?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>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</plist>

设备注册后,你可以部署其他配置描述文件来强制执行浏览器策略。请参见下方示例。

示例:阻止扩展程序

<?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>ExtensionInstallBlocklist</key>
<array>
<!— Metamask —>
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</plist>

示例:阻止 URL

<?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>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</plist>

示例:多个策略

在单个 plist 中组合多个策略:

<?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>ExtensionInstallBlocklist</key>
<array>
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
</array>
</dict>
</plist>

步骤 1:创建配置描述文件

1

前往 Computers配置描述文件New

2

输入显示名称(例如“Comet Policies”)

3

选择 Application & Custom SettingsExternal Applications

4

选择 Add

步骤 2:配置偏好设置域

1

Preference Domain: ai.perplexity.comet

2

选择 Add Schema

3

粘贴下方示例中的 JSON Schema,以填充可配置属性

步骤 3:设定范围并部署

1

Go to the Scope 标签页

2

添加目标电脑或群组

3

点击 Save

示例:主页和启动设置

{
“title”: “Perplexity Comet – Homepage and Startup”,
“description”: “Control homepage, startup behavior, and New Tab configuration.”,
“properties”: {
“HomepageLocation”: {
“title”: “Homepage Location”,
“description”: “URL of the homepage that is loaded when the Home button is pressed.”,
“type”: “string”,
“property_order”: 10
},
“HomepageIsNewTabPage”: {
“title”: “Homepage Is New Tab Page”,
“description”: “If true, the homepage is the New Tab page instead of a custom URL.”,
“type”: “boolean”,
“property_order”: 20
},
“ShowHomeButton”: {
“title”: “Show Home Button”,
“description”: “Shows or hides the Home button in the toolbar.”,
“type”: “boolean”,
“property_order”: 30
},
“RestoreOnStartup”: {
“title”: “Restore On Startup”,
“description”: “Configures what pages are shown at startup.”,
“type”: “integer”,
“enum”: [0, 1, 4],
“options”: {
“enum_titles”: [
“0 – Open the New Tab page”,
“1 – Restore the last 会话”,
“4 – Open a list of URLs”
]
},
“property_order”: 40
},
“RestoreOnStartupURLs”: {
“title”: “Restore On Startup URLs”,
“description”: “List of URLs to open on startup when RestoreOnStartup is set to 4.”,
“type”: “array”,
“items”: {
“type”: “string”
},
“property_order”: 50
},
“NewTabPageLocation”: {
“title”: “New Tab Page Location”,
“description”: “Custom URL to use for the New Tab page instead of the default.”,
“type”: “string”,
“property_order”: 60
},
“ManagedBookmarks”: {
“title”: “Managed Bookmarks”,
“description”: “JSON-like structure defining a set of mandatory bookmarks managed by policy.”,
“type”: “array”,
“items”: {
“type”: “string”
},
“property_order”: 70
},
“BookmarkBarEnabled”: {
“title”: “Bookmark Bar Enabled”,
“description”: “Shows or hides the bookmarks bar by default.”,
“type”: “boolean”,
“property_order”: 80
},
“DefaultBrowserSettingEnabled”: {
“title”: “Default Browser Setting Enabled”,
“description”: “Controls whether the browser can be set as the system default.”,
“type”: “boolean”,
“property_order”: 90
},
“BlockExternalExtensions”: {
“title”: “Block External Extensions”,
“description”: “Blocks extensions installed outside the browser when set to true.”,
“type”: “boolean”,
“property_order”: 100
}
},
“required”: []
}

示例:强制安装扩展程序——例如 1Password 和 Okta Verify

{
“title”: “Perplexity Comet – 1Password and Okta Extensions”,
“description”: “Toggle force-install for 1Password and Okta extensions in Comet.”,
“properties”: {
“ForceInstall_1Password”: {
“title”: “Force install 1Password”,
“description”: “If enabled, Comet force-installs the 1Password browser extension.”,
“type”: “boolean”,
“default”: false,
“property_order”: 10
},
“ForceInstall_OktaPlugin”: {
“title”: “Force install Okta browser plugin”,
“description”: “If enabled, Comet force-installs the Okta browser plugin defined below.”,
“type”: “boolean”,
“default”: false,
“property_order”: 20
},
“OktaPluginExtensionId”: {
“title”: “Okta browser plugin extension ID”,
“description”: “Chrome Web Store extension ID for your Okta browser plugin (for example, from the Web Store URL).”,
“type”: “string”,
“default”: "",
“property_order”: 30
},
“ExtensionInstallForcelist”: {
“title”: “Additional force-installed extensions (advanced)”,
“description”: “Optional: extra entries in the form extension_id;<https://clients2.google.com/service/update2/crx>. Rows here are in addition to 1Password/Okta switches above.”,
“type”: “array”,
“items”: {
“type”: “string”,
“title”: “Extension ID and update URL”,
“default”: “extension_id;<https://clients2.google.com/service/update2/crx>”
},
“property_order”: 40
},
“_info”: {
“title”: “Info”,
“description”: “Jamf will write a prefs key named ExtensionInstallForcelist. Enable the switches above to add 1Password and/or Okta automatically; use the array only for extra extensions.”,
“type”: “string”,
“options”: {
“inputAttributes”: {
“readonly”: true
}
},
“property_order”: 50
}
},
“required”: []
}

通用 MDM 部署

对于需要完整 .mobileconfig 文件的 MDM 解决方案(如 Kandji、Mosyle、Fleet、SimpleMDM 等),请使用下方完整的配置描述文件格式。

部署步骤:

1

复制示例模板并按需自定义

2

PayloadUUID 字段生成唯一 UUID(在终端中使用 uuidgen

3

另存为 .mobileconfig 文件

4

作为自定义配置描述文件上传到你的 MDM

5

分配给目标设备或群组

在配置浏览器策略之前,必须先将设备注册到你的组织。这会把每个 Comet 安装与企业账户关联,以便集中管理。

部署包含你的配置描述文件 CloudManagementEnrollmentToken. Get your organization token from perplexity.ai/account/org/comet.

<?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>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Organization Enrollment</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.org-enrollment</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>B2C3D4E5-F6A7-8901-BCDE-F23456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

设备注册后,你可以部署其他配置描述文件来强制执行浏览器策略。请参见下方示例。

示例:阻止扩展程序

<?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>Comet Extension Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ExtensionInstallBlocklist</key>
<array>
<!— Metamask —>
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Extension Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.extension.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

示例:阻止 URL

<?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>Comet URL Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - URL Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.url.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
最后修改于 2026年9月5日