Canal iMessage (Legacy) do OpenClaw
Conecte o OpenClaw ao Apple iMessage usando a ferramenta CLI imsg no macOS. Esta integração legada usa uma interface JSON-RPC over stdio para ler e enviar iMessages através do banco de dados nativo de Mensagens do macOS. Nota: Este canal está obsoleto — para novas instalações, recomendamos fortemente o uso do BlueBubbles, que oferece uma integração baseada em REST API mais robusta com suporte mais amplo de funcionalidades.
iMessage (Legacy) Recursos suportados
Mensagens de texto
Suportado
Mídia e arquivos
Suportado
Reações
Não suportado
Threads
Não suportado
Mensagens de voz
Não suportado
Chat em grupo
Não suportado
iMessage (Legacy) Pré-requisitos
- Um Mac executando macOS com o Mensagens conectado a um Apple ID
- Permissão de Acesso Total ao Disco concedida ao OpenClaw e ao binário imsg
- Permissão de Automação para envio de mensagens (concedida via prompts TCC do macOS)
- O CLI imsg instalado via Homebrew: brew install steipete/tap/imsg
- OpenClaw Gateway instalado e em execução
iMessage (Legacy) Configuração rápida
Instalar o CLI imsg
Execute 'brew install steipete/tap/imsg' para instalar a ferramenta CLI do iMessage. Após a instalação, execute 'imsg' uma vez em um terminal GUI para acionar os prompts de permissão do macOS (Acesso Total ao Disco e Automação).
Conceder permissões do macOS
Abra Ajustes do Sistema > Privacidade e Segurança. Conceda Acesso Total ao Disco tanto para o binário imsg quanto para o processo OpenClaw. A permissão de Automação para o Mensagens será solicitada automaticamente quando o imsg tentar enviar uma mensagem pela primeira vez.
Configurar e iniciar
Adicione a configuração do canal iMessage em ~/.openclaw/openclaw.json com as configurações cliPath e dbPath. Inicie o Gateway com 'openclaw start' e envie um iMessage de teste para verificar a conexão.
iMessage (Legacy) Exemplo de configuração
{
"channels": {
"imessage": {
"enabled": true,
"cliPath": "/opt/homebrew/bin/imsg",
"dbPath": "/Users/<username>/Library/Messages/chat.db"
}
}
}iMessage (Legacy) Documentação Detalhada
Aviso de descontinuação
Visão geral da arquitetura
Políticas de mensagens diretas
{
"channels": {
"imessage": {
"dmPolicy": "pairing",
"allowFrom": ["+1234567890", "user@icloud.com"]
}
}
}Configuração de chat em grupo
{
"channels": {
"imessage": {
"groupPolicy": "allowlist",
"mentionPattern": "@bot"
}
}
}Configuração de Mac remoto via SSH
{
"channels": {
"imessage": {
"remoteHost": "mac-server.local",
"cliPath": "/usr/local/bin/imsg"
}
}
}Permissões do macOS (TCC)
iMessage (Legacy) Referência de Configuração
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Ativar ou desativar o canal iMessage |
| cliPath | string | "/usr/local/bin/imsg" | Caminho para o binário CLI imsg. O Homebrew instala em /opt/homebrew/bin/imsg em Macs com Apple Silicon ou /usr/local/bin/imsg em Macs com Intel |
| dbPath | string | "~/Library/Messages/chat.db" | Caminho para o banco de dados SQLite de Mensagens do macOS |
| dmPolicy | string | "pairing" | Política de acesso DM: 'pairing', 'allowlist', 'open' ou 'disabled' |
| groupPolicy | string | "disabled" | Política de chat em grupo: 'open', 'allowlist' ou 'disabled' |
| allowFrom | string[] | [] | Números de telefone ou Apple IDs autorizados a contatar o bot |
| includeAttachments | boolean | false | Se deve processar anexos de mídia de mensagens recebidas |
| mediaMaxMb | number | 10 | Tamanho máximo de arquivo de mídia em MB |
| textChunkLimit | number | 4000 | Máximo de caracteres por mensagem enviada |
| chunkMode | string | "length" | Modo de divisão de texto: 'length' (limite de caracteres) ou 'newline' (limites de parágrafo) |
| historyLimit | number | 20 | Máximo de mensagens anteriores incluídas como contexto da conversa |
| configWrites | boolean | true | Permitir comandos /config set|unset via iMessage |
| remoteHost | string | "" | Nome do host SSH para executar imsg em um Mac remoto |
Ativar ou desativar o canal iMessage
Caminho para o binário CLI imsg. O Homebrew instala em /opt/homebrew/bin/imsg em Macs com Apple Silicon ou /usr/local/bin/imsg em Macs com Intel
Caminho para o banco de dados SQLite de Mensagens do macOS
Política de acesso DM: 'pairing', 'allowlist', 'open' ou 'disabled'
Política de chat em grupo: 'open', 'allowlist' ou 'disabled'
Números de telefone ou Apple IDs autorizados a contatar o bot
Se deve processar anexos de mídia de mensagens recebidas
Tamanho máximo de arquivo de mídia em MB
Máximo de caracteres por mensagem enviada
Modo de divisão de texto: 'length' (limite de caracteres) ou 'newline' (limites de parágrafo)
Máximo de mensagens anteriores incluídas como contexto da conversa
Permitir comandos /config set|unset via iMessage
Nome do host SSH para executar imsg em um Mac remoto
iMessage (Legacy) Perguntas Frequentes
iMessage (Legacy) Solução de Problemas
Permissões do macOS ausentes (Acesso Total ao Disco ou Automação) para o binário imsg ou o processo OpenClaw.
O processo está executando em ambiente headless (SSH, launchd) onde o macOS não pode exibir prompts TCC.
A configuração dbPath está incorreta ou o Acesso Total ao Disco não foi concedido.
A autenticação por chave SSH não está configurada ou o host remoto está inacessível.