Distribuire Maxiful nella tua organizzazione

Una nota per i team IT che distribuiscono Maxiful su PC Windows e Mac: come si installa su ciascuno, come distribuirlo con Intune, Jamf Pro o un'installazione invisibile, cosa mette sul computer e cosa avvia, gli host di rete da consentire, come lo vedono gli strumenti di sicurezza, le impostazioni che puoi gestire centralmente e come si aggiorna e si rimuove.

Verificata con Maxiful 0.9.60 per Windows e Mac. Dove le due piattaforme differiscono, ogni sezione ha una parte per Windows e una per il Mac.

Come si installa

Su entrambe le piattaforme Maxiful è un'app desktop che ogni persona configura per sé. Al primo avvio prepara per quella persona il runtime degli assistenti: OpenClaw, il runtime open source per agenti, su una copia di Node.js che Maxiful installa per quella persona. Un processo in background di quel runtime, il gateway, fa funzionare gli assistenti e si riavvia ogni volta che la persona accede al computer.

Su Windows

Per utente, senza diritti di amministratore. Il programma di installazione, Maxiful-x64-setup.exe, viene eseguito come l'utente connesso a Windows e installa nella cartella %LOCALAPPDATA%\Maxiful di quell'utente. Compare tra le app installate di quell'utente, quindi ogni persona che usa Maxiful su un computer ha la propria installazione.

Windows 10 o versioni successive, a 64 bit. La finestra di Maxiful è disegnata da Microsoft Edge WebView2. Se manca WebView2 Runtime, il programma di installazione scarica il programma di installazione WebView2 di Microsoft da go.microsoft.com e lo esegue in modo invisibile.

Su un Mac

Un'unica app in /Applications, configurata per utente. Maxiful per Mac viene distribuito come immagine disco, Maxiful-arm64.dmg, che contiene Maxiful.app, firmata con un Apple Developer ID e autenticata da Apple (i dettagli della firma sono in Mac: Intune e Jamf Pro). Copiata in /Applications, da una persona o dalla gestione dei dispositivi, è un'unica app per tutti gli utenti del Mac; ogni persona che la apre accede e ottiene la propria installazione, con i propri assistenti e dati nella propria cartella Inizio.

macOS 13 o versioni successive, su Apple silicon o Intel. L'app è un'unica build per entrambi.

Windows: installazione invisibile

Maxiful-x64-setup.exe /S
OpzioneCosa fa
/SInvisibile: nessuna finestra e nessuna domanda dal programma di installazione. Aggiunge un collegamento nel menu Start e sul desktop.
/PPassiva: una barra di avanzamento e nessuna domanda. Gli aggiornamenti di Maxiful vengono eseguiti così.
/NSNessun collegamento nel menu Start o sul desktop.
/RApre Maxiful al termine dell'installazione (con /S o /P).
/DEFENDER=managedLa tua policy di Defender aggiunge già le cartelle di lavoro di Maxiful (sotto), quindi l'installazione non le chiede a Windows.
/DEFENDER=offVuoi che Defender analizzi quelle cartelle, quindi l'installazione non chiede a Windows di escluderle.

Codici di uscita. 0 significa che l'installazione è terminata, qualsiasi altro codice che non lo è. Un 2 può avere più cause; una è un altro programma che tiene in uso uno dei file di Maxiful per 30 secondi, e in quel caso non è stato modificato nulla. Prima di scrivere, il programma di installazione chiude il Maxiful in esecuzione dell'utente.

Su una copia già installata. Eseguire allo stesso modo un programma di installazione più recente la aggiorna sul posto, e assistenti e dati dell'utente restano. L'abbiamo verificato sul nostro PC Windows di test il 26 ottobre 2026, dalla 0.9.54 alla 0.9.58 firmata.

Le cartelle di Microsoft Defender

Le cartelle di lavoro di Maxiful modificano migliaia di file a ogni avvio del team, quindi Maxiful chiede a Windows di far escludere a Microsoft Defender quattro di esse. Senza un'opzione /DEFENDER, l'installazione lo chiede dopo aver scritto i file: Windows mostra la propria richiesta di autorizzazione e, per un utente senza diritti di amministratore, chiede le credenziali di un amministratore. Se nessuno risponde, Windows chiude la richiesta da solo dopo circa due minuti e l'installazione termina comunque. Maxiful lo chiede ancora una volta al successivo avvio; una seconda richiesta senza risposta vale come un no e non viene ripetuta.

Con /DEFENDER=managed o /DEFENDER=off (esattamente così), nessuna installazione, aggiornamento o avvio lo chiede a Windows, e le impostazioni di Maxiful indicano che Microsoft Defender sul computer è gestito dal tuo reparto IT. Con le cartelle analizzate tutto funziona, ma il team si avvia più lentamente. L'utente può comunque attivare le esclusioni più tardi nelle impostazioni di Maxiful, alla voce Lascia che Defender salti le cartelle di lavoro di Maxiful, che lo chiede a Windows come sopra.

Cartella da escludere in Defender
%LOCALAPPDATA%\Lanoko\node-v24.21.0\node_modules\openclaw
%LOCALAPPDATA%\Lanoko\node-v24.21.0\openclaw-compile-cache
%USERPROFILE%\.openclaw-*\tmp\plugin-captures
%USERPROFILE%\.openclaw-*\agents\*\agent

Windows: Microsoft Intune (app Win32)

Abbiamo verificato l'installazione invisibile e l'aggiornamento su una copia installata sul nostro PC Windows di test. Questa procedura segue la documentazione Microsoft sulle app Win32 e non è stata eseguita in un tenant Intune; se il tuo si comporta diversamente, scrivici a [email protected].

  1. Crea una cartella del pacchetto con Maxiful-x64-setup.exe, scaricato dal tuo account Maxiful e verificato con il suo SHA-256, e un file uninstall.cmd, perché Intune non espande le variabili d'ambiente in un comando di disinstallazione:
    @echo off
    "%LOCALAPPDATA%\Maxiful\uninstall.exe" /S _?=%LOCALAPPDATA%\Maxiful
    set rc=%ERRORLEVEL%
    del /q "%LOCALAPPDATA%\Maxiful\uninstall.exe"
    rmdir "%LOCALAPPDATA%\Maxiful"
    exit /b %rc%
    _?= fa eseguire il programma di disinstallazione sul posto e lo fa terminare prima che lo script prosegua; le due righe successive rimuovono il programma di disinstallazione e la cartella vuota. Per rimuovere anche assistenti e dati dell'utente, scrivi invece /S /REMOVEALL _?=%LOCALAPPDATA%\Maxiful nella prima riga (vedi Rimozione).
  2. Crea il file .intunewin con il Win32 Content Prep Tool di Microsoft:
    IntuneWinAppUtil.exe -c C:\maxiful-package -s Maxiful-x64-setup.exe -o C:\maxiful-intunewin -q
  3. Program: comando di installazione Maxiful-x64-setup.exe /S /DEFENDER=managed se la tua policy di Defender aggiunge le quattro cartelle sopra, oppure Maxiful-x64-setup.exe /S /DEFENDER=off per farle analizzare; comando di disinstallazione uninstall.cmd; comportamento di installazione User; comportamento di riavvio del dispositivo No specific action; i codici restituiti predefiniti.
  4. Requirements: 64 bit, Windows 10 o versioni successive.
  5. Regola di rilevamento: File, percorso %LOCALAPPDATA%\Maxiful, file Maxiful.exe, metodo File or folder exists.
  6. Assegnazione: Required o Available, a gruppi di utenti.

Intune si aspetta un'installazione che non chieda nulla. Con un'opzione /DEFENDER l'installazione di Maxiful non chiede nulla; senza, la richiesta di Defender di Windows è l'unica domanda che può comparire. Leggi Primo avvio prima di assegnarla su larga scala.

Mac: Microsoft Intune e Jamf Pro

La gestione dei dispositivi installa la Maxiful.app autenticata in /Applications, dalla stessa immagine disco che scaricano gli utenti. Questi sono i valori che ti chiede.

Per il tuo MDMValore
Identificatore del bundleai.maxiful.desktop
Team ID467H9AXX55
La firma dell'appDeveloper ID Application: Polytrader ltd (467H9AXX55), autenticata da Apple.
Il suo requisito di codiceidentifier "ai.maxiful.desktop" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "467H9AXX55"
VersioneCFBundleShortVersionString in /Applications/Maxiful.app/Contents/Info.plist: la versione di Maxiful.
Dove si installa/Applications/Maxiful.app
Dominio delle preferenze gestiteai.maxiful.desktop, l'identificatore del bundle. Le sue chiavi sono in Impostazioni gestite.

Microsoft Intune (macOS app (DMG))

  1. Apps, All Apps, Create; piattaforma macOS, tipo macOS app (DMG); seleziona Maxiful-arm64.dmg, scaricato dal tuo account Maxiful e verificato con il suo SHA-256. Sui Mac serve l'agente di gestione di Intune per macOS.
  2. App information: aggiungi un logo, così l'app compare in Company Portal con la sua icona. Requirements: Minimum Operating System macOS 13.
  3. Detection rules: Included apps ai.maxiful.desktop e la sua versione. Ignore app version No, così ogni versione che carichi viene installata. Imposta anche AutoUpdate a 0 (vedi Impostazioni gestite): installi ogni versione tramite Intune e Maxiful non ne cerca da solo.
  4. Assignments: Required (installata in /Applications), Available in Company Portal, oppure Uninstall.

Per aggiornare o rimuovere un'app DMG, Intune ha bisogno dell'accesso completo al disco, e su macOS 13 e versioni successive lo chiede quando l'app viene assegnata. Per distribuire una nuova versione, carica la sua immagine disco nella stessa app: le assegnazioni Required si aggiornano da sole, con Available ogni utente sceglie Reinstall in Company Portal.

Jamf Pro

Jamf Pro distribuisce i pacchetti dai suoi distribution point. Creane uno che contenga /Applications/Maxiful.app con Jamf Composer:

  1. Su un Mac, copia Maxiful.app dall'immagine disco in /Applications. In Composer, trascina /Applications/Maxiful.app dal Finder all'elenco Sources, così mantiene la sua posizione in /Applications, e crea un pacchetto da quella sorgente.
  2. Aggiungi il pacchetto a un distribution point e a Jamf Pro.
  3. In Computers, Policies, crea una nuova policy. In General, imposta trigger e frequenza di esecuzione; nel payload Packages, aggiungi il pacchetto con l'azione Install e scegli il distribution point.
  4. Nella scheda Scope, scegli i computer; oppure rendi la policy disponibile in Self Service.
  5. Per ogni nuova versione, crea il pacchetto allo stesso modo e distribuiscilo con una policy, e imposta AutoUpdate a 0 (vedi Impostazioni gestite) così Maxiful non ne cerca da solo.

Questi passaggi seguono la documentazione di Microsoft e di Jamf e non sono stati eseguiti in un tenant Intune o Jamf; se il tuo si comporta diversamente, scrivici a [email protected].

L'elemento login del gateway

Il gateway degli assistenti viene eseguito come LaunchAgent di ciascun utente, con etichetta ai.openclaw.<name>. Su macOS 13 o versioni successive, un payload Service Management (elementi login gestiti) con tipo di regola Label prefix e valore ai.openclaw. lo approva automaticamente.

Primo avvio: cosa fa ogni persona

Un'installazione invisibile, o la copia in /Applications del tuo MDM, lascia Maxiful pronto da aprire. Al primo avvio a ogni persona vengono chiesti questi passaggi, su Windows come su Mac; l'IT non può completarli al posto suo.

  • Ogni persona accede con il proprio indirizzo email: Maxiful invia per email un link di accesso, e il link apre l'app. Se il proprietario del workspace ha configurato il single sign-on per il dominio email della tua organizzazione, la persona può scegliere invece Continua con l'account di lavoro, che apre nel browser l'accesso del tuo identity provider (Microsoft Entra ID, Google Workspace, Okta, un altro provider OpenID Connect o un provider SAML 2.0); con Enforce single sign-on attivo, anche un link ricevuto per email passa al tuo provider.
  • Chi configura un nuovo workspace inserisce il codice di configurazione dal proprio account Maxiful. Un codice funziona sul primo computer che lo usa.
  • Un collega invitato a un workspace vi entra invece, e così anche una persona dei tuoi domini verificati che accede tramite il tuo provider mentre l'opzione Add people to my workspace when they sign in del proprietario è attiva. Ogni nuovo dispositivo di un collega resta in attesa finché il proprietario del workspace non lo ammette nella pagina Team, in Persone.

La configurazione installa poi Node.js e il runtime per quella persona e avvia il team. Ha bisogno degli host di rete elencati sotto.

Su un Mac: le autorizzazioni che chiede macOS

Maxiful chiede un'autorizzazione a macOS solo quando una funzione ne ha bisogno la prima volta, e macOS mostra la propria richiesta:

  • Notifiche, la prima volta che Maxiful ne ha una da mostrare, per esempio una risposta che arriva mentre la sua finestra è in secondo piano.
  • Microfono e Riconoscimento vocale, la prima volta che una persona detta un messaggio o parla con un assistente.
  • Accessibilità, Registrazione schermo e Monitoraggio input, quando il proprietario consente per la prima volta agli assistenti di usare il computer.

Dove funziona il team, e un computer sempre acceso

Il team funziona sul computer del proprietario: assistenti, memoria e conversazioni sono nell'installazione del proprietario su quel computer, e i colleghi si collegano dai propri dispositivi. Un ufficio che vuole il team sempre disponibile fa girare l'installazione del proprietario su un computer che resta acceso:

  • Un Mac con l'account macOS del proprietario connesso. Il gateway è un LaunchAgent di quell'account e si avvia al login dell'account, quindi esegui di nuovo il login dopo ogni riavvio, oppure attiva il login automatico, che macOS non offre quando FileVault è attivo.
  • Un PC Windows che accede da solo all'account Windows del proprietario (l'accesso automatico di Windows). Maxiful avvia il gateway quando l'account accede; un avvio all'accensione richiederebbe un'installazione con privilegi elevati, che Maxiful non esegue mai.

I modelli AI dell'account rispondono su un solo computer alla volta. Se il proprietario usa Maxiful anche su un portatile e lì sceglie Usa Maxiful qui, gli assistenti del computer sempre acceso smettono di rispondere finché il proprietario non lo sceglie di nuovo su quel computer.

Per installare tu ogni aggiornamento su quel computer, imposta AutoUpdate a 0 (vedi Impostazioni gestite). I backup di Maxiful sono archivi che scrive sullo stesso computer, nella cartella Inizio del proprietario in <name>-shared/backups; copiali altrove con i tuoi strumenti di backup.

Cosa mette sul computer

<name> qui sotto è il nome breve dell'installazione.

Su Windows

DoveCosa
%LOCALAPPDATA%\MaxifulL'app: Maxiful.exe, gateway-launcher.exe (avvia ogni comando degli assistenti nella sua sandbox) e uninstall.exe.
%LOCALAPPDATA%\ai.maxiful.desktopI dati dell'app: i dati di WebView2, i log (logs\Maxiful.log, logs\installer.log) e la registrazione della risposta alla domanda su Defender.
%LOCALAPPDATA%\LanokoNode.js 24.21.0 con il runtime OpenClaw installato, e la cache di npm. La cartella porta il nome precedente di Maxiful.
%USERPROFILE%\.openclaw-<name>L'installazione vera e propria: la configurazione del runtime, gli assistenti, i loro workspace e la loro memoria, i segreti dell'installazione e il browser degli assistenti.
%USERPROFILE%\.stommeI dati di Maxiful per ogni installazione, come i componenti aggiuntivi e le decisioni del proprietario.
%USERPROFILE%\.lanoko-sandbox\<name>Una descrizione in testo semplice del perimetro della sandbox del gateway.
Registro di sistemaHKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Maxiful (la voce tra le app installate) e HKCU\Software\maxiful\Maxiful (la cartella di installazione).
Avvio all'accessoUn'attività pianificata per il gateway, quella del runtime (OpenClaw Gateway (<name>)) o quella di Maxiful (ai.openclaw.gateway-<name>) oppure, se Windows rifiuta l'attività, OpenClaw Gateway (<name>).vbs nella cartella Esecuzione automatica dell'utente. Quando il gateway è avviato dall'attività pianificata del runtime, Maxiful aggiunge anche un'attività pianificata, Maxiful team keeper (<name>), che controlla il team ogni due minuti; con lo script nella cartella Esecuzione automatica non c'è. Ognuna avvia il gateway quando l'utente accede, con l'account di quell'utente; nessuna lo avvia prima che qualcuno acceda. Il runtime chiede a Windows un'attività con accesso S4U e un trigger all'avvio, che Windows registra solo per un'installazione con privilegi elevati, e Maxiful non esegue mai quell'installazione con privilegi elevati: Windows la rifiuta e il runtime usa allora lo script nella cartella Esecuzione automatica, oppure mantiene invariata un'attività registrata da una versione precedente, che si avvia all'accesso. schtasks /query /tn "OpenClaw Gateway (<name>)" /xml mostra l'attività di un computer.

Processi su Windows

ProcessoChe cos'è
Maxiful.exeL'app, firmata (vedi sotto). La sua finestra gira in msedgewebview2.exe di Microsoft.
node.exeDa %LOCALAPPDATA%\Lanoko\node-v24.21.0: il gateway OpenClaw e i comandi del runtime. È una build di Node.js 24.21.0 realizzata da Maxiful, con una correzione per le sandbox di Windows, verificata con uno SHA-256 fissato nell'app prima di essere usata.
gateway-launcher.exeDalla cartella dell'app: avvia ogni comando di un assistente nella sua sandbox.
chrome.exeDa %USERPROFILE%\.openclaw-<name>\browser\chromium\chrome-win64: il browser degli assistenti, una build di Chrome for Testing dal server di download di Playwright, verificata con uno SHA-256 fissato. Non apre mai il browser dell'utente.
cmd.exe, wscript.exeAvviano il gateway: gateway.cmd, eseguito dall'attività pianificata del gateway tramite gateway.vbs nella cartella dell'installazione (un'attività di una versione precedente) o direttamente, oppure da OpenClaw Gateway (<name>).vbs nella cartella Esecuzione automatica dell'utente.

I comandi eseguiti dagli assistenti (una shell, PowerShell, script) girano come processi figli del gateway, per impostazione predefinita nella sandbox di ciascun assistente. Il gateway è in ascolto su 127.0.0.1 su una porta da 18800 in su (18800 per la prima installazione) e Maxiful.exe su altre porte di loopback; sul nostro PC di test nessun processo di Maxiful era in ascolto su altri indirizzi.

Su Mac

DoveCosa
/Applications/Maxiful.appL'app, una sola copia per tutti gli utenti del Mac.
~/Library/Application Support/LanokoNode.js 24.21.0 con il runtime OpenClaw installato, la cache di npm e la cartella di lavoro del gateway. La cartella porta il nome precedente di Maxiful.
~/.openclaw-<name>L'installazione vera e propria: la configurazione del runtime, gli assistenti, i loro workspace e la loro memoria, i segreti dell'installazione e il browser degli assistenti.
~/.stommeI dati di Maxiful per ogni installazione, come i componenti aggiuntivi e le scelte del titolare.
~/.lanoko-sandbox/<name>Il profilo sandbox macOS del gateway, gateway.sb, con cui il gateway viene avviato.
~/Library/LaunchAgents/ai.openclaw.<name>.plistIl LaunchAgent del gateway: avvia il gateway quando l'utente accede, con l'account di quell'utente, e lo riavvia se si ferma.
~/Library/Logs/ai.maxiful.desktop/desktop.noindexIl log dell'app, Maxiful.log.
~/Library/Logs/Lanoko/gateway.noindexI log del gateway.
PortachiaviLa chiave di dispositivo del gateway, Maxiful Gateway Device Key, nel portachiavi dell'utente.

Processi su Mac

ProcessoChe cos'è
MaxifulL'app, da /Applications/Maxiful.app, firmata e autenticata da Apple (vedi Mac: Intune e Jamf Pro).
nodeDa ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node: il gateway OpenClaw e i comandi del runtime, avviati da launchd, per impostazione predefinita tramite /usr/bin/sandbox-exec con il profilo indicato sopra. È il Node.js 24.21.0 ufficiale per macOS da nodejs.org, verificato con uno SHA-256 fissato nell'app prima di essere usato.
Google Chrome for TestingDa ~/.openclaw-<name>/browser/chromium: il browser degli assistenti, una build di Chrome for Testing dal server di download di Playwright, verificata con uno SHA-256 fissato. Non apre mai il browser dell'utente.

I comandi eseguiti dagli assistenti sono processi figli del gateway, per impostazione predefinita nella sandbox di ciascun assistente. Il gateway è in ascolto su 127.0.0.1 su una porta da 18800 in su, come su Windows.

Host di rete da consentire

Ogni connessione parte dal computer verso l'esterno, su HTTPS (il relay usa anche WSS). Nulla dal nostro lato può aprire una connessione verso il computer.

Per la configurazione e l'uso quotidiano

HostUsato per
maxiful.aiAccesso, compresi l'avvio e il ritorno di un accesso con un account di lavoro, l'account, il feed degli aggiornamenti, lo store dei componenti aggiuntivi e la diagnostica della configurazione.
lanoko.aiCodici di configurazione, accesso ai modelli durante la configurazione, l'email di benvenuto e le iscrizioni dei colleghi.
proxy.stomme.aiOgni chiamata ai modelli cloud e le app collegate in Altre app di lavoro.
stomme-model-proxy.stomme-ai.workers.devL'elenco dei modelli.
or-key-worker.stomme-ai.workers.devLa quota del piano.
mc-cdn.lanoko.ai, mc-cdn.stomme.ai, mc-cdn.maxiful.aiL'indice e i file dei componenti aggiuntivi, la build di Node.js di Maxiful per Windows, il modello locale di ricerca nella memoria e i modelli vocali.
nodejs.orgNode.js, durante la configurazione.
registry.npmjs.orgIl runtime OpenClaw, durante la configurazione e quando un aggiornamento include un runtime più recente.
cdn.playwright.devIl browser degli assistenti, durante la configurazione.

Solo quando si usa una funzione

HostUsato per
relay.maxiful.aiIl relay (WSS): un telefono associato e i dispositivi di un collega.
relay.lanoko.aiLo stesso relay con il nome precedente, per installazioni e telefoni associati prima del 22 ottobre 2026.
ingress.lanoko.aiPiattaforme di chat che consegnano tramite webhook, come Teams e Google Chat.
teamtailor.maxiful.aiIl collegamento a Teamtailor.
openrouter.aiRicerca nella memoria, su un computer che non può eseguire l'indice di ricerca locale.
github.com, huggingface.coAlternative per il motore e il modello locali di ricerca nella memoria quando il nostro server di download non risponde. github.com fornisce anche lo strumento usato dal collegamento a Google Workspace.
clawhub.aiIl catalogo dei plugin del runtime.
connect.composio.dev, backend.composio.devSolo per la scheda facoltativa di Composio nella nostra pagina Integrazioni.
go.microsoft.comSu Windows, il WebView2 Runtime, solo se manca.
Servizi collegatiOgni servizio che un utente collega (Google, Microsoft 365, Slack e altri), agli indirizzi di quel servizio.

Come lo vedono gli strumenti di sicurezza

Su Windows

Firmatario. Ogni programma di installazione che pubblichiamo è firmato con un certificato rilasciato a PolyTrader Ltd (il soggetto del certificato è CN=Polytrader LTD), la società che pubblicava Maxiful prima di Maxiful AB, e lo stesso vale per il Maxiful.exe che installa. Leggi la firma di un file con Get-AuthenticodeSignature e confronta un download con il checksum della tua pagina di configurazione (Aiuto spiega come).

Componenti non firmati. Il node.exe del runtime e il chrome.exe degli assistenti non hanno firma Authenticode; Maxiful verifica ciascuno con uno SHA-256 fissato prima di usarlo. Per questi componenti, una allowlist si basa sul percorso.

Cosa inserire nella allowlist: i processi %LOCALAPPDATA%\Maxiful\Maxiful.exe (firmato) e gateway-launcher.exe, %LOCALAPPDATA%\Lanoko\node-v24.21.0\node.exe e %USERPROFILE%\.openclaw-*\browser\chromium\chrome-win64\chrome.exe; le quattro cartelle di Defender indicate sopra; gli host di rete indicati sopra.

Su Mac

Firmatario. Maxiful.app è firmata con il Developer ID del team 467H9AXX55 e autenticata da Apple, quindi Gatekeeper la apre senza eccezioni; una allowlist può identificarla tramite il suo requisito di codice (in Mac: Intune e Jamf Pro). Leggi la firma con codesign -dvv /Applications/Maxiful.app.

Componenti del runtime. Il node del gateway è il Node.js ufficiale per macOS e il browser degli assistenti è Chrome for Testing di Google, entrambi scaricati da Maxiful e verificati con uno SHA-256 fissato prima dell'uso. Per questi componenti, una allowlist si basa sul percorso.

Cosa inserire nella allowlist: /Applications/Maxiful.app (team 467H9AXX55), ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node e il browser in ~/.openclaw-*/browser/chromium; gli host di rete indicati sopra.

Su entrambi

Comportamento. Un processo Node.js per utente si avvia all'accesso, effettua chiamate HTTPS in uscita, esegue comandi per gli assistenti e copia i file dei suoi plugin a ogni avvio, quindi scrive molti file nella cartella dell'installazione.

CrowdStrike. CrowdStrike pubblica per Falcon for IT un content pack OpenClaw "Search & Removal". Cerca processi OpenClaw in esecuzione, installazioni npm globali, binari OpenClaw nei percorsi comuni, servizi e cartelle di stato e configurazione nelle cartelle home. Il suo flusso di rimozione arresta servizi e processi, disinstalla i pacchetti npm, elimina le cartelle di installazione e configurazione e rimuove le registrazioni dei servizi, tra cui attività pianificate e plist di launchd. Il gateway di Maxiful è un processo OpenClaw in esecuzione con il suo stato in %USERPROFILE%\.openclaw-<name> su Windows e in ~/.openclaw-<name> su Mac, quindi quel pack può trovarlo. Se eseguita su un computer con Maxiful, la rimozione potrebbe fermare il team ed eliminare la configurazione e la memoria degli assistenti. Usa la ricerca per vedere dove gira Maxiful e non applicare la rimozione ai computer su cui la tua organizzazione usa Maxiful.

Decidere se inserirli nella allowlist spetta al tuo team di sicurezza. Questi processi eseguono comandi per gli assistenti, per impostazione predefinita nella sandbox di ciascun assistente, con le approvazioni descritte nella nostra pagina Sicurezza.

Impostazioni gestite

Maxiful legge le impostazioni gestite dalla versione 0.9.60, su Windows e su Mac; le versioni precedenti non le leggono.

Un reparto IT può impostare centralmente alcune impostazioni di Maxiful: con Criteri di gruppo o Intune su Windows e con un profilo di configurazione da Jamf, Intune o un altro strumento di gestione dei dispositivi su Mac. Maxiful le legge ogni volta che le usa; una modifica a uno degli interruttori del titolare arriva agli assistenti al successivo avvio di Maxiful, e fino ad allora le impostazioni lo segnalano. Un'impostazione definita dalla tua organizzazione appare come Impostato dalla tua organizzazione nelle impostazioni di Maxiful e lì non si può modificare; le impostazioni di Maxiful elencano tutto ciò che hai impostato in cima ad Accesso. Senza criteri, Maxiful funziona come su un computer non gestito da un reparto IT.

NomeValoreCosa fa
WorkspaceTestoMaxiful sul computer apre solo il workspace con questo ID. Il titolare del workspace trova l'ID nelle impostazioni di Maxiful, in cima ad Accesso, come L'ID di questo workspace. Chi non è membro del workspace vede che l'ha impostato la tua organizzazione ed entra nel workspace tramite invito; il suo workspace e qualsiasi altro workspace non si aprono su quel computer.
AutoUpdate0 o 10: Maxiful non cerca, scarica né installa aggiornamenti, le sue impostazioni indicano che li installa la tua organizzazione e distribuisci tu ogni nuovo programma di installazione (vedi Aggiornamenti). 1: Maxiful si aggiorna da solo, come senza criteri.
OwnerSwitches0 o 1, ciascunoUno degli interruttori del titolare elencati sotto, indicato per nome: 0 disattivato, 1 attivato, qualunque cosa abbia scelto il titolare. Un interruttore che non imposti resta a scelta del titolare. Quando rimuovi un valore, torna la scelta del titolare, o l'impostazione predefinita di Maxiful se il titolare non ha mai scelto; come un valore che imposti, la modifica arriva agli assistenti al successivo avvio di Maxiful.

Gli interruttori del titolare

NomeL'interruttore in MaxifulDove si trova
terminalApri un terminale su questo computerAccesso (solo Mac)
private-networkConsenti agli assistenti di aprire pagine su questo computer e nella mia reteAccesso
pane-reachConsenti ai pannelli degli assistenti di eseguire codice e accedere fuori da MaxifulAccesso
claude-code-backgroundConsenti a Claude Code di tenere attivi in background i comandi lunghiAccesso
session-reachGli assistenti possono consultare tutte le conversazioni su questo computer (per imparare dal lavoro passato)Accesso
model-costsMostra i costi dei modelli in dollariAvanzate
next-promptSuggerisci il mio prossimo messaggioAvanzate
checkin-whole-conversationGli aggiornamenti periodici leggono tutta la conversazioneAvanzate
voice-notesTrascrivi i messaggi vocaliVoce e audio

Oltre a un numero, Maxiful interpreta il testo 0, 1, true e false come 0 o 1. Un valore che non riesce a leggere, come un altro testo dove va 0 o 1, un altro tipo di registro (REG_QWORD, REG_EXPAND_SZ, REG_BINARY) o un nome sotto OwnerSwitches che non conosce, non viene applicato, e le impostazioni di Maxiful lo indicano in Impostato dalla tua organizzazione. Su Windows questo vale per ogni valore sotto la chiave dei criteri e la sua sottochiave, sia in HKLM sia in HKCU.

Su Windows

Maxiful legge HKLM\SOFTWARE\Policies\Maxiful, poi HKCU\SOFTWARE\Policies\Maxiful; un valore in HKLM prevale sullo stesso valore in HKCU. Workspace è un REG_SZ e AutoUpdate un REG_DWORD; ogni interruttore del titolare è un REG_DWORD nella sottochiave OwnerSwitches, con il nome indicato nella tabella. Questa coppia ADMX e ADML scrive esattamente questi valori: salvali come maxiful.admx e en-US\maxiful.adml nell'archivio delle definizioni dei criteri, oppure importali in Intune come modelli amministrativi importati.

maxiful.admx
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
  <policyNamespaces>
    <target prefix="maxiful" namespace="Maxiful.Policies" />
  </policyNamespaces>
  <resources minRequiredRevision="1.0" />
  <supportedOn>
    <definitions>
      <definition name="SUPPORTED_Maxiful" displayName="$(string.SUPPORTED_Maxiful)" />
    </definitions>
  </supportedOn>
  <categories>
    <category name="Maxiful" displayName="$(string.Maxiful)" />
    <category name="OwnerSwitches" displayName="$(string.OwnerSwitches)">
      <parentCategory ref="Maxiful" />
    </category>
  </categories>
  <policies>
    <policy name="Workspace" class="Both" displayName="$(string.Workspace)" explainText="$(string.Workspace_Explain)" presentation="$(presentation.Workspace)" key="SOFTWARE\Policies\Maxiful">
      <parentCategory ref="Maxiful" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <elements>
        <text id="Workspace" valueName="Workspace" maxLength="128" required="true" />
      </elements>
    </policy>
    <policy name="AutoUpdate" class="Both" displayName="$(string.AutoUpdate)" explainText="$(string.AutoUpdate_Explain)" key="SOFTWARE\Policies\Maxiful" valueName="AutoUpdate">
      <parentCategory ref="Maxiful" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_PrivateNetwork" class="Both" displayName="$(string.OwnerSwitch_PrivateNetwork)" explainText="$(string.OwnerSwitch_PrivateNetwork_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="private-network">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_PaneReach" class="Both" displayName="$(string.OwnerSwitch_PaneReach)" explainText="$(string.OwnerSwitch_PaneReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="pane-reach">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_ClaudeCodeBackground" class="Both" displayName="$(string.OwnerSwitch_ClaudeCodeBackground)" explainText="$(string.OwnerSwitch_ClaudeCodeBackground_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="claude-code-background">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_SessionReach" class="Both" displayName="$(string.OwnerSwitch_SessionReach)" explainText="$(string.OwnerSwitch_SessionReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="session-reach">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_ModelCosts" class="Both" displayName="$(string.OwnerSwitch_ModelCosts)" explainText="$(string.OwnerSwitch_ModelCosts_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="model-costs">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_NextPrompt" class="Both" displayName="$(string.OwnerSwitch_NextPrompt)" explainText="$(string.OwnerSwitch_NextPrompt_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="next-prompt">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_CheckinWholeConversation" class="Both" displayName="$(string.OwnerSwitch_CheckinWholeConversation)" explainText="$(string.OwnerSwitch_CheckinWholeConversation_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="checkin-whole-conversation">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_VoiceNotes" class="Both" displayName="$(string.OwnerSwitch_VoiceNotes)" explainText="$(string.OwnerSwitch_VoiceNotes_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="voice-notes">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
  </policies>
</policyDefinitions>
en-US\maxiful.adml
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
  <displayName>Maxiful</displayName>
  <description>The settings an IT department sets for Maxiful.</description>
  <resources>
    <stringTable>
      <string id="Maxiful">Maxiful</string>
      <string id="OwnerSwitches">The owner's switches</string>
      <string id="SUPPORTED_Maxiful">Maxiful for Windows</string>
      <string id="Workspace">Open only this workspace</string>
      <string id="Workspace_Explain">Maxiful on this computer opens only the workspace with this ID. The workspace's owner finds the ID in Maxiful's settings, under Access. A person who is not a member of the workspace is asked to join it by invitation, and no other workspace opens on this computer.</string>
      <string id="AutoUpdate">Let Maxiful update itself</string>
      <string id="AutoUpdate_Explain">Disabled: Maxiful does not look for, download or install updates, and you install each new version yourself. Enabled or not configured: Maxiful updates itself.</string>
      <string id="OwnerSwitch_PrivateNetwork">Let assistants open pages on this computer and my network</string>
      <string id="OwnerSwitch_PrivateNetwork_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_PaneReach">Let assistants' panes run code and reach outside Maxiful</string>
      <string id="OwnerSwitch_PaneReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_ClaudeCodeBackground">Let Claude Code keep long commands running in the background</string>
      <string id="OwnerSwitch_ClaudeCodeBackground_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_SessionReach">Assistants can look through all conversations on this computer (so they learn from past work)</string>
      <string id="OwnerSwitch_SessionReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_ModelCosts">Show model costs in dollars</string>
      <string id="OwnerSwitch_ModelCosts_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_NextPrompt">Suggest my next message</string>
      <string id="OwnerSwitch_NextPrompt_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_CheckinWholeConversation">Check-ins read the whole conversation</string>
      <string id="OwnerSwitch_CheckinWholeConversation_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_VoiceNotes">Transcribe voice notes</string>
      <string id="OwnerSwitch_VoiceNotes_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Voice and audio.</string>
    </stringTable>
    <presentationTable>
      <presentation id="Workspace">
        <textBox refId="Workspace">
          <label>Workspace ID</label>
        </textBox>
      </presentation>
    </presentationTable>
  </resources>
</policyDefinitionResources>

Su Mac

Maxiful legge le preferenze gestite del suo dominio, ai.maxiful.desktop, che un profilo di configurazione installa come impostazioni forzate (il payload di preferenze gestite di Apple, com.apple.ManagedClient.preferences). Conta solo un valore impostato dal profilo: un valore scritto in altro modo, ad esempio con defaults write, non viene letto. Workspace è una stringa, AutoUpdate un intero (o un booleano) e OwnerSwitches un dizionario con i nomi della tabella. Questo profilo di esempio limita il computer a un solo workspace, lascia a te gli aggiornamenti, disattiva gli interruttori del terminale e della rete privata e mostra i costi dei modelli; sostituisci l'ID del workspace, gli identificatori e gli UUID con i tuoi.

maxiful.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>PayloadType</key><string>Configuration</string>
  <key>PayloadVersion</key><integer>1</integer>
  <key>PayloadIdentifier</key><string>com.example.maxiful</string>
  <key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000001</string>
  <key>PayloadDisplayName</key><string>Maxiful</string>
  <key>PayloadScope</key><string>System</string>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadType</key><string>com.apple.ManagedClient.preferences</string>
      <key>PayloadVersion</key><integer>1</integer>
      <key>PayloadIdentifier</key><string>com.example.maxiful.settings</string>
      <key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000002</string>
      <key>PayloadDisplayName</key><string>Maxiful settings</string>
      <key>PayloadContent</key>
      <dict>
        <key>ai.maxiful.desktop</key>
        <dict>
          <key>Forced</key>
          <array>
            <dict>
              <key>mcx_preference_settings</key>
              <dict>
                <key>Workspace</key><string>YOUR-WORKSPACE-ID</string>
                <key>AutoUpdate</key><integer>0</integer>
                <key>OwnerSwitches</key>
                <dict>
                  <key>terminal</key><false/>
                  <key>private-network</key><false/>
                  <key>model-costs</key><true/>
                </dict>
              </dict>
            </dict>
          </array>
        </dict>
      </dict>
    </dict>
  </array>
</dict>
</plist>

Aggiornamenti

Maxiful cerca una nuova versione su maxiful.ai all'avvio e ogni sei ore. L'utente sceglie Aggiorna e riavvia o Più tardi. Una nuova versione di Maxiful può includere un runtime OpenClaw più recente; in quel caso Maxiful aggiorna il runtime per quell'utente con npm, da registry.npmjs.org.

Per installare tu ogni nuova versione e far sì che Maxiful non ne cerchi nessuna, su Windows o su Mac, imposta AutoUpdate su 0 (vedi Impostazioni gestite): Maxiful indicherà allora che è la tua organizzazione a installare gli aggiornamenti.

Su Windows

Una nuova versione è un programma di installazione firmato, verificato con una chiave integrata nell'app prima dell'esecuzione, e l'aggiornamento esegue il programma di installazione in modalità passiva. Puoi anche distribuire tu ogni nuovo programma di installazione con /S, come sopra.

Su Mac

Una nuova versione è un archivio firmato dell'app, verificato con una chiave integrata nell'app prima dell'uso, e sostituisce l'app sul posto quando l'account dell'utente può modificare quella copia.

Una copia che l'utente non può modificare. Quando /Applications/Maxiful.app appartiene al sistema (il proprietario è root) e l'account dell'utente non può modificarla, Maxiful non la aggiorna da solo: non scarica nulla, non chiede mai la password di un amministratore, non offre Aggiorna e riavvia e, dove mostra gli aggiornamenti, indica che è disponibile una versione più recente e che gli aggiornamenti di questo Mac li installa la tua organizzazione. Distribuisci ogni nuova versione con il tuo MDM: in Intune, carica la sua immagine disco nella stessa app; in Jamf Pro, crea il pacchetto con Composer e distribuiscilo come sopra. Una copia che l'account di un amministratore può modificare si aggiorna da sola per quell'account, come su qualsiasi Mac.

Rimuovere Maxiful

Tutto, da parte dell'utente: nelle impostazioni di Maxiful, Rimuovi Maxiful da questo computer. Arresta il processo in background e ciò che lo avvia all'accesso (le sue operazioni pianificate su Windows, il suo LaunchAgent su Mac), elimina i dati e le credenziali dell'installazione e rimuove il runtime Node.js che ha installato, a meno che un'altra installazione sul computer lo usi ancora. Su Windows, poi, avvia il programma di disinstallazione quando Maxiful si chiude; su Mac sposta l'app nel Cestino, se l'account dell'utente ha i permessi per farlo. I documenti personali dell'utente non vengono toccati.

Su Windows

Tutto, in modo invisibile: %LOCALAPPDATA%\Maxiful\uninstall.exe /S /REMOVEALL esegue Rimuovi Maxiful da questo computer per l'utente a cui appartiene l'installazione, senza che nessuno sia davanti allo schermo, e poi rimuove l'app. L'operazione è irreversibile. Ciò che è stato rimosso, e ciò che non è stato possibile rimuovere, è riportato in removal-report.json in %LOCALAPPDATA%\ai.maxiful.desktop\logs.

Senza /REMOVEALL: %LOCALAPPDATA%\Maxiful\uninstall.exe /S, il comando eseguito dalla procedura Intune descritta sopra, rimuove l'app, i suoi collegamenti, l'operazione pianificata che mantiene attivo il team e le esclusioni di Defender aggiunte da Maxiful (per queste Windows potrebbe mostrare di nuovo il suo avviso). Arresta anche il processo in background degli assistenti e rimuove ciò che lo avvia all'accesso, ma conserva il runtime e i dati dell'installazione. installer.log, accanto agli altri log dell'app, indica se qualcosa è rimasto in esecuzione.

Su Mac

Esegui prima Rimuovi Maxiful da questo computer per ogni utente: se rimuovi solo l'app, il gateway in background di quell'utente resta attivo con tutto ciò che contiene. Poi rimuovi /Applications/Maxiful.app con il tuo MDM, per esempio con un'assegnazione Uninstall di Intune.