Tovayo — бесплатный ИИ-ресепшн для малого бизнеса
Open-source ИИ-ресепшионист для малого сервисного бизнеса, который живёт в мессенджерах — салоны, репетиторы, коучи, астрологи. Он отвечает клиентам, записывает и переносит реальные записи, собирает нужные для брони данные и шлёт напоминания — 24/7, на языке клиента — через Telegram-бота, которого владелец подключает, вставив один токен. Мультиарендный, model-agnostic, гексагональный бэкенд на Python/FastAPI + дашборд на Next.js, транспорт webhook-primary / polling-fallback, чувствительные действия под Airlock. Бесплатно: свой хостинг или наш — на tovayo.com.
- Роль
- Соло — дизайн, реализация, тесты
- Стек
- Python · FastAPI · PostgreSQL · Next.js · Telegram Bot API · OpenRouter · Hexagonal architecture · Docker · Railway
- Период
- 2026
Развернуть у себя одной командой — или пользоваться готовым бесплатно на tovayo.com:
docker compose upПроблема в одном предложении
Огромное число малых бизнесов живёт целиком в мессенджерах — салон, репетитор, коуч, астролог — и теряет записи по одной скучной причине: не успевает быстро ответить.
Клиент пишет «можно завтра во второй половине дня?» в 23:00. Пока владелец это увидит — клиент уже записался к другому. Владелец занят настоящим делом — стрижёт, учит, читает карты, — а не сидит в переписке. Живой ресепшионист стоит дороже, чем приносит бизнес; существующие CRM громоздкие и хотят ежемесячный счёт за софт, который владелец ни разу не открывает.
Что делает Tovayo
Tovayo — это ИИ-ресепшионист, который живёт в канале, которым клиент уже пользуется: Telegram-бот, которого владелец подключает, вставив один токен. Дальше он:
- Отвечает из собственных услуг, цен, часов и FAQ бизнеса — ничего не выдумывает.
- Записывает, переносит и отменяет реальные записи, с защитой от двойного бронирования на уровне БД, а не «на честном слове» в промпте.
- Собирает нужное для брони перед подтверждением — дату и место рождения для астролога, цель для коуча — настраивается под каждую услугу.
- Шлёт напоминания перед записью, чтобы неявки прекратились.
- Уступает по команде. Владелец может зайти в любой диалог и отвечать сам; ИИ замолкает, пока тот не вернёт управление.
- Говорит на четырёх языках из коробки (английский, испанский, русский, китайский), на языке клиента.
Два способа запустить, оба бесплатны: берёте открытый код и разворачиваете где угодно — в том числе коммерчески — или пользуетесь хостингом на tovayo.com, бесплатно и без лимитов.
Где здесь инженерия
Интересное — не чат, а всё вокруг него, что делает чат тем, чему можно доверять.
Настоящие записи, а не симуляция календаря. Доступность считается из часов работы услуги, lead
time и буферов; сама запись защищена exclusion-constraint в Postgres, так что два клиента, гонящиеся
за одним слотом на 14:00, не могут оба победить. Ассистент предлагает время, вызывая инструмент
find_availability, и бронирует через book — он не выдумывает слот.
Модель можно перехватить, поэтому «денежные» действия — под гейтом. Tovayo дог-фудит Airlock: отмены, переносы и всё чувствительное ставятся на паузу до подтверждения владельцем в дашборде. Перехваченная инъекцией или просто ошибшаяся модель может предложить отмену, но не выполнить её сама.
Мультиарендность и model-agnostic. Один деплой обслуживает много бизнесов, у каждого свой бот,
расписание, промпт и (по желанию) свой ключ к LLM. Модель достаётся через OpenRouter-адаптер за
протоколом LlmProvider — меняется в конфиге, без кода.
Транспорт, который выживает в реальности. Telegram доставляет апдейты двумя способами. Tovayo
предпочитает webhooks (пуш в публичный API) и per-bot откатывается на polling — тот же флаг
webhook_set разделяет их, так что бот, чей вебхук не зарегистрировался, всё равно обслуживается
поллером и никогда — обоими сразу. Webhooks требуют домена; polling не требует ничего, поэтому работает
и сразу после docker compose up на ноутбуке.
Сделано по тому же стандарту, что и всё здесь. Гексагональная архитектура с границами под
import-linter, зависимости через протоколы с in-memory-фейками (а не моками), Pydantic и Zod на краях,
чистые mypy --strict и tsc, гейт на покрытие. Бэкенд на FastAPI; дашборд владельца на Next.js
(en/es/ru/zh); вход по email или Google OAuth; деплой на Railway как API + воркер + Telegram-поллер +
Postgres.
Почему бесплатно и открыто
Ресепшионист не должен быть подпиской, которую бизнес-одиночка не может себе позволить. Код открыт, чтобы любой мог развернуть, прочитать и довериться; хостинг бесплатный, чтобы те, кому это нужнее всех — кто не хочет трогать сервер, — получили это всё равно. Диалоги хранятся, чтобы у ассистента был контекст, и владелец может удалить аккаунт и все следы своих данных в любой момент, безвозвратно. Честность здесь — суть.