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 принимает оба варианта.
Авторизация
По умолчанию все контакты заблокированы. Вы должны либо:
- Установить
SIMPLEX_ALLOWED_USERSв списокcontactIdи/или отображаемых имён через запятую (например,SIMPLEX_ALLOWED_USERS=4,aliceсоответствует либо contactId 4, либо контакту с отображаемым именем «alice»), либо - Использовать DM-сопряжение — отправьте любое сообщение боту, и он ответит кодом сопряжения. Введите этот код через
vibeos pairing approve simplex <CODE>.
Групповые чаты
По умолчанию адаптер игнорирует групповые сообщения — иначе бот в группе обрабатывал бы трафик каждого участника. Включите явно:
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-сопряжение.