Canal BlueBubbles OpenClaw
Connectez OpenClaw à iMessage via l'API REST BlueBubbles. Cette intégration transforme votre Mac en passerelle iMessage — installez l'application serveur BlueBubbles, activez l'API Web, et votre assistant IA peut envoyer et recevoir des messages iMessage, des réactions tapback et des pièces jointes multimédias. BlueBubbles est le canal iMessage recommandé, remplaçant l'ancienne approche imsg CLI.
BlueBubbles Fonctionnalités prises en charge
Messages texte
Pris en charge
Médias et fichiers
Pris en charge
Réactions
Pris en charge
Fils de discussion
Non pris en charge
Messages vocaux
Non pris en charge
Discussion de groupe
Pris en charge
BlueBubbles Prérequis
- Un Mac sous macOS High Sierra (10.13) ou ultérieur (Ventura 13+ recommandé pour toutes les fonctionnalités ; Tahoe 26 pris en charge avec des limitations)
- L'application serveur BlueBubbles installée depuis bluebubbles.app
- L'API Web activée avec un mot de passe défini dans la configuration BlueBubbles
- OpenClaw Gateway en cours d'exécution et configuré
BlueBubbles Configuration rapide
Installer le serveur BlueBubbles sur votre Mac
Téléchargez et installez l'application serveur BlueBubbles depuis bluebubbles.app/install. Lancez l'application, connectez-vous avec votre Apple ID et terminez la configuration initiale. Assurez-vous que iMessage fonctionne correctement sur le Mac.
Activer l'API Web
Dans les paramètres du serveur BlueBubbles, activez l'API Web/REST et définissez un mot de passe fort. Notez l'URL du serveur (par ex. http://localhost:1234) — vous en aurez besoin pour la configuration OpenClaw.
Ajouter la configuration du canal BlueBubbles
Exécutez 'openclaw onboard' et sélectionnez BlueBubbles, ou ajoutez manuellement la configuration du canal dans ~/.openclaw/openclaw.json avec votre serverUrl et password. Configurez le webhookPath si nécessaire.
Configurer le webhook et tester
Pointez les webhooks BlueBubbles vers votre Gateway : https://your-gateway-host:3000/bluebubbles-webhook?password=<password>. Démarrez le Gateway et envoyez un iMessage de test pour vérifier la connexion. Si vous utilisez la politique pairing, approuvez l'expéditeur via 'openclaw pairing approve bluebubbles <code>'.
BlueBubbles Exemple de configuration
{
"channels": {
"bluebubbles": {
"enabled": true,
"serverUrl": "http://localhost:1234",
"password": "YOUR_BLUEBUBBLES_PASSWORD",
"webhookPath": "/bluebubbles-webhook",
"dmPolicy": "pairing"
}
}
}BlueBubbles Documentation Détaillée
Aperçu de l'architecture
Configuration du serveur BlueBubbles
# Format d'URL webhook pour votre Gateway
https://your-gateway-host:3000/bluebubbles-webhook?password=YOUR_PASSWORDPolitiques de DM
{
"channels": {
"bluebubbles": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567", "user@example.com"]
}
}
}Gestion des discussions de groupe
{
"channels": {
"bluebubbles": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["+15551234567"],
"groups": {
"iMessage;+;chat123456": {
"requireMention": false
}
}
}
}
}Actions et effets iMessage
{
"channels": {
"bluebubbles": {
"actions": {
"reactions": true,
"edit": true,
"unsend": true,
"reply": true,
"sendWithEffect": true,
"sendAttachment": true
}
}
}
}Livraison et découpage des messages
{
"channels": {
"bluebubbles": {
"textChunkLimit": 4000,
"chunkMode": "newline",
"blockStreaming": false,
"sendReadReceipts": true
}
}
}Médias et pièces jointes
Gestion des ID de message
Adressage et routage
Sécurité et authentification webhook
Maintien en vie de Messages.app (Headless/VM)
BlueBubbles Référence de Configuration
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | false | Activer ou désactiver le canal BlueBubbles |
| serverUrl | string | "" | URL de base de l'API REST BlueBubbles (ex : http://localhost:1234) |
| password | string | "" | Mot de passe API BlueBubbles pour l'authentification |
| webhookPath | string | "/bluebubbles-webhook" | Chemin du point de terminaison webhook pour la réception des messages |
| dmPolicy | string | "pairing" | Contrôle qui peut envoyer des DM au bot. Options : pairing, allowlist, open, disabled |
| allowFrom | string[] | [] | Numéros de téléphone et e-mails autorisés à envoyer des messages (format E.164 pour les téléphones) |
| groupPolicy | string | "allowlist" | Politique de discussion de groupe. Options : open, allowlist, disabled |
| groupAllowFrom | string[] | [] | Adresses d'expéditeurs autorisés à déclencher le bot dans les discussions de groupe |
| sendReadReceipts | boolean | true | Envoyer une confirmation de lecture lors du traitement des messages |
| blockStreaming | boolean | false | Activer le streaming de réponse par blocs au lieu d'attendre la réponse complète |
| textChunkLimit | number | 4000 | Nombre maximum de caractères par bloc de message texte sortant |
| chunkMode | string | "length" | Mode de découpage du texte. Options : length (par taille), newline (par paragraphe) |
| mediaMaxMb | number | 8 | Taille maximale des pièces jointes entrantes en mégaoctets |
| historyLimit | number | - | Nombre maximum de messages de groupe inclus comme contexte IA (0 pour désactiver) |
| dmHistoryLimit | number | - | Limite d'historique de conversation DM pour le contexte IA |
| actions.reactions | boolean | true | Activer les réactions tapback (nécessite l'API privée) |
| actions.edit | boolean | true | Activer l'édition de messages (nécessite macOS 13+ ; cassé sur Tahoe) |
| actions.unsend | boolean | true | Activer la suppression de messages (nécessite macOS 13+) |
| actions.reply | boolean | true | Activer le threading de messages par GUID |
| actions.sendWithEffect | boolean | true | Activer les effets de bulle iMessage (slam, fort, doux, etc.) |
| actions.sendAttachment | boolean | true | Activer la livraison de médias et de mémos vocaux |
Activer ou désactiver le canal BlueBubbles
URL de base de l'API REST BlueBubbles (ex : http://localhost:1234)
Mot de passe API BlueBubbles pour l'authentification
Chemin du point de terminaison webhook pour la réception des messages
Contrôle qui peut envoyer des DM au bot. Options : pairing, allowlist, open, disabled
Numéros de téléphone et e-mails autorisés à envoyer des messages (format E.164 pour les téléphones)
Politique de discussion de groupe. Options : open, allowlist, disabled
Adresses d'expéditeurs autorisés à déclencher le bot dans les discussions de groupe
Envoyer une confirmation de lecture lors du traitement des messages
Activer le streaming de réponse par blocs au lieu d'attendre la réponse complète
Nombre maximum de caractères par bloc de message texte sortant
Mode de découpage du texte. Options : length (par taille), newline (par paragraphe)
Taille maximale des pièces jointes entrantes en mégaoctets
Nombre maximum de messages de groupe inclus comme contexte IA (0 pour désactiver)
Limite d'historique de conversation DM pour le contexte IA
Activer les réactions tapback (nécessite l'API privée)
Activer l'édition de messages (nécessite macOS 13+ ; cassé sur Tahoe)
Activer la suppression de messages (nécessite macOS 13+)
Activer le threading de messages par GUID
Activer les effets de bulle iMessage (slam, fort, doux, etc.)
Activer la livraison de médias et de mémos vocaux
BlueBubbles Questions Fréquentes
BlueBubbles Dépannage
L'URL webhook dans BlueBubbles ne correspond pas au point de terminaison du Gateway, ou le paramètre de mot de passe est incorrect.
L'API privée BlueBubbles n'est pas activée, ou la version du serveur ne prend pas en charge les points de terminaison API requis.
Messages.app passe en mode veille sur les configurations headless/VM et arrête le traitement de l'interface de script.
Le numéro de téléphone ou l'e-mail du destinataire n'est pas enregistré avec iMessage, ou l'Apple ID sur le Mac a iMessage désactivé.
Problème connu — macOS Tahoe (26) a cassé le point de terminaison de l'API privée pour l'édition de messages.