BlueBubbles (iMessage)

Connect Hermes to Apple iMessage via BlueBubbles — a free, open-source macOS server that bridges iMessage to any device.

Prerequisites

Setup

1. Install BlueBubbles Server

Download and install from bluebubbles.app. Complete the setup wizard — sign in with your Apple ID and configure a connection method (local network, Ngrok, Cloudflare, or Dynamic DNS).

2. Get your Server URL and Password

In BlueBubbles Server → Settings → API, note: - Server URL (e.g., http://192.168.1.10:1234) - Server Password

3. Configure Hermes

Run the setup wizard:

hermes gateway setup

Select BlueBubbles (iMessage) and enter your server URL and password.

Or set environment variables directly in ~/.hermes/.env:

BLUEBUBBLES_SERVER_URL=http://192.168.1.10:1234
BLUEBUBBLES_PASSWORD=your-server-password

4. Authorize Users

Choose one approach:

DM Pairing (recommended): When someone messages your iMessage, Hermes automatically sends them a pairing code. Approve it with:

hermes pairing approve bluebubbles <CODE>

Use hermes pairing list to see pending codes and approved users.

Pre-authorize specific users (in ~/.hermes/.env):

BLUEBUBBLES_ALLOWED_USERS=user@icloud.com,+15551234567

Open access (in ~/.hermes/.env):

BLUEBUBBLES_ALLOW_ALL_USERS=true

5. Start the Gateway

hermes gateway run

Hermes will connect to your BlueBubbles server, register a webhook, and start listening for iMessage messages.

How It Works

iMessage → Messages.app → BlueBubbles Server → Webhook → Hermes
Hermes → BlueBubbles REST API → Messages.app → iMessage

Environment Variables

| Variable | Required | Default | Description | |lang: ru


----|----------|---------|-------------| | BLUEBUBBLES_SERVER_URL | Да | — | URL-адрес сервера BlueBubbles | | BLUEBUBBLES_PASSWORD | Да | — | Пароль сервера | | BLUEBUBBLES_WEBHOOK_HOST | Нет | 127.0.0.1 | Адрес привязки прослушивателя Webhook | | BLUEBUBBLES_WEBHOOK_PORT | Нет | 8645 | Порт прослушивателя Webhook | | BLUEBUBBLES_WEBHOOK_PATH | Нет | /bluebubbles-webhook | URL-путь вебхука | | BLUEBUBBLES_HOME_CHANNEL | Нет | — | Телефон/электронная почта для доставки cron | | BLUEBUBBLES_ALLOWED_USERS | Нет | — | Авторизованные пользователи, разделенные запятыми | | BLUEBUBBLES_ALLOW_ALL_USERS | Нет | false | Разрешить всем пользователям |

Автоматическая пометка сообщений как прочитанных контролируется клавишей send_read_receipts под platforms.bluebubbles.extra в ~/.hermes/config.yaml (по умолчанию: true). Соответствующей переменной среды нет.

Особенности

Текстовые сообщения

Отправляйте и получайте iMessages. Markdown автоматически удаляется для чистой доставки в виде простого текста.

Мультимедийная информация

Изображения. Фотографии автоматически появляются в разговоре iMessage. - Голосовые сообщения: аудиофайлы, отправленные как голосовые сообщения iMessage. – Видео: прикрепленные видео. – Документы: файлы, отправленные в виде вложений iMessage.

Ответные реакции

Любите, нравится, не нравится, смейтесь, подчеркивайте и подвергайте сомнению реакции. Требуется BlueBubbles Частный помощник API.

Индикаторы набора текста

Показывает «ввод...» в разговоре iMessage, пока агент обрабатывает сообщение. Требуется частный API.

Уведомления о прочтении

Автоматически помечает сообщения как прочитанные после обработки. Требуется частный API.

Адресация чата

Вы можете обращаться к чатам по электронной почте или номеру телефона — Hermes автоматически преобразует их в GUID чата BlueBubbles. Нет необходимости использовать необработанный формат GUID.

Частный API

Для некоторых функций требуется BlueBubbles Частный помощник API: - Ответные реакции - Индикаторы набора текста - Читать квитанции - Создание новых чатов по адресу

Без частного API базовые текстовые сообщения и мультимедиа по-прежнему работают.

Устранение неполадок

"Невозможно связаться с сервером"

Сообщения не приходят

«Частный помощник API не подключен»