Ir al contenido

Configuración de iMessage (imsg)

Conectar plataformas cerradas a tus flujos de trabajo suele ser un dolor de cabeza. A veces solo necesitas que tus herramientas de automatización puedan enviar o recibir mensajes de texto sin pelearte con protocolos propietarios o interfaces bloqueadas que detienen tu desarrollo.

Si estás buscando una forma de integrar iMessage en tu infraestructura, aquí tienes cómo hacerlo. Ten en cuenta que la integración imsg se considera legacy; para despliegues nuevos, te recomiendo usar BlueBubbles.

Para que esto funcione, necesitas cumplir con estos requisitos en tu Mac:

  • Tener la sesión de Messages iniciada.
  • Full Disk Access para el proceso que ejecuta OpenClaw/imsg (acceso a la DB de mensajes).
  • Permisos de Automation para enviar mensajes a través de Messages.app.
  • La herramienta imsg instalada.

Esta es la ruta más rápida para configurar iMessage en un Mac local en menos de 5 minutos.

Ejecuta estos comandos en tu terminal:

Ventana de terminal
brew install steipete/tap/imsg
imsg rpc --help

Añade la configuración al archivo JSON de tu Gateway:

{
channels: {
imessage: {
enabled: true,
cliPath: "/usr/local/bin/imsg",
dbPath: "/Users/<you>/Library/Messages/chat.db",
},
},
}

Lanza el servicio:

Ventana de terminal
openclaw gateway

Por defecto, la política de DMs requiere emparejamiento. Usa estos comandos:

Ventana de terminal
openclaw pairing list imessage
openclaw pairing approve imessage <CODE>

Recuerda que las solicitudes de pairing caducan después de 1 hora.


Si tu Gateway corre en otra máquina, puedes apuntar el cliPath a un script que ejecute imsg de forma remota:

#!/usr/bin/env bash
exec ssh -T gateway-host imsg "$@"

Configuración recomendada para este escenario (incluyendo adjuntos):

{
channels: {
imessage: {
enabled: true,
cliPath: "~/.openclaw/scripts/imsg-ssh",
remoteHost: "user@gateway-host", // usado para transferencias SCP
includeAttachments: true,
},
},
}

Puedes controlar quién interactúa con tu Gateway mediante estas políticas:

  1. DM Policy: Usa pairing (por defecto), allowlist, open o disabled.
  2. Group Policy: Usa allowlist (por defecto) u open.

Si usas allowlist, define los contactos permitidos en channels.imessage.allowFrom. Los grupos se gestionan de forma aislada para mantener el contexto de la conversación.

iMessage no tiene metadatos nativos para menciones. OpenClaw usa patrones regex definidos en agents.list[].groupChat.mentionPatterns. Si no configuras estos patrones, no podrás filtrar mensajes por mención en los grupos.

Verifica el binario y el soporte de RPC con estos comandos:

Ventana de terminal
imsg rpc --help
openclaw channels status --probe

Si el probe indica que RPC no es compatible, actualiza tu versión de imsg.

Revisa estos puntos:

  • La configuración de channels.imessage.dmPolicy.
  • La lista en channels.imessage.allowFrom.
  • El estado de las aprobaciones con openclaw pairing list imessage.

Comprueba lo siguiente:

  • La política en channels.imessage.groupPolicy.
  • Si el remitente está en channels.imessage.groupAllowFrom.
  • Los patrones de mención configurados.

Si los archivos no llegan desde un Mac remoto, verifica:

  • Que channels.imessage.remoteHost esté configurado.
  • La autenticación por llaves SSH/SCP entre el Gateway y el Mac.

Si no aparecieron los avisos de permisos, fuerza una interacción manual en una terminal con GUI:

Ventana de terminal
imsg chats --limit 1
imsg send <handle> "test"

Asegúrate de conceder Full Disk Access y Automation en Preferencias del Sistema.

¿Necesitas ayuda con la configuración? Prueba el AI Setup Assistant.

OpenClaw

OpenClaw Expert

Sigues atascado?

Si esta pagina no resolvio tu caso, pregunta a OpenClaw Expert para pasos concretos.