iMessage (heredado: imsg)
Estado: integración heredada de CLI externa. Gateway iniciaimsg rpc y se comunica por JSON-RPC sobre stdio (sin daemon/puerto independiente).
BlueBubbles (recomendado)
Ruta preferida de iMessage para configuraciones nuevas.
Emparejamiento
Los mensajes directos de iMessage usan el modo de emparejamiento de forma predeterminada.
Referencia de configuración
Referencia completa de campos de iMessage.
Configuración rápida
- Mac local (ruta rápida)
- Mac remota por SSH
Requisitos y permisos (macOS)
- Messages debe tener sesión iniciada en la Mac que ejecuta
imsg. - Se requiere Full Disk Access para el contexto de proceso que ejecuta OpenClaw/
imsg(acceso a la base de datos de Messages). - Se requiere permiso de Automation para enviar mensajes a través de Messages.app.
Control de acceso y enrutamiento
- Política de mensajes directos
- Política de grupos y menciones
- Sesiones y respuestas deterministas
channels.imessage.dmPolicy controla los mensajes directos:pairing(predeterminado)allowlistopen(requiere queallowFromincluya"*")disabled
channels.imessage.allowFrom.Las entradas de la allowlist pueden ser identificadores o destinos de chat (chat_id:*, chat_guid:*, chat_identifier:*).Bindings de conversaciones ACP
Los chats heredados de iMessage también pueden vincularse a sesiones ACP. Flujo rápido para operadores:- Ejecuta
/acp spawn codex --bind heredentro del mensaje directo o del chat de grupo permitido. - Los mensajes futuros en esa misma conversación de iMessage se enrutan a la sesión ACP iniciada.
/newy/resetrestablecen esa misma sesión ACP vinculada en su lugar./acp closecierra la sesión ACP y elimina el binding.
bindings[] de nivel superior con type: "acp" y match.channel: "imessage".
match.peer.id puede usar:
- identificador normalizado de mensaje directo, como
+15555550123ouser@example.com chat_id:<id>(recomendado para bindings de grupo estables)chat_guid:<guid>chat_identifier:<identifier>
Patrones de implementación
Usuario bot dedicado de macOS (identidad de iMessage independiente)
Usuario bot dedicado de macOS (identidad de iMessage independiente)
Usa un Apple ID y un usuario de macOS dedicados para que el tráfico del bot quede aislado de tu perfil personal de Messages.Flujo típico:
- Crea o inicia sesión en un usuario dedicado de macOS.
- Inicia sesión en Messages con el Apple ID del bot en ese usuario.
- Instala
imsgen ese usuario. - Crea un script contenedor SSH para que OpenClaw pueda ejecutar
imsgen el contexto de ese usuario. - Haz que
channels.imessage.accounts.<id>.cliPathy.dbPathapunten a ese perfil de usuario.
Mac remota por Tailscale (ejemplo)
Mac remota por Tailscale (ejemplo)
Topología habitual:Usa claves SSH para que tanto SSH como SCP no sean interactivos.
Asegúrate de que la clave del host sea de confianza primero (por ejemplo
- gateway se ejecuta en Linux/VM
- iMessage +
imsgse ejecuta en una Mac de tu tailnet - el contenedor
cliPathusa SSH para ejecutarimsg remoteHosthabilita la recuperación de archivos adjuntos por SCP
ssh bot@mac-mini.tailnet-1234.ts.net) para que se complete known_hosts.Patrón de varias cuentas
Patrón de varias cuentas
iMessage admite configuración por cuenta en
channels.imessage.accounts.Cada cuenta puede reemplazar campos como cliPath, dbPath, allowFrom, groupPolicy, mediaMaxMb, configuración del historial y allowlists de raíces de archivos adjuntos.Contenido multimedia, fragmentación y destinos de entrega
Archivos adjuntos y multimedia
Archivos adjuntos y multimedia
- la ingesta de archivos adjuntos entrantes es opcional:
channels.imessage.includeAttachments - las rutas remotas de archivos adjuntos pueden recuperarse por SCP cuando
remoteHostestá configurado - las rutas de archivos adjuntos deben coincidir con las raíces permitidas:
channels.imessage.attachmentRoots(local)channels.imessage.remoteAttachmentRoots(modo SCP remoto)- patrón de raíz predeterminado:
/Users/*/Library/Messages/Attachments
- SCP usa verificación estricta de clave de host (
StrictHostKeyChecking=yes) - el tamaño del contenido multimedia saliente usa
channels.imessage.mediaMaxMb(16 MB de forma predeterminada)
Fragmentación saliente
Fragmentación saliente
- límite de fragmento de texto:
channels.imessage.textChunkLimit(4000 de forma predeterminada) - modo de fragmentación:
channels.imessage.chunkModelength(predeterminado)newline(división por párrafos primero)
Formatos de direccionamiento
Formatos de direccionamiento
Destinos explícitos preferidos:
chat_id:123(recomendado para enrutamiento estable)chat_guid:...chat_identifier:...
imessage:+1555...sms:+1555...user@example.com
Escrituras de configuración
iMessage permite por defecto escrituras de configuración iniciadas por el canal (para/config set|unset cuando commands.config: true).
Deshabilitar:
Solución de problemas
imsg no encontrado o RPC no compatible
imsg no encontrado o RPC no compatible
Valida el binario y la compatibilidad con RPC:Si la sonda informa que RPC no es compatible, actualiza
imsg.Los mensajes directos se ignoran
Los mensajes directos se ignoran
Comprueba:
channels.imessage.dmPolicychannels.imessage.allowFrom- aprobaciones de emparejamiento (
openclaw pairing list imessage)
Los mensajes de grupo se ignoran
Los mensajes de grupo se ignoran
Comprueba:
channels.imessage.groupPolicychannels.imessage.groupAllowFrom- comportamiento de allowlist de
channels.imessage.groups - configuración del patrón de menciones (
agents.list[].groupChat.mentionPatterns)
Fallan los archivos adjuntos remotos
Fallan los archivos adjuntos remotos
Comprueba:
channels.imessage.remoteHostchannels.imessage.remoteAttachmentRoots- autenticación por clave SSH/SCP desde el host gateway
- la clave del host existe en
~/.ssh/known_hostsen el host gateway - legibilidad de la ruta remota en la Mac que ejecuta Messages
Se omitieron las solicitudes de permisos de macOS
Se omitieron las solicitudes de permisos de macOS
Vuelve a ejecutar en una terminal GUI interactiva en el mismo contexto de usuario/sesión y aprueba las solicitudes:Confirma que Full Disk Access y Automation estén concedidos para el contexto de proceso que ejecuta OpenClaw/
imsg.Punteros a la referencia de configuración
Relacionado
- Descripción general de canales — todos los canales compatibles
- Emparejamiento — autenticación de mensajes directos y flujo de emparejamiento
- Grupos — comportamiento del chat de grupo y filtrado por menciones
- Enrutamiento de canales — enrutamiento de sesiones para mensajes
- Seguridad — modelo de acceso y refuerzo