Questa guida è pensata per le organizzazioni che devono installare Comet su larga scala. Se stai cercando il programma di installazione di Comet per singoli utenti, lo troverai qui.
Questa guida illustra come distribuire il browser Comet all’interno della tua organizzazione utilizzando soluzioni di Mobile Device Management (MDM) su sistemi macOS.
Prerequisiti
Per installare Comet per Enterprise tramite MDM, ti serviranno:
-
Una soluzione MDM (Jamf Pro, Intune, Kandji, Mosyle, Workspace ONE, ecc.)
-
Accesso alle impostazioni di Comet della tua organizzazione in perplexity.ai/account/org/comet
-
Il token della tua organizzazione (disponibile dalla pagina di configurazione di Comet)
Panoramica
Le policy per Mac vengono distribuite utilizzando Profili di configurazione (.mobileconfig file) tramite la tua soluzione MDM. Questi profili usano il tipo di payload ai.perplexity.comet per configurare le impostazioni di Comet.
Introduzione
Per prima cosa, dovrai scaricare il programma di installazione di Comet e ottenere il token della tua organizzazione da: perplexity.ai/account/org/comet.
Il programma di installazione di Comet per Enterprise è attualmente disponibile come immagine disco .dmg per macOS.
Distribuzione massiva di Comet
Per la distribuzione su larga scala tramite strumenti come Jamf Pro:
-
Carica il file
.dmgnella tua soluzione MDM -
Prepara uno script che esegue il mount del DMG e copia il Comet app in
/Applicationse smonta il DMG -
Questo script può far parte delle attività di post-installazione oppure essere incluso nel pacchetto
-
Usa gli script post-installazione per:
-
Gestisci la copia dell’app
-
Imposta le autorizzazioni
-
Imposta Comet come browser predefinito, se richiesto
-
Configura le impostazioni del primo avvio (tramite manipolazione del plist, se necessario)
-
Distribuzione con Jamf Pro
Jamf Pro consente di distribuire e gestire le impostazioni personalizzate delle applicazioni in due modi diversi.
-
Utilizzando solo i contenuto plist (senza il wrapper mobileconfig completo), dove Jamf si occupa di inserirlo in un profilo di configurazione corretto.
-
Usare uno schema JSON personalizzato per offrire un approccio basato sull'interfaccia utente alla gestione delle policy (unico di Jamf)
Utilizzo di plist
Utilizzo di plist
Passaggio 1: crea il profilo di configurazione
-
Vai a Computer → Profili di configurazione → Nuovo
-
Inserisci un nome visualizzato (ad esempio, "Comet Policies")
-
Seleziona Impostazioni dell'app e personalizzate → Applicazioni esterne
-
Seleziona Caricamento
Passaggio 2: Configura il dominio delle preferenze
-
Dominio delle preferenze:
ai.perplexity.comet -
Incolla il contenuto plist dagli esempi qui sotto
Passaggio 3: definire l'ambito e distribuire
-
Vai a Ambito scheda
-
Aggiungi computer di destinazione o gruppi
-
Fai clic Salva
Prima di configurare i criteri del browser, è necessario prima registrare i dispositivi nella tua organizzazione. In questo modo ogni installazione di Comet viene associata al tuo account Enterprise per una gestione centralizzata.
Ottieni il token della tua organizzazione da perplexity.ai/account/org/comet e distribuisci il seguente 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 volta registrati i dispositivi, puoi distribuire ulteriori profili di configurazione per applicare le policy del browser. Vedi gli esempi qui sotto.
Esempio: Blocca le estensioni
<?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>
Esempio: bloccare 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>
Esempio: più policy
Combina più criteri di accesso in un unico 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>
Utilizzo di Jamf Custom Schema per un approccio basato sull'interfaccia utente
Utilizzo di Jamf Custom Schema per un approccio basato sull'interfaccia utente
Passaggio 1: crea il profilo di configurazione
-
Vai a Computer → Profili di configurazione → Nuovo
-
Inserisci un nome visualizzato (ad esempio, "Comet Policies")
-
Seleziona Impostazioni dell'app e personalizzate → Applicazioni esterne
-
Seleziona Aggiungi
Passaggio 2: Configura il dominio delle preferenze
-
Dominio delle preferenze:
ai.perplexity.comet -
Seleziona Aggiungi schema
-
Incolla lo schema JSON per popolare le proprietà configurabili dagli esempi qui sotto
Passaggio 3: definire l'ambito e distribuire
-
Vai a Ambito scheda
-
Aggiungi computer di destinazione o gruppi
-
Fai clic Salva
Esempio: Home page e impostazioni di avvio
{
"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": []
}
Esempio: forzare l'installazione delle estensioni - ad es. 1Password e 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": []
}
Distribuzione MDM generica
Per le soluzioni MDM che richiedono un file .mobileconfig completo, come Kandji, Mosyle, Fleet, SimpleMDM e altre, usa il formato completo del profilo di configurazione riportato di seguito.
Passaggi di distribuzione:
-
Copia il modello di esempio e personalizzalo in base alle tue esigenze
-
Genera UUID univoci per i campi
PayloadUUID(usauuidgennel Terminale) -
Save as a
.mobileconfigfile -
Carica nel tuo MDM come profilo di configurazione personalizzato
-
Assegna a dispositivi o gruppi di destinazione
Prima di configurare i criteri del browser, è necessario prima registrare i dispositivi nella tua organizzazione. In questo modo ogni installazione di Comet viene associata al tuo account Enterprise per una gestione centralizzata.
Distribuisci un profilo di configurazione contenente il tuo CloudManagementEnrollmentToken. Ottieni il token della tua organizzazione da 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 volta registrati i dispositivi, puoi distribuire ulteriori profili di configurazione per applicare le policy del browser. Vedi gli esempi qui sotto.
Esempio: Blocca le estensioni
<?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>
Esempio: bloccare 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>
