Saltar al contenido principal

Instalación de Comet para Enterprise (macOS)

Guía para instalar Comet a gran escala en entornos de macOS

Escrito por Emilio Morales

Esta guía está pensada para organizaciones que necesitan instalar Comet a gran escala. Si busca el instalador individual de Comet, lo encontrará aquí.

 

Esta guía explica cómo implementar el navegador Comet en toda su organización mediante soluciones de Administración de dispositivos móviles (MDM) en sistemas macOS.

 

Requisitos previos

Para instalar Comet para Enterprise mediante MDM, necesitará:

  • Una solución MDM (Jamf Pro, Intune, Kandji, Mosyle, Workspace ONE, etc.)

  • Acceso a la configuración de Comet de su organización en perplexity.ai/account/org/comet

  • El token de su organización (disponible en la página de configuración de Comet)

Resumen

Las políticas de Mac se implementan mediante Perfiles de configuración (.mobileconfig archivos) a través de su solución de MDM. Estos perfiles usan el ai.perplexity.comet tipo de carga útil para configurar los ajustes de Comet.

 

Primeros pasos

Primero, deberá descargar el instalador de Comet y obtener el token de su organización desde: perplexity.ai/account/org/comet.

El instalador de Comet for Enterprise está disponible actualmente como un .dmg Imagen de disco de macOS.

 

Implementación masiva de Comet

Para una implementación masiva con herramientas como Jamf Pro:

  1. Suba el .dmg archivo a su solución MDM

  2. Prepare un script que monte el DMG, copie la Comet app en /Applications, y desmonte el DMG

  3. Este script puede formar parte de sus tareas posteriores a la instalación o incluirse en el paquete

  4. Use scripts posteriores a la instalación para:

    • Gestionar la copia de la app

    • Configurar permisos

    • Hacer de Comet el navegador predeterminado si es necesario

    • Configurar los ajustes del primer inicio (mediante manipulación del plist, si es necesario)

Implementación de Jamf Pro

Jamf Pro le permite implementar y administrar la configuración personalizada de las aplicaciones de dos maneras diferentes.

  • Usando solo el contenido de plist (sin el contenedor mobileconfig completo), donde Jamf se encarga de convertirlo en un perfil de configuración adecuado.

  • Usar un esquema JSON personalizado para proporcionar un enfoque basado en la interfaz de usuario para gestionar políticas (exclusivo de Jamf)

Uso de plist

Paso 1: Crear perfil de configuración

  1. Ir a ComputadorasPerfiles de configuraciónNuevo

  2. Enter a display name (e.g., "Comet Policies")

  3. Seleccionar Application & Custom SettingsAplicaciones externas

  4. Seleccionar Subir

Paso 2: Configurar el dominio de preferencias

  1. Dominio de preferencia: ai.perplexity.comet

  2. Pegue el contenido del plist de los ejemplos a continuación

Paso 3: Ámbito y despliegue

  1. Ir a la Alcance tab

  2. Agregar computadoras o grupos de destino

  3. Haz clic Guardar

Antes de configurar las políticas del navegador, primero debe inscribir los dispositivos en su organización. Esto asocia cada instalación de Comet con su cuenta de Enterprise para una gestión centralizada.

 

Obtenga el token de su organización desde perplexity.ai/account/org/comet y despliegue el siguiente 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>

Una vez que los dispositivos están inscritos, puedes implementar perfiles de configuración adicionales para aplicar políticas del navegador. Consulta los ejemplos a continuación.

Ejemplo: Bloquear extensiones

<?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>

Ejemplo: Bloquear URLs

<?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>

 

Ejemplo: varias políticas

Combine varias políticas en un solo 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>

 

Uso del esquema personalizado de Jamf para un enfoque basado en la interfaz de usuario

Paso 1: Crear perfil de configuración

  1. Ir a ComputadorasPerfiles de configuraciónNuevo

  2. Enter a display name (e.g., "Comet Policies")

  3. Seleccionar Application & Custom SettingsAplicaciones externas

  4. Seleccionar Añadir

Paso 2: Configurar el dominio de preferencias

  1. Dominio de preferencia: ai.perplexity.comet

  2. Seleccionar Añadir esquema

  3. Pegue el esquema JSON para rellenar las propiedades configurables a partir de los ejemplos siguientes

Paso 3: Ámbito y despliegue

  1. Ir a la Alcance tab

  2. Agregar computadoras o grupos de destino

  3. Haz clic Guardar

Ejemplo: página de inicio y ajustes de inicio

{
"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": []
}

Ejemplo: forzar la instalación de extensiones, por ejemplo, 1Password y 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": []
}

 

 

Implementación genérica de MDM

Para soluciones MDM que requieren una completa .mobileconfig archivo, como Kandji, Mosyle, Fleet, SimpleMDM, etc., usa el formato completo de perfil de configuración que se muestra a continuación.

 

Pasos de implementación:

  1. Copia la plantilla de ejemplo y personalízala según tus necesidades

  2. Genera UUID únicos para PayloadUUID campos (usar uuidgen en Terminal)

  3. Guardar como un .mobileconfig archivo

  4. Cárgalo en tu MDM como un perfil de configuración personalizado

  5. Asignar a dispositivos o grupos de destino

Antes de configurar las políticas del navegador, primero debe inscribir los dispositivos en su organización. Esto asocia cada instalación de Comet con su cuenta de Enterprise para una gestión centralizada.

 

Implementa un perfil de configuración que contenga tu CloudManagementEnrollmentToken. Obtén el token de tu organización en 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>

Una vez que los dispositivos están inscritos, puedes implementar perfiles de configuración adicionales para aplicar políticas del navegador. Consulta los ejemplos a continuación.

 

Ejemplo: Bloquear extensiones

<?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>

Ejemplo: Bloquear URLs

<?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>