iMessage (hérité : imsg)
Statut : intégration CLI externe héritée. Gateway lanceimsg rpc et communique via JSON-RPC sur stdio (pas de démon/port séparé).
BlueBubbles (recommandé)
Voie iMessage privilégiée pour les nouvelles installations.
Appairage
Les DM iMessage utilisent par défaut le mode d’appairage.
Référence de configuration
Référence complète des champs iMessage.
Configuration rapide
- Mac local (voie rapide)
- Mac distant via SSH
Exigences et autorisations (macOS)
- Messages doit être connecté sur le Mac qui exécute
imsg. - Un accès complet au disque est requis pour le contexte de processus qui exécute OpenClaw/
imsg(accès à la base de données Messages). - L’autorisation Automation est requise pour envoyer des messages via Messages.app.
Contrôle d’accès et routage
- Politique DM
- Politique de groupe + mentions
- Sessions et réponses déterministes
channels.imessage.dmPolicy contrôle les messages directs :pairing(par défaut)allowlistopen(nécessite queallowFrominclue"*")disabled
channels.imessage.allowFrom.Les entrées de liste d’autorisation peuvent être des handles ou des cibles de chat (chat_id:*, chat_guid:*, chat_identifier:*).Liaisons de conversation ACP
Les anciens chats iMessage peuvent aussi être liés à des sessions ACP. Flux opérateur rapide :- Exécutez
/acp spawn codex --bind heredans le DM ou le chat de groupe autorisé. - Les messages suivants dans cette même conversation iMessage sont acheminés vers la session ACP lancée.
/newet/resetréinitialisent la même session ACP liée sur place./acp closeferme la session ACP et supprime la liaison.
bindings[] de niveau supérieur avec type: "acp" et match.channel: "imessage".
match.peer.id peut utiliser :
- un handle de DM normalisé tel que
+15555550123ouuser@example.com chat_id:<id>(recommandé pour des liaisons de groupe stables)chat_guid:<guid>chat_identifier:<identifier>
Modèles de déploiement
Utilisateur macOS de bot dédié (identité iMessage séparée)
Utilisateur macOS de bot dédié (identité iMessage séparée)
Utilisez un Apple ID et un utilisateur macOS dédiés afin d’isoler le trafic du bot de votre profil Messages personnel.Flux typique :
- Créez/connectez un utilisateur macOS dédié.
- Connectez-vous à Messages avec l’Apple ID du bot dans cet utilisateur.
- Installez
imsgdans cet utilisateur. - Créez un wrapper SSH afin qu’OpenClaw puisse exécuter
imsgdans le contexte de cet utilisateur. - Faites pointer
channels.imessage.accounts.<id>.cliPathet.dbPathvers ce profil utilisateur.
Mac distant sur Tailscale (exemple)
Mac distant sur Tailscale (exemple)
Topologie courante :Utilisez des clés SSH afin que SSH et SCP soient tous deux non interactifs.
Assurez-vous d’abord que la clé d’hôte est approuvée (par exemple
- gateway s’exécute sur Linux/VM
- iMessage +
imsgs’exécute sur un Mac dans votre tailnet - le wrapper
cliPathutilise SSH pour exécuterimsg remoteHostactive les récupérations de pièces jointes via SCP
ssh bot@mac-mini.tailnet-1234.ts.net) afin que known_hosts soit renseigné.Modèle multi-comptes
Modèle multi-comptes
iMessage prend en charge une configuration par compte sous
channels.imessage.accounts.Chaque compte peut remplacer des champs tels que cliPath, dbPath, allowFrom, groupPolicy, mediaMaxMb, les paramètres d’historique et les listes d’autorisation des racines de pièces jointes.Médias, segmentation et cibles de livraison
Pièces jointes et médias
Pièces jointes et médias
- l’ingestion des pièces jointes entrantes est facultative :
channels.imessage.includeAttachments - les chemins de pièces jointes distants peuvent être récupérés via SCP lorsque
remoteHostest défini - les chemins de pièces jointes doivent correspondre aux racines autorisées :
channels.imessage.attachmentRoots(local)channels.imessage.remoteAttachmentRoots(mode SCP distant)- motif de racine par défaut :
/Users/*/Library/Messages/Attachments
- SCP utilise une vérification stricte de la clé d’hôte (
StrictHostKeyChecking=yes) - la taille des médias sortants utilise
channels.imessage.mediaMaxMb(16 MB par défaut)
Segmentation sortante
Segmentation sortante
- limite de segmentation du texte :
channels.imessage.textChunkLimit(4000 par défaut) - mode de segmentation :
channels.imessage.chunkModelength(par défaut)newline(segmentation en privilégiant les paragraphes)
Formats d’adressage
Formats d’adressage
Cibles explicites recommandées :
chat_id:123(recommandé pour un routage stable)chat_guid:...chat_identifier:...
imessage:+1555...sms:+1555...user@example.com
Écritures de configuration
iMessage autorise par défaut les écritures de configuration initiées par le canal (pour/config set|unset lorsque commands.config: true).
Désactiver :
Dépannage
imsg introuvable ou RPC non pris en charge
imsg introuvable ou RPC non pris en charge
Validez le binaire et la prise en charge RPC :Si la sonde indique que RPC n’est pas pris en charge, mettez
imsg à jour.Les DM sont ignorés
Les DM sont ignorés
Vérifiez :
channels.imessage.dmPolicychannels.imessage.allowFrom- les approbations d’appairage (
openclaw pairing list imessage)
Les messages de groupe sont ignorés
Les messages de groupe sont ignorés
Vérifiez :
channels.imessage.groupPolicychannels.imessage.groupAllowFrom- le comportement de liste d’autorisation de
channels.imessage.groups - la configuration des motifs de mention (
agents.list[].groupChat.mentionPatterns)
Les pièces jointes distantes échouent
Les pièces jointes distantes échouent
Vérifiez :
channels.imessage.remoteHostchannels.imessage.remoteAttachmentRoots- l’authentification par clé SSH/SCP depuis l’hôte gateway
- la présence de la clé d’hôte dans
~/.ssh/known_hostssur l’hôte gateway - la lisibilité du chemin distant sur le Mac exécutant Messages
Les invites d’autorisation macOS ont été manquées
Les invites d’autorisation macOS ont été manquées
Réexécutez dans un terminal GUI interactif dans le même contexte utilisateur/session et approuvez les invites :Confirmez qu’Accès complet au disque + Automation sont accordés pour le contexte de processus qui exécute OpenClaw/
imsg.Pointeurs de référence de configuration
Liens associés
- Vue d’ensemble des canaux — tous les canaux pris en charge
- Appairage — authentification DM et flux d’appairage
- Groupes — comportement des chats de groupe et contrôle par mention
- Routage des canaux — routage de session pour les messages
- Sécurité — modèle d’accès et durcissement