Déployer Maxiful dans votre organisation
Une note pour les équipes informatiques qui déploient Maxiful sur des PC Windows et des Mac : comment il s'installe sur chacun, comment le distribuer avec Intune, Jamf Pro ou une installation silencieuse, ce qu'il dépose sur un ordinateur et ce qu'il démarre, les hôtes réseau à autoriser, la façon dont les outils de sécurité le voient, les réglages que vous pouvez définir de façon centralisée, et comment il se met à jour et se désinstalle.
Vérifié avec Maxiful 0.9.60 pour Windows et Mac. Là où les deux diffèrent, chaque section comporte une partie pour Windows et une partie pour le Mac.
Comment il s'installe
Sur les deux plateformes, Maxiful est une app de bureau que chaque personne configure pour elle-même. À son premier démarrage, il configure pour cette personne le runtime des assistants : OpenClaw, le runtime d'agents open source, sur une copie de Node.js que Maxiful installe pour elle. Un processus en arrière-plan de ce runtime, la passerelle, fait tourner les assistants ; il redémarre chaque fois que la personne ouvre une session sur l'ordinateur.
Sous Windows
Par personne, sans droits d'administrateur. Le programme d'installation, Maxiful-x64-setup.exe, s'exécute sous le compte de la personne connectée à Windows et s'installe dans son dossier %LOCALAPPDATA%\Maxiful. Il apparaît dans les applications installées de cette personne : chaque personne qui utilise Maxiful sur un ordinateur a donc sa propre installation.
Windows 10 ou version ultérieure, 64 bits. La fenêtre de Maxiful est affichée par Microsoft Edge WebView2. Si le runtime WebView2 est absent, le programme d'installation télécharge l'installateur WebView2 de Microsoft depuis go.microsoft.com et l'exécute en mode silencieux.
Sur un Mac
Une seule app dans /Applications, configurée par personne. Maxiful pour Mac est fourni sous forme d'image disque, Maxiful-arm64.dmg, contenant Maxiful.app, signée avec un Apple Developer ID et notarisée par Apple (les détails de la signature figurent sous Mac : Intune et Jamf Pro). Une fois copiée dans /Applications, par une personne ou par votre gestion des appareils, c'est une seule app pour toutes les personnes qui utilisent le Mac ; chaque personne qui l'ouvre se connecte et obtient sa propre installation, avec ses assistants et ses données dans son propre dossier de départ.
macOS 13 ou version ultérieure, sur Apple silicon ou Intel. L'app est une seule build pour les deux.
Windows : installation silencieuse
Maxiful-x64-setup.exe /S
| Option | Effet |
|---|---|
/S | Silencieux : aucune fenêtre d'installation, aucune question du programme d'installation. Ajoute un raccourci dans le menu Démarrer et sur le Bureau. |
/P | Passif : une barre de progression, aucune question. Les mises à jour de Maxiful s'exécutent ainsi. |
/NS | Aucun raccourci dans le menu Démarrer ni sur le Bureau. |
/R | Ouvre Maxiful à la fin de l'installation (avec /S ou /P). |
/DEFENDER=managed | Votre propre stratégie Defender ajoute les dossiers de travail de Maxiful (ci-dessous) : l'installation ne les demande donc pas à Windows. |
/DEFENDER=off | Vous voulez que Defender analyse ces dossiers : l'installation ne demande donc pas à Windows de laisser Defender les ignorer. |
Codes de sortie. 0 signifie que l'installation est terminée ; tout autre code signifie qu'elle ne l'est pas. Un 2 peut avoir plusieurs causes ; l'une d'elles est un autre programme qui garde un fichier de Maxiful en cours d'utilisation pendant 30 secondes, et dans ce cas rien n'a été modifié. Le programme d'installation ferme le Maxiful en cours d'exécution de la personne avant d'écrire.
Sur une copie déjà installée. Exécuter de la même façon un programme d'installation plus récent la met à jour sur place, et les assistants et les données de la personne sont conservés. Nous l'avons mesuré sur notre PC de test Windows le 26 octobre 2026, de la 0.9.54 à la 0.9.58 signée.
Les dossiers de Microsoft Defender
Les dossiers de travail de Maxiful modifient des milliers de fichiers à chaque démarrage de l'équipe : Maxiful demande donc à Windows de laisser Microsoft Defender en ignorer quatre. Sans option /DEFENDER, l'installation pose la question après avoir écrit ses fichiers : Windows affiche sa propre demande d'autorisation, et pour une personne sans droits d'administrateur, il demande l'identification d'un administrateur. Si personne ne répond, Windows ferme la demande de lui-même au bout de deux minutes environ et l'installation se termine quand même. Maxiful pose la question une fois de plus au démarrage suivant ; une deuxième demande sans réponse vaut refus et n'est plus posée.
Avec /DEFENDER=managed ou /DEFENDER=off (exactement ces mots), aucune installation, mise à jour ni démarrage ne pose la question à Windows, et les réglages de Maxiful indiquent que votre service informatique gère Microsoft Defender sur l'ordinateur. Si les dossiers sont analysés, tout fonctionne, mais l'équipe démarre plus lentement. La personne peut toujours activer elle-même les exclusions plus tard dans les réglages de Maxiful, sous Laisser Defender ignorer les dossiers de travail de Maxiful, ce qui pose la question à Windows comme ci-dessus.
| Dossier que Defender doit ignorer |
|---|
%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 (application Win32)
Nous avons mesuré l'installation silencieuse et la mise à jour par-dessus une copie déjà installée, sur notre propre PC de test Windows. Cette procédure suit la documentation de Microsoft sur les applications Win32 et n'a pas été exécutée dans un locataire Intune ; si le vôtre se comporte autrement, écrivez-nous à [email protected].
- Créez un dossier de package contenant
Maxiful-x64-setup.exe, téléchargé depuis votre compte Maxiful et vérifié avec son SHA-256, et un fichieruninstall.cmd, car Intune ne développe pas les variables d'environnement dans une commande de désinstallation :@echo off "%LOCALAPPDATA%\Maxiful\uninstall.exe" /S _?=%LOCALAPPDATA%\Maxiful set rc=%ERRORLEVEL% del /q "%LOCALAPPDATA%\Maxiful\uninstall.exe" rmdir "%LOCALAPPDATA%\Maxiful" exit /b %rc%_?=fait s'exécuter le programme de désinstallation sur place et se terminer avant que le script continue ; les deux lignes suivantes suppriment le programme de désinstallation lui-même et le dossier vide. Pour supprimer aussi les assistants et les données de la personne, écrivez plutôt/S /REMOVEALL _?=%LOCALAPPDATA%\Maxifulsur la première ligne (voir Désinstallation). - Créez le fichier .intunewin avec le Win32 Content Prep Tool de Microsoft :
IntuneWinAppUtil.exe -c C:\maxiful-package -s Maxiful-x64-setup.exe -o C:\maxiful-intunewin -q - Program : commande d'installation
Maxiful-x64-setup.exe /S /DEFENDER=managedsi votre stratégie Defender ajoute les quatre dossiers ci-dessus, ouMaxiful-x64-setup.exe /S /DEFENDER=offpour qu'ils soient analysés ; commande de désinstallationuninstall.cmd; comportement d'installation User ; comportement de redémarrage de l'appareil No specific action ; les codes de retour par défaut. - Requirements : 64 bits, Windows 10 ou version ultérieure.
- Detection rules : Fichier, chemin
%LOCALAPPDATA%\Maxiful, fichierMaxiful.exe, méthode File or folder exists. - Assignments : Required ou Available, à des groupes d'utilisateurs.
Intune attend une installation qui ne pose aucune question. Avec une option /DEFENDER, l'installation de Maxiful ne pose aucune question ; sans elle, la demande Defender de Windows est la seule question possible. Lisez Premier démarrage avant de l'attribuer largement.
Mac : Microsoft Intune et Jamf Pro
Votre gestion des appareils installe la Maxiful.app notarisée dans /Applications, à partir de la même image disque que celle que les personnes téléchargent. Voici les valeurs qu'elle demande.
| Pour votre MDM | Valeur |
|---|---|
| Identifiant de bundle | ai.maxiful.desktop |
| Team ID | 467H9AXX55 |
| La signature de l'app | Developer ID Application: Polytrader ltd (467H9AXX55), notarisée par Apple. |
| Son exigence de code | identifier "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" |
| Version | CFBundleShortVersionString dans /Applications/Maxiful.app/Contents/Info.plist : la version de Maxiful. |
| Emplacement d'installation | /Applications/Maxiful.app |
| Domaine des préférences gérées | ai.maxiful.desktop, l'identifiant de bundle. Ses clés figurent sous Réglages gérés. |
Microsoft Intune (macOS app (DMG))
- Apps, All Apps, Create ; plateforme macOS, type macOS app (DMG) ; sélectionnez
Maxiful-arm64.dmg, téléchargé depuis votre compte Maxiful et vérifié avec son SHA-256. Les Mac doivent disposer de l'agent de gestion Intune pour macOS. - App information : ajoutez un logo pour que l'app apparaisse avec son icône dans Company Portal. Requirements : Minimum Operating System macOS 13.
- Detection rules : Included apps
ai.maxiful.desktopet sa version. Ignore app version No, pour que chaque version téléversée s'installe. Réglez aussiAutoUpdatesur 0 (voir Réglages gérés) : vous installez chaque version via Intune, et Maxiful n'en recherche aucune lui-même. - Assignments : Required (installée dans
/Applications), Available dans Company Portal, ou Uninstall.
Intune a besoin de l'accès complet au disque pour mettre à jour ou supprimer une app DMG, et le demande sur macOS 13 et versions ultérieures lors de l'attribution de l'app. Pour déployer une nouvelle version, téléversez son image disque dans la même app : les attributions Required se mettent à jour d'elles-mêmes, et avec Available, chaque personne choisit Reinstall dans Company Portal.
Jamf Pro
Jamf Pro déploie des packages depuis ses points de distribution. Créez-en un contenant /Applications/Maxiful.app avec Jamf Composer :
- Sur un Mac, copiez
Maxiful.appde l'image disque vers/Applications. Dans Composer, faites glisser/Applications/Maxiful.appdepuis le Finder vers la liste Sources, pour qu'elle garde sa place dans/Applications, et créez un package à partir de cette source. - Ajoutez le package à un point de distribution et à Jamf Pro.
- Sous Computers, Policies, créez une nouvelle règle. Dans General, définissez son déclencheur et sa fréquence d'exécution ; dans la charge utile Packages, ajoutez le package avec l'action Install et choisissez le point de distribution.
- Dans l'onglet Scope, choisissez les ordinateurs ; ou rendez la règle disponible dans Self Service.
- Pour chaque nouvelle version, créez son package de la même façon et déployez-le avec une règle, puis réglez
AutoUpdatesur 0 (voir Réglages gérés) pour que Maxiful n'en recherche aucune lui-même.
Ces étapes suivent la documentation de Microsoft et de Jamf et n'ont pas été exécutées dans un locataire Intune ou Jamf ; si le vôtre se comporte autrement, écrivez-nous à [email protected].
L'élément d'ouverture de la passerelle
La passerelle des assistants s'exécute comme LaunchAgent propre à chaque personne, avec le label ai.openclaw.<name>. Sur macOS 13 ou version ultérieure, une charge utile Service Management (éléments d'ouverture gérés) avec le type de règle Label prefix et la valeur ai.openclaw. l'approuve automatiquement.
Premier démarrage : ce que fait chaque personne
Une installation silencieuse, ou la copie déposée par votre MDM dans /Applications, laisse Maxiful prêt à être ouvert. Au premier démarrage, chaque personne doit suivre ces étapes, sous Windows comme sur un Mac ; le service informatique ne peut pas les faire à sa place.
- Chaque personne se connecte avec sa propre adresse e-mail : Maxiful envoie un lien de connexion par e-mail, et ce lien ouvre l'app. Si le propriétaire de l'espace de travail a configuré l'authentification unique pour le domaine de messagerie de votre organisation, la personne peut plutôt choisir Continuer avec votre compte professionnel, qui ouvre dans son navigateur la connexion de votre fournisseur d'identité (Microsoft Entra ID, Google Workspace, Okta, un autre fournisseur OpenID Connect ou un fournisseur SAML 2.0) ; quand Enforce single sign-on est activé, un lien envoyé par e-mail redirige aussi vers votre fournisseur.
- Une personne qui crée un nouvel espace de travail saisit le code de configuration de son compte Maxiful. Un code fonctionne sur le premier ordinateur qui l'utilise.
- Un collègue invité dans un espace de travail le rejoint à la place, tout comme une personne de vos domaines vérifiés qui se connecte via votre fournisseur lorsque l'option Add people to my workspace when they sign in du propriétaire est activée. Chaque nouvel appareil d'un collègue attend que le propriétaire de l'espace de travail l'accepte sur la page Équipe, sous Personnes.
La configuration installe ensuite Node.js et le runtime pour cette personne, puis démarre l'équipe. Elle a besoin des hôtes réseau listés ci-dessous.
Sur un Mac : les autorisations demandées par macOS
Maxiful ne demande une autorisation à macOS que lorsqu'une fonctionnalité en a besoin pour la première fois, et macOS affiche sa propre question :
- Notifications, la première fois que Maxiful en a une à afficher, par exemple une réponse qui arrive pendant que sa fenêtre est en arrière-plan.
- Micro et Reconnaissance vocale, la première fois qu'une personne dicte un message ou parle avec un assistant.
- Accessibilité, Enregistrement de l'écran et Surveillance de l'entrée, quand le propriétaire autorise pour la première fois les assistants à utiliser l'ordinateur.
Où l'équipe s'exécute, et un ordinateur toujours allumé
L'équipe s'exécute sur l'ordinateur du propriétaire : les assistants, leur mémoire et leurs conversations se trouvent dans l'installation du propriétaire sur cet ordinateur, et les collègues s'y connectent depuis leurs propres appareils. Un bureau qui veut que l'équipe réponde 24 h/24 fait tourner l'installation du propriétaire sur un ordinateur qui reste allumé :
- Un Mac avec la session macOS du propriétaire ouverte. La passerelle est le LaunchAgent propre à ce compte et démarre à l'ouverture de session : rouvrez donc la session après chaque redémarrage, ou activez la connexion automatique, que macOS ne propose pas quand FileVault est activé.
- Un PC Windows qui ouvre seul la session Windows du propriétaire (la connexion automatique de Windows). Maxiful démarre la passerelle à l'ouverture de session ; un démarrage au boot exigerait une installation avec élévation de privilèges, ce que Maxiful ne fait jamais.
Les modèles d'IA du compte répondent sur un seul ordinateur à la fois. Si le propriétaire utilise aussi Maxiful sur un portable et y choisit Utiliser Maxiful ici, les assistants de l'ordinateur toujours allumé cessent de répondre jusqu'à ce que le propriétaire le choisisse à nouveau sur cet ordinateur.
Pour installer vous-même chaque mise à jour sur cet ordinateur, réglez AutoUpdate sur 0 (voir Réglages gérés). Les sauvegardes de Maxiful sont des archives qu'il écrit sur le même ordinateur, dans le dossier de départ du propriétaire sous <name>-shared/backups ; copiez-les ailleurs avec vos propres outils de sauvegarde.
Ce qu'il dépose sur l'ordinateur
Ci-dessous, <name> est le nom court propre à l'installation.
Sous Windows
| Emplacement | Contenu |
|---|---|
%LOCALAPPDATA%\Maxiful | L'app : Maxiful.exe, gateway-launcher.exe (lance chaque commande d'assistant dans sa sandbox) et uninstall.exe. |
%LOCALAPPDATA%\ai.maxiful.desktop | Les données propres à l'app : ses données WebView2, ses journaux (logs\Maxiful.log, logs\installer.log) et son enregistrement de la question Defender. |
%LOCALAPPDATA%\Lanoko | Node.js 24.21.0 avec le runtime OpenClaw installé dedans, et le cache de npm. Le dossier porte l'ancien nom de Maxiful. |
%USERPROFILE%\.openclaw-<name> | L'installation elle-même : la configuration du runtime, les assistants, leurs espaces de travail et leur mémoire, les secrets de l'installation, et le navigateur propre aux assistants. |
%USERPROFILE%\.stomme | Les enregistrements propres à Maxiful pour chaque installation, comme ses modules complémentaires et les décisions du propriétaire. |
%USERPROFILE%\.lanoko-sandbox\<name> | Une description en texte brut de la limite de la sandbox de la passerelle. |
| Registre | HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Maxiful (l'entrée des applications installées) et HKCU\Software\maxiful\Maxiful (le dossier d'installation). |
| Démarre à l'ouverture de session | Une tâche planifiée pour la passerelle, celle du runtime (OpenClaw Gateway (<name>)) ou celle de Maxiful (ai.openclaw.gateway-<name>), ou, si Windows refuse la tâche, OpenClaw Gateway (<name>).vbs dans le dossier Démarrage de l'utilisateur. Lorsque c'est la tâche planifiée du runtime qui exécute la passerelle, Maxiful ajoute aussi une tâche planifiée, Maxiful team keeper (<name>), qui vérifie l'équipe toutes les deux minutes ; avec le script du dossier Démarrage, il n'y en a pas. Chacune démarre la passerelle à l'ouverture de session de l'utilisateur, sous son compte ; aucune ne la démarre avant qu'un utilisateur ouvre une session. Le runtime demande à Windows une tâche avec ouverture de session S4U et un déclencheur au démarrage, que Windows n'enregistre que pour une installation avec élévation de privilèges. Or Maxiful n'exécute jamais cette installation avec élévation : Windows refuse donc la tâche, et le runtime utilise alors le script du dossier Démarrage, ou conserve telle quelle une tâche enregistrée par une version antérieure, qui démarre à l'ouverture de session. schtasks /query /tn "OpenClaw Gateway (<name>)" /xml affiche la tâche d'un ordinateur. |
Processus sous Windows
| Processus | Description |
|---|---|
Maxiful.exe | L'application, signée (voir ci-dessous). Sa fenêtre s'exécute dans msedgewebview2.exe de Microsoft. |
node.exe | Depuis %LOCALAPPDATA%\Lanoko\node-v24.21.0 : la passerelle OpenClaw et les commandes du runtime. Il s'agit d'une compilation de Node.js 24.21.0 propre à Maxiful, avec un correctif pour les sandbox Windows, vérifiée par rapport à un SHA-256 épinglé dans l'application avant toute utilisation. |
gateway-launcher.exe | Depuis le dossier de l'application : lance chaque commande d'assistant dans sa sandbox. |
chrome.exe | Depuis %USERPROFILE%\.openclaw-<name>\browser\chromium\chrome-win64 : le navigateur propre aux assistants, une version Chrome for Testing issue du serveur de téléchargement de Playwright, vérifiée par rapport à un SHA-256 épinglé. Il n'ouvre jamais le navigateur de l'utilisateur. |
cmd.exe, wscript.exe | Démarre la passerelle : gateway.cmd, exécuté par la tâche planifiée de la passerelle via gateway.vbs dans le dossier de l'installation (tâche d'une version antérieure) ou directement, ou par OpenClaw Gateway (<name>).vbs depuis le dossier Démarrage de l'utilisateur. |
Les commandes exécutées par les assistants (un shell, PowerShell, des scripts) tournent comme processus enfants de la passerelle, par défaut dans la sandbox propre à chaque assistant. La passerelle écoute sur 127.0.0.1 sur un port à partir de 18800 (18800 pour la première installation), et Maxiful.exe sur d'autres ports de bouclage ; sur notre PC de test, aucun composant de Maxiful n'écoutait sur une autre adresse.
Sur Mac
| Emplacement | Contenu |
|---|---|
/Applications/Maxiful.app | L'application, une seule copie pour tous les utilisateurs du Mac. |
~/Library/Application Support/Lanoko | Node.js 24.21.0 avec le runtime OpenClaw installé, le cache de npm et le dossier de travail de la passerelle. Le dossier porte l'ancien nom de Maxiful. |
~/.openclaw-<name> | L'installation elle-même : la configuration du runtime, les assistants, leurs espaces de travail et leur mémoire, les secrets de l'installation et le navigateur propre aux assistants. |
~/.stomme | Les données propres à Maxiful pour chaque installation, comme ses modules complémentaires et les choix du propriétaire. |
~/.lanoko-sandbox/<name> | Le profil sandbox macOS de la passerelle, gateway.sb, sous lequel la passerelle est démarrée. |
~/Library/LaunchAgents/ai.openclaw.<name>.plist | Le LaunchAgent de la passerelle : il démarre la passerelle à l'ouverture de session de l'utilisateur, sous son compte, et la redémarre si elle s'arrête. |
~/Library/Logs/ai.maxiful.desktop/desktop.noindex | Le journal de l'application, Maxiful.log. |
~/Library/Logs/Lanoko/gateway.noindex | Les journaux de la passerelle. |
| Trousseau | La clé d'appareil de la passerelle, Maxiful Gateway Device Key, dans le trousseau de l'utilisateur. |
Processus sur Mac
| Processus | Description |
|---|---|
Maxiful | L'application, depuis /Applications/Maxiful.app, signée et notarisée (voir Mac : Intune et Jamf Pro). |
node | Depuis ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node : la passerelle OpenClaw et les commandes du runtime, démarrées par launchd, par défaut via /usr/bin/sandbox-exec avec le profil ci-dessus. Il s'agit du Node.js 24.21.0 officiel pour macOS, issu de nodejs.org, vérifié par rapport à un SHA-256 épinglé dans l'application avant toute utilisation. |
Google Chrome for Testing | Depuis ~/.openclaw-<name>/browser/chromium : le navigateur propre aux assistants, une version Chrome for Testing issue du serveur de téléchargement de Playwright, vérifiée par rapport à un SHA-256 épinglé. Il n'ouvre jamais le navigateur de l'utilisateur. |
Les commandes exécutées par les assistants sont des processus enfants de la passerelle, par défaut dans la sandbox propre à chaque assistant. La passerelle écoute sur 127.0.0.1 sur un port à partir de 18800, comme sous Windows.
Hôtes réseau à autoriser
Toutes les connexions sont sortantes, ouvertes depuis l'ordinateur, en HTTPS (le relais utilise aussi WSS). Rien de notre côté ne peut ouvrir de connexion vers l'ordinateur.
Pour l'installation et l'usage quotidien
| Hôte | Utilisé pour |
|---|---|
maxiful.ai | La connexion, y compris le début et le retour d'une connexion avec un compte professionnel, le compte, le flux de mises à jour, la boutique de modules complémentaires et les diagnostics d'installation. |
lanoko.ai | Les codes d'installation, l'accès aux modèles à l'installation, l'e-mail de bienvenue et les adhésions des collègues. |
proxy.stomme.ai | Tous les appels aux modèles cloud, et les apps connectées dans Autres apps de travail. |
stomme-model-proxy.stomme-ai.workers.dev | La liste des modèles. |
or-key-worker.stomme-ai.workers.dev | Le quota de l'abonnement. |
mc-cdn.lanoko.ai, mc-cdn.stomme.ai, mc-cdn.maxiful.ai | L'index et les modules complémentaires, la compilation de Node.js de Maxiful pour Windows, le modèle local de recherche en mémoire et les modèles vocaux. |
nodejs.org | Node.js, à l'installation. |
registry.npmjs.org | Le runtime OpenClaw, à l'installation et lorsqu'une mise à jour apporte un runtime plus récent. |
cdn.playwright.dev | Le navigateur des assistants, à l'installation. |
Uniquement lors de l'utilisation d'une fonctionnalité
| Hôte | Utilisé pour |
|---|---|
relay.maxiful.ai | Le relais (WSS) : un téléphone appairé et les appareils d'un collègue. |
relay.lanoko.ai | Le même relais sous son ancien nom, pour les installations et les téléphones appairés avant le 22 octobre 2026. |
ingress.lanoko.ai | Les plateformes de messagerie qui livrent par webhook, comme Teams et Google Chat. |
teamtailor.maxiful.ai | La connexion Teamtailor. |
openrouter.ai | La recherche en mémoire, sur un ordinateur qui ne peut pas exécuter l'index de recherche local. |
github.com, huggingface.co | Sources de secours pour le moteur et le modèle locaux de recherche en mémoire lorsque notre serveur de téléchargement ne répond pas. github.com fournit aussi l'outil utilisé par la connexion Google Workspace. |
clawhub.ai | Le catalogue de plugins du runtime. |
connect.composio.dev, backend.composio.dev | Uniquement pour la carte facultative Composio de notre page Intégrations. |
go.microsoft.com | Sous Windows, le runtime WebView2, uniquement s'il est absent. |
| Services connectés | Chaque service qu'un utilisateur connecte (Google, Microsoft 365, Slack et d'autres), à ses propres adresses. |
Comment les outils de sécurité le voient
Sous Windows
Signataire. Chaque programme d'installation que nous publions est signé par un certificat délivré à PolyTrader Ltd (le sujet du certificat indique CN=Polytrader LTD), la société qui publiait Maxiful avant Maxiful AB, de même que le Maxiful.exe qu'il installe. Lisez la signature d'un fichier avec Get-AuthenticodeSignature, et comparez un téléchargement à la somme de contrôle de votre page d'installation (la page Aide explique comment).
Composants non signés. Le node.exe du runtime et le chrome.exe des assistants ne portent aucune signature Authenticode ; Maxiful vérifie chacun par rapport à un SHA-256 épinglé avant de l'utiliser. Une liste d'autorisation pour ces composants se fait par chemin.
À ajouter à la liste d'autorisation : les processus %LOCALAPPDATA%\Maxiful\Maxiful.exe (signé) et gateway-launcher.exe, %LOCALAPPDATA%\Lanoko\node-v24.21.0\node.exe et %USERPROFILE%\.openclaw-*\browser\chromium\chrome-win64\chrome.exe ; les quatre dossiers Defender ci-dessus ; les hôtes réseau ci-dessus.
Sur Mac
Signataire. Maxiful.app est signée avec le Developer ID de l'équipe 467H9AXX55 et notarisée par Apple : Gatekeeper l'ouvre donc sans contournement. Une liste d'autorisation peut la désigner par son exigence de code (voir Mac : Intune et Jamf Pro). Lisez sa signature avec codesign -dvv /Applications/Maxiful.app.
Composants du runtime. Le node de la passerelle est le Node.js officiel pour macOS et le navigateur des assistants est Chrome for Testing de Google, chacun téléchargé par Maxiful et vérifié par rapport à un SHA-256 épinglé avant toute utilisation. Une liste d'autorisation pour ces composants se fait par chemin.
À ajouter à la liste d'autorisation : /Applications/Maxiful.app (équipe 467H9AXX55), ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node et le navigateur sous ~/.openclaw-*/browser/chromium ; les hôtes réseau ci-dessus.
Sur les deux systèmes
Comportement. Un processus Node.js par utilisateur démarre à l'ouverture de session, effectue des appels HTTPS sortants, exécute des commandes pour les assistants et copie les fichiers de ses plugins à chaque démarrage : il écrit donc de nombreux fichiers dans le dossier de l'installation.
CrowdStrike. CrowdStrike publie pour Falcon for IT un pack de contenu OpenClaw « Search & Removal ». Il recherche les processus OpenClaw en cours d'exécution, les installations npm globales, les binaires OpenClaw dans les chemins courants, les services, ainsi que les dossiers d'état et de configuration dans les dossiers personnels. Son processus de suppression arrête les services et processus, désinstalle les paquets npm, supprime les dossiers d'installation et de configuration, et retire notamment les enregistrements de services, les tâches planifiées et les plists launchd. La passerelle de Maxiful est un processus OpenClaw en cours d'exécution dont l'état se trouve dans %USERPROFILE%\.openclaw-<name> sous Windows et ~/.openclaw-<name> sur Mac : ce pack peut donc la détecter. Exécutée sur un ordinateur équipé de Maxiful, sa suppression pourrait arrêter l'équipe et effacer la configuration et la mémoire des assistants. Utilisez sa recherche pour savoir où Maxiful est utilisé, et n'appliquez pas sa suppression aux ordinateurs sur lesquels votre organisation utilise Maxiful.
La décision d'ajouter ces éléments à une liste d'autorisation revient à votre équipe de sécurité. Ces processus exécutent des commandes pour les assistants, par défaut dans la sandbox de chaque assistant, avec les validations décrites sur notre page Sécurité.
Réglages gérés
Maxiful lit les réglages gérés à partir de la version 0.9.60, sous Windows et sur Mac ; les versions antérieures ne les lisent pas.
Un service informatique peut définir de manière centralisée quelques réglages de Maxiful : avec une stratégie de groupe ou Intune sous Windows, et avec un profil de configuration depuis Jamf, Intune ou un autre outil de gestion des appareils sur Mac. Maxiful les lit à chaque utilisation ; la modification de l'un des interrupteurs du propriétaire s'applique aux assistants au prochain démarrage de Maxiful, et ses réglages l'indiquent d'ici là. Un réglage défini par votre organisation apparaît comme Défini par votre organisation dans les réglages de Maxiful et ne peut pas y être modifié ; les réglages de Maxiful listent tout ce que vous avez défini en haut de la section Accès. Sans stratégie, Maxiful fonctionne comme sur un ordinateur non géré par un service informatique.
| Nom | Valeur | Effet |
|---|---|---|
Workspace | Texte | Sur cet ordinateur, Maxiful n'ouvre que l'espace de travail portant cet identifiant. Le propriétaire de l'espace de travail trouve l'identifiant dans les réglages de Maxiful, en haut de la section Accès, sous L'identifiant de cet espace de travail. Un utilisateur qui n'est pas membre de l'espace de travail voit que votre organisation a défini ce réglage et rejoint l'espace de travail sur invitation ; son propre espace de travail et tout autre espace de travail ne s'ouvrent pas sur cet ordinateur. |
AutoUpdate | 0 ou 1 | 0 : Maxiful ne recherche, ne télécharge et n'installe aucune mise à jour, ses réglages indiquent que votre organisation les installe, et vous déployez vous-même chaque nouveau programme d'installation (voir Mises à jour). 1 : Maxiful se met à jour lui-même, comme en l'absence de stratégie. |
OwnerSwitches | 0 ou 1 pour chacun | L'un des interrupteurs du propriétaire ci-dessous, par son nom : 0 désactivé, 1 activé, quel que soit le choix du propriétaire. Un interrupteur que vous ne définissez pas reste au choix du propriétaire. Si vous retirez une valeur, le choix du propriétaire s'applique à nouveau, ou le réglage par défaut de Maxiful si le propriétaire n'a jamais fait de choix ; comme une valeur que vous définissez, ce changement s'applique aux assistants au prochain démarrage de Maxiful. |
Les interrupteurs du propriétaire
| Nom | L'interrupteur dans Maxiful | Emplacement |
|---|---|---|
terminal | Ouvrir un terminal sur cet ordinateur | Accès (Mac uniquement) |
private-network | Laisser les assistants ouvrir des pages sur cet ordinateur et mon réseau | Accès |
pane-reach | Laisser les panneaux des assistants exécuter du code et accéder à l'extérieur de Maxiful | Accès |
claude-code-background | Laisser Claude Code poursuivre les longues commandes en arrière-plan | Accès |
session-reach | Les assistants peuvent parcourir toutes les conversations sur cet ordinateur (pour apprendre du travail passé) | Accès |
model-costs | Afficher les coûts des modèles en dollars | Avancé |
next-prompt | Suggérer mon prochain message | Avancé |
checkin-whole-conversation | Les points réguliers lisent toute la conversation | Avancé |
voice-notes | Transcrire les messages vocaux | Voix et audio |
Outre un nombre, Maxiful lit les textes 0, 1, true et false comme 0 ou 1. Une valeur qu'il ne peut pas lire, comme un autre texte là où 0 ou 1 est attendu, un autre type de registre (REG_QWORD, REG_EXPAND_SZ, REG_BINARY) ou un nom inconnu sous OwnerSwitches, n'est pas appliquée, et les réglages de Maxiful la signalent sous Défini par votre organisation. Sous Windows, cela vaut pour toutes les valeurs de la clé de stratégie et de sa sous-clé, sous HKLM comme sous HKCU.
Sous Windows
Maxiful lit HKLM\SOFTWARE\Policies\Maxiful, puis HKCU\SOFTWARE\Policies\Maxiful ; une valeur sous HKLM l'emporte sur la même valeur sous HKCU. Workspace est de type REG_SZ et AutoUpdate de type REG_DWORD ; chaque interrupteur du propriétaire est un REG_DWORD sous la sous-clé OwnerSwitches, nommé comme dans le tableau. Cette paire ADMX et ADML écrit exactement ces valeurs : enregistrez-les sous maxiful.admx et en-US\maxiful.adml dans votre magasin de définitions de stratégies, ou importez-les dans Intune comme modèles d'administration importés.
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>
Sur Mac
Maxiful lit les préférences gérées de son propre domaine, ai.maxiful.desktop, qu'un profil de configuration installe comme réglages imposés (la charge utile de préférences gérées d'Apple, com.apple.ManagedClient.preferences). Seule une valeur définie par le profil compte : une valeur écrite autrement, par exemple avec defaults write, n'est pas lue. Workspace est une chaîne, AutoUpdate un entier (ou un booléen) et OwnerSwitches un dictionnaire des noms du tableau. Cet exemple de profil limite l'ordinateur à un seul espace de travail, vous laisse gérer les mises à jour, désactive les interrupteurs du terminal et du réseau privé, et affiche les coûts des modèles ; remplacez l'identifiant de l'espace de travail, ainsi que les identifiants et UUID, par les vôtres.
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>
Mises à jour
Maxiful recherche une nouvelle version sur maxiful.ai au démarrage puis toutes les six heures. L'utilisateur choisit Mettre à jour et redémarrer ou Plus tard. Une nouvelle version de Maxiful peut apporter un runtime OpenClaw plus récent ; Maxiful met alors à jour le runtime pour cet utilisateur avec npm, depuis registry.npmjs.org.
Pour installer vous-même chaque nouvelle version et empêcher Maxiful d'en rechercher, sous Windows comme sur Mac, définissez AutoUpdate sur 0 (voir Réglages gérés) : Maxiful indique alors que votre organisation installe ses mises à jour.
Sous Windows
Une nouvelle version est un programme d'installation signé, vérifié par rapport à une clé intégrée à l'application avant son exécution ; la mise à jour le lance en mode passif. Vous pouvez aussi déployer vous-même chaque nouveau programme d'installation avec /S, comme ci-dessus.
Sur Mac
Une nouvelle version est une archive signée de l'application, vérifiée par rapport à une clé intégrée à l'application avant toute utilisation ; elle remplace l'application sur place lorsque le compte de l'utilisateur peut modifier cette copie.
Une copie que l'utilisateur ne peut pas modifier. Lorsque /Applications/Maxiful.app appartient au système (son propriétaire est root) et que le compte de l'utilisateur ne peut pas la modifier, Maxiful ne se met pas à jour lui-même : il ne télécharge rien, ne demande jamais de mot de passe administrateur, ne propose pas Mettre à jour et redémarrer et indique, là où il affiche les mises à jour, qu'une version plus récente est disponible et que votre organisation installe les mises à jour de ce Mac. Déployez chaque nouvelle version avec votre MDM : dans Intune, téléversez son image disque dans la même application ; dans Jamf Pro, créez son paquet avec Composer et déployez-le comme ci-dessus. Une copie modifiable par un compte administrateur se met à jour elle-même pour ce compte, comme sur n'importe quel Mac.
Supprimer Maxiful
Tout supprimer, par l'utilisateur : dans les réglages de Maxiful, Supprimer Maxiful de cet ordinateur. Cette action arrête le processus en arrière-plan et ce qui le lance à l'ouverture de session (ses tâches planifiées sous Windows, son LaunchAgent sur Mac), supprime les données et les identifiants de l'installation, et retire le runtime Node.js qu'elle a installé, sauf si une autre installation sur l'ordinateur l'utilise encore. Sous Windows, elle lance ensuite le programme de désinstallation à la fermeture de Maxiful ; sur Mac, elle place l'app dans la Corbeille si le compte de l'utilisateur en a le droit. Les documents personnels de l'utilisateur ne sont pas touchés.
Sous Windows
Tout supprimer, en mode silencieux : %LOCALAPPDATA%\Maxiful\uninstall.exe /S /REMOVEALL exécute Supprimer Maxiful de cet ordinateur pour l'utilisateur à qui appartient l'installation, sans personne devant l'écran, puis supprime l'app. Cette opération est irréversible. Ce qui a été supprimé, et ce qui n'a pas pu l'être, figure dans removal-report.json, dans %LOCALAPPDATA%\ai.maxiful.desktop\logs.
Sans /REMOVEALL : %LOCALAPPDATA%\Maxiful\uninstall.exe /S, que la procédure Intune ci-dessus exécute, supprime l'app, ses raccourcis, la tâche de maintien de l'équipe et les exclusions Defender ajoutées par Maxiful (Windows peut afficher à nouveau sa demande de confirmation pour celles-ci). Elle arrête aussi le processus en arrière-plan des assistants et retire ce qui le lance à l'ouverture de session, mais conserve le runtime et les données de l'installation. installer.log, à côté des autres journaux de l'app, indique si quelque chose est resté en cours d'exécution.
Sur Mac
Exécutez d'abord Supprimer Maxiful de cet ordinateur pour chaque utilisateur : supprimer uniquement l'app laisse tourner la passerelle en arrière-plan de cet utilisateur, avec tout ce qu'elle contient. Supprimez ensuite /Applications/Maxiful.app avec votre MDM, par exemple avec une attribution Intune Uninstall.