BlueBubbles (iMessage)

Подключите Hermes к Apple iMessage через BlueBubbles — бесплатный сервер с открытым исходным кодом для macOS, который соединяет iMessage с любым устройством.

Предварительные требования

Настройка

1. Установка BlueBubbles Server

Скачайте и установите с bluebubbles.app. Пройдите мастер настройки — войдите с вашим Apple ID и настройте способ подключения (локальная сеть, Ngrok, Cloudflare или Dynamic DNS).

2. Получение URL и пароля сервера

В BlueBubbles Server → Settings → API, запишите:

3. Настройка Hermes

Запустите мастер настройки:

hermes gateway setup

Выберите BlueBubbles (iMessage) и введите URL сервера и пароль.

Или укажите переменные окружения напрямую в ~/.hermes/.env:

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

4. Авторизация пользователей

Выберите один из способов:

Сопряжение через DM (рекомендуется): Когда кто-то пишет вам в iMessage, Hermes автоматически отправляет им код сопряжения. Подтвердите его командой:

hermes pairing approve bluebubbles <CODE>

Используйте hermes pairing list для просмотра ожидающих кодов и подтверждённых пользователей.

Предварительная авторизация конкретных пользователей~/.hermes/.env):

BLUEBUBBLES_ALLOWED_USERS=user@icloud.com,+155****4567

Открытый доступ~/.hermes/.env):

BLUEBUBBLES_ALLOW_ALL_USERS=true

5. Запуск Gateway

hermes gateway run

Hermes подключится к вашему серверу BlueBubbles, зарегистрирует вебхук и начнёт прослушивание сообщений iMessage.

Как это работает

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

Переменные окружения

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

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

Возможности

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

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

Медиа

Реакции Tapback

Реакции «Love», «Like», «Dislike», «Laugh», «Emphasize» и «Question». Требуют Private API helper от BlueBubbles.

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

Показывает «typing...» в диалоге iMessage, пока агент обрабатывает запрос. Требует Private API.

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

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

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

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

Private API

Некоторые возможности требуют Private API helper от BlueBubbles:

Без Private API базовая отправка текстовых сообщений и медиа по-прежнему работают.

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

«Не удаётся подключиться к серверу»

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

«Private API helper не подключён»