TGViewer
analyst_exe | инженерное мышление в IT analyst_exe | инженерное мышление в IT @analyst_exe · 511 subscribers
Post #539 511
Что в черном ящике? #1

Сегодня я почувствовал, что мне неудобно переключаться между окнами, чтобы вручную добавлять события в календарь.
И тут же я захотел написать Telegram-бота с AI, который планировал бы мероприятия прямо на свободные слоты. Чтоб так "рас рас и готово".

Есть вариант собрать бота на n8n или другом «сервисе построения автоматизированных цепочек». Однако в таком случае придется оплачивать подписку. Поэтому я предпочел self-hosted решение – то есть запустить все на своей машине.

Стал искать подобный инструмент с помощью ChatGPT – и нашел репозиторий Calibot. Никогда не видел на гитхабе проект с таким уровнем документации – там есть и видео с демонстрацией, и диаграмма компонентов, и сиквенсы! Может, я плохо искал? Да не суть...

Структура репозитория
calibot/
├── backend/
│ └── app/ # весь код приложения
│ ├── agent/ # NLP-агент: извлечение намерений из сообщений
│ ├── api/ # маршруты FastAPI, модели запросов/ответов
│ ├── services/ # основная бизнес-логика: календарь, Telegram, LLM-интеграция
│ ├── utils/ # утилиты/хелперы
│ ├── config.py # конфигурация (env, ключи, настройки)
│ ├── main.py # точка входа при запуске сервера
│ └── prompts.py # prompt-шаблоны для LLM
├── .python-version # версия Python
├── pyproject.toml # зависимости проекта (pip / poetry-подобное)
├── README.md # описание, инструкция по запуску и настройке
├── calibot_demo.mp4 # демонстрация как работает бот (видео)
├── calibot_system_design.png # схема архитектуры
└── calibot_sequence_diagram.png # диаграмма последовательности взаимодействий



Давайте разберем как оно работает:
0. Настраиваем конфиг (в частности токен Telegram-бота, ключи от Google Календаря, ключи от AI-модели). Без этого ничего не заведется.
1. Сообщение, отправленное через интерфейс Telegram-бота, поступает в наш сервис, на слой NLP-процессора. Определяется релевантность сообщения (это сообщение про событие для календаря?), затем сообщение структурируется – превращается в четкий запрос к AI. Интересный подход, попытка сделать ответы AI более предсказуемыми. Кстати, сделано это также с помощью AI. Посмотрите
2. Отправляется запрос к AI согласно типу команды, с соответствующим промптом.
3. Действия, запрошенные пользователем, осуществляются посредством интеграции с Google Календарем. При этом происходит авторизация и исполнение самих запросов.
4. Весь процесс логируется в БД, а рассылка уведомлений организована через webhook.

В итоге я задумался: почему таких продуктов нет на рынке? Только этот репозиторий с 40 звездами…

А причина вот в чем – ценность сомнительна.
Что мы оптимизируем? Пару секунд переключения на интерфейс календаря?

Пока я выяснял, как сделать своего бота, я забыл, какой сегодня день, и... полез в календарь.

Авторам репозитория – огромный респект за схемы! Благодаря им легко понять, как все устроено.

10 лайков – и мы продолжим ковыряться в открытых сервисах и смотреть "как они работают изнутри".

@analyst_exe
  • ❤ 11
  • 🔥 5
  • 🤩 3
More from @analyst_exe
  1. Sep 25, 2026В ТЗ написано: «Всё работает как обычно». У нас уже 17 уточняющих вопросов к слову «обычно…
  2. Sep 24, 2026Уволил себя #1. С должности рисовальщика диаграмм) Тут ИИ меня реально заменил. Теперь я ц…
  3. Sep 21, 2026Ну это не дело, сами из резюме вытащить не могут? @analyst_exe
  4. Sep 20, 202614 моделей рисуют BPMN. Кто рабочая лошадь, а кто заставит зайца ждать? Взял историю про П…
  5. Sep 20, 2026Есть идеи, чем я таким сижу занимаюсь? Пишите варианты в комментариях) @analyst_exe
  6. Sep 19, 2026В субботу отдыхаем честно украденным мемом @analyst_exe
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →