Перейти к основному содержимому

SimpleX Chat

SimpleX Chat — это частная децентрализованная платформа для обмена сообщениями, где пользователи владеют своими контактами и группами. В отличие от других платформ, SimpleX не присваивает постоянных идентификаторов пользователей — каждый контакт идентифицируется непрозрачным внутренним ID, сгенерированным при подключении, что делает его одним из самых приватных мессенджеров.

Запустите vibeos gateway setup и выберите SimpleX для пошаговой настройки.

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

  • CLI simplex-chat установлен и запущен как демон
  • Пакет Python websockets (pip install websockets)

Установка simplex-chat​

Загрузите последний релиз со страницы релизов simplex-chat на GitHub:

# Бинарный файл для Linux / macOS
curl -L https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex-chat-ubuntu-22_04-x86_64 -o simplex-chat
chmod +x simplex-chat

Проект SimpleX Chat не публикует готовый Docker-образ для клиента чата; для запуска под Docker соберите из исходников из репозитория simplex-chat.

Запуск демона​

simplex-chat -p 5225

По умолчанию демон слушает WebSocket на ws://127.0.0.1:5225.

Настройка VibeOS​

Через мастер настройки​

vibeos gateway setup

Выберите SimpleX Chat и следуйте инструкциям.

Через переменные окружения​

Добавьте их в ~/.vibeos/.env:

SIMPLEX_WS_URL=ws://127.0.0.1:5225
SIMPLEX_ALLOWED_USERS=<contact-id-1>,<contact-id-2>
SIMPLEX_HOME_CHANNEL=<contact-id>
ПеременнаяОбязательнаяОписание
SIMPLEX_WS_URLДаWebSocket URL демона simplex-chat
SIMPLEX_ALLOWED_USERSРекомендуетсяСписок разрешённых через запятую. Каждая запись может быть числовым contactId или отображаемым именем — оба варианта работают.
SIMPLEX_ALLOW_ALL_USERSНетУстановите true, чтобы разрешить все контакты (используйте с осторожностью)
SIMPLEX_AUTO_ACCEPTНетАвтоматически принимать входящие запросы контактов (по умолчанию: true)
SIMPLEX_GROUP_ALLOWEDНетID групп через запятую, в которых участвует бот, или * для любых групп. Опустите, чтобы полностью игнорировать групповые сообщения
SIMPLEX_HOME_CHANNELНетID контакта/группы по умолчанию для доставки заданий cron
SIMPLEX_HOME_CHANNEL_NAMEНетЧеловеческая метка для домашнего канала
VIBEOS_SIMPLEX_TEXT_BATCH_DELAYНетПериод тишины в секундах (по умолчанию: 0.8), используемый для объединения быстрых входящих текстовых сообщений в одно событие

Поиск вашего contact ID или отображаемого имени​

После запуска демона откройте разговор с вашим агентом-контактом. Числовой contactId отображается в логах сессии или через vibeos send_message action=list. Если вы предпочитаете использовать отображаемое имя, показанное в интерфейсе SimpleX, это тоже работает — SIMPLEX_ALLOWED_USERS принимает оба варианта.

Авторизация​

По умолчанию все контакты заблокированы. Вы должны либо:

  1. Установить SIMPLEX_ALLOWED_USERS в список contactId и/или отображаемых имён через запятую (например, SIMPLEX_ALLOWED_USERS=4,alice соответствует либо contactId 4, либо контакту с отображаемым именем «alice»), либо
  2. Использовать DM-сопряжение — отправьте любое сообщение боту, и он ответит кодом сопряжения. Введите этот код через vibeos pairing approve simplex &lt;CODE&gt;.

Групповые чаты​

По умолчанию адаптер игнорирует групповые сообщения — иначе бот в группе обрабатывал бы трафик каждого участника. Включите явно:

SIMPLEX_GROUP_ALLOWED=12,34          # конкретные ID групп
# или
SIMPLEX_GROUP_ALLOWED=* # любые группы, в которых состоит бот

Обращайтесь к группам, добавляя префикс group: к ID чата, например simplex:group:12 в send_message или как цель deliver= в cron.

Вложения​

Адаптер поддерживает нативные вложения SimpleX в обоих направлениях:

  • Входящие — входящие изображения, голосовые заметки и файлы принимаются через XFTP-поток демона (rcvFileDescrReady → /freceive → ожидание rcvFileComplete) и передаются как MessageEvent.media_urls с соответствующим MessageType (PHOTO, VOICE, TEXT + документ).
  • Исходящие — send_image_file, send_voice, send_document и send_video используют структурированную форму /_send с filePath, поэтому клиент SimpleX получателя отображает изображения и воспроизводит голосовые заметки встроенно, а не предлагает их как загрузки.

Ответы агента также могут встраивать теги MEDIA:/path/to/file в обычный текст — адаптер удаляет тег из тела и отправляет файл либо как голосовую заметку (аудиорасширения), либо как документ.

Использование SimpleX с заданиями cron​

cronjob(
action="create",
schedule="every 1h",
deliver="simplex", # использует SIMPLEX_HOME_CHANNEL
prompt="Проверить наличие оповещений и подвести итог."
)

Или укажите конкретный контакт:

send_message(target="simplex:<contact-id>", message="Готово!")

Заметки о приватности​

  • SimpleX никогда не раскрывает номера телефонов или адреса электронной почты — контакты используют непрозрачные ID
  • Соединение между VibeOS и демоном — локальный WebSocket (ws://127.0.0.1:5225) — данные не покидают вашу машину
  • Сообщения зашифрованы сквозным шифрованием протоколом SimpleX до того, как достигают демона

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

«Не удаётся связаться с демоном» — Убедитесь, что simplex-chat -p 5225 запущен и порт совпадает с SIMPLEX_WS_URL.

«websockets не установлен» — Выполните pip install websockets.

Сообщения не приходят — Проверьте, что ID контакта есть в SIMPLEX_ALLOWED_USERS или подтвердите его через DM-сопряжение.