跳到主要内容

安装 Comet for Enterprise(macOS)

面向 macOS 环境大规模安装 Comet 的指南

撰写者 Emilio Morales

本指南适用于需要大规模安装 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 独有)

使用 plist

步骤 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>

 

使用 Jamf 自定义 Schema 实现基于界面的方式

步骤 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 session",
"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>
帮助中心搜索