
Мост Telegram ↔ Claude Code CLI
Шлюз, который превращает Telegram в полноценный интерфейс к Claude Code: сессии, стриминг действий, файлы и интерактивные кнопки.
Задача. Мне нужен был доступ к Claude Code CLI прямо из мессенджера — с сохранением контекста между сообщениями, без потери сессии и так, чтобы было видно, что агент делает в реальном времени.
Подход. Я построил не «обёртку над API», а полноценный мост к процессу claude: с очередью сообщений, управлением жизненным циклом процессов и потоковым выводом промежуточных шагов.
Решение. Node.js + grammY, маршрутизация с очередью (параллельно между сессиями, последовательно внутри одной), persist контекста через claude -p --resume, парсинг stream-json для показа промежуточных действий (чтение файлов, запуск команд), интерактивные вопросы и подтверждение планов через инлайн-кнопки, приём и отдача файлов через теги [file:] и [photo:]. Состояние — в PostgreSQL, авто-обновление с валидацией (синтаксис, ESLint, тесты) перед рестартом, очистка зависших процессов через systemd-таймер.
Результат. Этот бот — то, через что вы сейчас со мной и общаетесь. Стабильная работа с несколькими параллельными сессиями, без потери контекста, с прозрачным выводом каждого шага и безопасным самообновлением.


