Зачем создавал бота
Работая с Claude через веб-интерфейс, я постоянно переключался между окнами: IDE, браузер, терминал. Хотелось единую точку входа, доступную с любого устройства. Telegram идеально подошёл — он кроссплатформенный, поддерживает форматирование, файлы и голосовые сообщения. Идея была простой: отправляешь сообщение в Telegram — получаешь ответ от Claude с доступом к файлам проекта.
Выбор стека и архитектура
Основой стал Python с aiogram — асинхронным фреймворком
для Telegram Bot API. Для взаимодействия с Claude используется
официальный SDK от Anthropic. Архитектура включает несколько ключевых
компонентов:
- Менеджер сессий — хранит контекст диалога для каждого пользователя
- Менеджер проектов — позволяет переключаться между рабочими директориями
- Голосовой модуль — Whisper для распознавания речи, edge-tts для синтеза
- Обработчик файлов — приём и отправка документов, изображений
Проблемы и решения
Главная сложность — управление контекстом. Claude работает в режиме диалога, и при каждом запросе нужно передавать историю. При длинных сессиях контекст разрастается, увеличивая стоимость и задержку. Я реализовал автоматическую компактизацию: когда история превышает порог, бот суммаризирует старые сообщения. Другая проблема — лимиты Telegram на размер сообщений (4096 символов). Решение — разбиение длинных ответов на части с сохранением Markdown-разметки.
Итоги и планы
Бот работает в продакшене несколько месяцев и стал основным инструментом для взаимодействия с Claude. Голосовые сообщения позволяют ставить задачи на ходу, мультипроектность — работать с разными кодовыми базами. В планах — поддержка нескольких моделей, интеграция с GitHub для автоматического review PR и расширение возможностей работы с файлами.