Canal iMessage (Legacy) de OpenClaw
Conecta OpenClaw a Apple iMessage usando la herramienta CLI imsg en macOS. Esta integración heredada utiliza una interfaz JSON-RPC over stdio para leer y enviar iMessages a través de la base de datos nativa de Mensajes de macOS. Nota: Este canal está obsoleto — para nuevas instalaciones, recomendamos encarecidamente usar BlueBubbles, que ofrece una integración basada en REST API más robusta con un soporte de funciones más amplio.
iMessage (Legacy) Funciones compatibles
Mensajes de texto
Compatible
Medios y archivos
Compatible
Reacciones
No compatible
Hilos
No compatible
Mensajes de voz
No compatible
Chat grupal
No compatible
iMessage (Legacy) Requisitos previos
- Un Mac con macOS con Mensajes conectado a un Apple ID
- Permiso de acceso completo al disco otorgado a OpenClaw y al binario imsg
- Permiso de automatización para enviar mensajes (otorgado mediante avisos TCC de macOS)
- El CLI imsg instalado mediante Homebrew: brew install steipete/tap/imsg
- OpenClaw Gateway instalado y en ejecución
iMessage (Legacy) Configuración rápida
Instalar el CLI imsg
Ejecuta 'brew install steipete/tap/imsg' para instalar la herramienta CLI de iMessage. Después de la instalación, ejecuta 'imsg' una vez en una terminal GUI para activar los avisos de permisos de macOS (acceso completo al disco y automatización).
Otorgar permisos de macOS
Abre Ajustes del Sistema > Privacidad y seguridad. Otorga acceso completo al disco tanto al binario imsg como al proceso OpenClaw. El permiso de automatización para Mensajes se solicitará automáticamente cuando imsg intente enviar un mensaje por primera vez.
Configurar e iniciar
Agrega la configuración del canal iMessage en ~/.openclaw/openclaw.json con los ajustes cliPath y dbPath. Inicia el Gateway con 'openclaw start' y envía un iMessage de prueba para verificar la conexión.
iMessage (Legacy) Ejemplo de configuración
{
"channels": {
"imessage": {
"enabled": true,
"cliPath": "/opt/homebrew/bin/imsg",
"dbPath": "/Users/<username>/Library/Messages/chat.db"
}
}
}iMessage (Legacy) Documentación Detallada
Aviso de obsolescencia
Descripción de la arquitectura
Políticas de mensajes directos
{
"channels": {
"imessage": {
"dmPolicy": "pairing",
"allowFrom": ["+1234567890", "user@icloud.com"]
}
}
}Configuración de chat grupal
{
"channels": {
"imessage": {
"groupPolicy": "allowlist",
"mentionPattern": "@bot"
}
}
}Configuración de Mac remoto vía SSH
{
"channels": {
"imessage": {
"remoteHost": "mac-server.local",
"cliPath": "/usr/local/bin/imsg"
}
}
}Permisos de macOS (TCC)
iMessage (Legacy) Referencia de Configuración
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Activar o desactivar el canal iMessage |
| cliPath | string | "/usr/local/bin/imsg" | Ruta al binario CLI imsg. Homebrew instala en /opt/homebrew/bin/imsg en Mac con Apple Silicon o /usr/local/bin/imsg en Mac con Intel |
| dbPath | string | "~/Library/Messages/chat.db" | Ruta a la base de datos SQLite de Mensajes de macOS |
| dmPolicy | string | "pairing" | Política de acceso DM: 'pairing', 'allowlist', 'open' o 'disabled' |
| groupPolicy | string | "disabled" | Política de chat grupal: 'open', 'allowlist' o 'disabled' |
| allowFrom | string[] | [] | Números de teléfono o Apple IDs autorizados para contactar al bot |
| includeAttachments | boolean | false | Si procesar archivos adjuntos multimedia de mensajes entrantes |
| mediaMaxMb | number | 10 | Tamaño máximo de archivo multimedia en MB |
| textChunkLimit | number | 4000 | Máximo de caracteres por mensaje saliente |
| chunkMode | string | "length" | Modo de división de texto: 'length' (límite de caracteres) o 'newline' (límites de párrafo) |
| historyLimit | number | 20 | Máximo de mensajes anteriores incluidos como contexto de conversación |
| configWrites | boolean | true | Permitir comandos /config set|unset vía iMessage |
| remoteHost | string | "" | Nombre de host SSH para ejecutar imsg en un Mac remoto |
Activar o desactivar el canal iMessage
Ruta al binario CLI imsg. Homebrew instala en /opt/homebrew/bin/imsg en Mac con Apple Silicon o /usr/local/bin/imsg en Mac con Intel
Ruta a la base de datos SQLite de Mensajes de macOS
Política de acceso DM: 'pairing', 'allowlist', 'open' o 'disabled'
Política de chat grupal: 'open', 'allowlist' o 'disabled'
Números de teléfono o Apple IDs autorizados para contactar al bot
Si procesar archivos adjuntos multimedia de mensajes entrantes
Tamaño máximo de archivo multimedia en MB
Máximo de caracteres por mensaje saliente
Modo de división de texto: 'length' (límite de caracteres) o 'newline' (límites de párrafo)
Máximo de mensajes anteriores incluidos como contexto de conversación
Permitir comandos /config set|unset vía iMessage
Nombre de host SSH para ejecutar imsg en un Mac remoto
iMessage (Legacy) Preguntas Frecuentes
iMessage (Legacy) Solución de Problemas
Faltan permisos de macOS (acceso completo al disco o automatización) para el binario imsg o el proceso OpenClaw.
El proceso se ejecuta en un entorno headless (SSH, launchd) donde macOS no puede mostrar avisos TCC.
La configuración de dbPath es incorrecta o no se ha otorgado el acceso completo al disco.
La autenticación por clave SSH no está configurada o el host remoto no es accesible.