Что это

Официальный плагин telegram@claude-plugins-official (v0.0.6) — MCP-сервер на Bun, который поднимает Telegram-бота как канал прямо внутри сессии claude. Не путать с Hermes (DeepSeek-агент) или CoreClaw/ClaudeClaw (отдельные Telegram-боты) — это нативная интеграция от Anthropic.

Источник: https://github.com/anthropics/claude-plugins-official, external_plugins/telegram.

Бот: @myclauderobot (id 8561686253, first_name “Claude Code”). Это НЕ @agentsb_bot (id 8679322352, сервис dbrain-bot.service, first_name “SB Агент”, проект agent-second-brain) — отдельный, самостоятельный бот с полностью независимой инфраструктурой (aiogram polling, tmux-сессия dbrain_34962659). Важно: @agentsb_bot — это НЕ “ссбот”. Кличка “ссбот” закреплена за ccbot (@my_cc_robot, Telegram-топики↔tmux-окна↔Claude Code мост) — см. ~/.claude/projects/-home-claude/memory/feedback_ssbot_identity.md, окончательно исправлено 2026-07-15 после трёх попыток. Спутать @myclauderobot и @agentsb_bot легко — оба являются “твоим личным Claude в Telegram”, отсюда путаница 2026-07-15: пользователь писал в @myclauderobot и не видел ответов в @agentsb_bot, хотя тот был жив и просто не получал сообщений.

Архитектура

  • MCP-сервер на Bun, три тула для Claude: reply (текст+вложения до 50MB, авточанкинг), react (эмодзи из телеграм-вайтлиста), edit_message (только свои сообщения)
  • Запуск: ОБЯЗАТЕЛЬНО через claude --channels plugin:telegram@claude-plugins-official. Исправление вывода прошлой сессии (2026-07-15, дневная часть): флаг --channels НЕ no-op, он и есть единственный способ активации канала — без него MCP-сервер плагина не запускается вообще (сколько ни жди, сколько окон ни открывай). Флаг недокументирован (отсутствует в claude --help), синтаксис — plugin:<name>@<marketplace>
  • Токен бота: ~/.claude/channels/telegram/.env (chmod 600), бэкап в ~/.claude/secrets/telegram-official-plugin.env
  • Access control: ~/.claude/channels/telegram/access.json, управляется через /telegram:access skill (pairing/allowlist/disabled режимы)
  • Pairing flow: юзер пишет боту → получает 6-значный код → владелец в терминале вводит /telegram:access pair <код> → sender ID уходит в allowFrom
  • Ограничение Bot API: истории сообщений нет, фото скачиваются eagerly в ~/.claude/channels/telegram/inbox/
  • Мультибот-поддержка через TELEGRAM_STATE_DIR
  • Диагностика живого соединения: /mcp внутри сессии — единственный надёжный способ (показывает ✔/✘ по каждому MCP-серверу). claude mcp list вводит в заблуждение — он спавнит сервер, проверяет коннект и сразу шлёт SIGINT, поэтому всегда выглядит рабочим независимо от реального состояния живой сессии

Статус на 2026-07-15 (вечер) — плагин почин­ен и переведён на systemd

Днём 2026-07-15 был сделан неверный вывод, что --channels — фиктивный флаг, и канал якобы поднимается сам в любой обычной сессии. Это оказалось ложным срабатыванием (плагин единожды поднялся в окне main:6 по неизвестной причине). Вечером того же дня перепроверено и исправлено:

  • Правильный запуск подтверждён эмпирически: claude --dangerously-skip-permissions --channels plugin:telegram@claude-plugins-official — только так канал реально коннектится и вычитывает pending-апдейты
  • Сделан постоянным через systemd (по факту вопроса «а кто нажмёт Enter, если опять отвалится» — сделали Restart=always вместо голого tmux-окна):
    • /home/claude/bin/telegram-plugin-launch.sh — держит tmux-сессию tg-plugin, стартует claude с правильными флагами, авто-подтверждает workspace-trust диалог (шлёт “1”+Enter по паттерну “Yes, I trust this folder” — тот же приём, что уже в d_brain/services/claude_session.py), блокируется пока сессия жива, при её падении выходит с кодом 1
    • ~/.config/systemd/user/telegram-plugin.serviceType=simple, Restart=always, RestartSec=10, WantedBy=default.target, запущен и enabled
  • Найдено и исправлено 2 реальных бага по пути:
    1. Workspace-trust диалог не персистится между запусками при --dangerously-skip-permissions — виснет без ввода под systemd. Фикс: polling-луп в launch-скрипте (см. выше)
    2. bun отсутствовал в $PATH под systemd (nvm-каталог ~/.nvm/versions/node/v22.22.3/bin не подхватывался) → MCP-сервер не мог стартовать. Фикс: явный PATH= и в скрипте, и в Environment= юнита
  • Итоговая проверка (сквозная, через реальные сообщения в Telegram): /mcp в живой tg-plugin сессии показал plugin:telegram:telegram · ✔ connected после ручного Reconnect; ps подтвердил живой процесс bun run --cwd .../telegram/0.0.6; getWebhookInfo.pending_update_count == 0; в самой tmux-панели видно, что реальные сообщения от sergeymakarov (“Погода”, “Ау”) дошли и бот на них ответил через reply. Плагин полностью рабочий и переживёт перезагрузку/падение

Открытые вопросы

  • Не переключено на dmPolicy: allowlist (для продакшена безопаснее, чем оставлять pairing с открытым приёмом новых кодов)
  • Не решено, чем этот канал будет отличаться от CCBot/ClaudeClaw по use-case (дублирование функциональности?)
  • Старое tmux-окно main:6 с ручным (не-systemd) запуском плагина стоит закрыть, чтобы не путать с systemd-версией
  • Баг с мёртвым окном “vault” (main:4/@4) исправлен 2026-07-15 вечером вместе с 2 другими такими же окнами — см. ccbot-window-watchdog. Это НЕ баг конкретно telegram-плагина, а общий класс “claude-процесс в ccbot-окне упал, никто не заметил”