Мастер Claude · Блок 10. Автономность и расписание

Урок 80 из 93 · ~12 мин чтения

Channels и переезд сессии между устройствами

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

Почему это важно именно вам

Два последних кирпича автономности.

Первый: до сих пор Claude узнавал о внешнем мире, только когда вы ему рассказывали или когда он сам ходил проверять. Channels переворачивают это: внешняя система сама вталкивает событие в вашу открытую сессию. Пришло сообщение в мессенджер, упала сборка, сработал мониторинг — Claude узнаёт об этом в момент события и может отреагировать, пока вы отошли.

Второй: работа перестала быть привязана к одному окну. Начали в терминале, продолжили в облаке, довели с телефона, вернулись за стол.

Что это такое

Channel — это MCP-сервер, который вталкивает события в вашу работающую сессию. Канал может быть двусторонним: Claude читает событие и отвечает обратно через тот же канал, как чат-мост.

Ключевое ограничение: события приходят, только пока сессия открыта. Для постоянной работы сессию держат в фоновом процессе или в постоянно открытом терминале.

Устанавливается канал как плагин и настраивается вашими собственными доступами. В исследовательском превью доступны Telegram, Discord и iMessage. Требуется авторизация через claude.ai или ключ Console; в Team и Enterprise организация должна включить каналы явно.

Когда Claude отвечает через канал, вы видите в терминале входящее сообщение и подтверждение отправки — но не текст ответа: он появляется на той стороне.

Переезд между поверхностями — набор команд, которые переносят работу:

Как работает на практике

Поставить канал

Общая схема — четыре шага, и третий пропустить нельзя.

  1. Установить плагин: /plugin install telegram@claude-plugins-official (плагинам каналов нужен установленный Bun).
  2. Настроить доступ: /telegram:configure <токен> — он сохранится в ~/.claude/channels/.
  3. Выйти и запустить Claude Code с явным указанием канала: claude --channels plugin:telegram@claude-plugins-official. Без этого флага плагин подключён, его инструменты работают, а события не приходят: одного упоминания в .mcp.json недостаточно.
  4. Спарить свой аккаунт: написать боту сообщение, получить код, ввести /telegram:access pair <код>, затем закрыть доступ остальным — /telegram:access policy allowlist.

Прежде чем подключать настоящую платформу, механику удобно пощупать на демо-канале fakechat: он поднимает чат на localhost, там нечего авторизовывать.

Что это даёт директору

Прямые сценарии:

Мониторинг в мессенджере. Ваш сервис шлёт алерты в Telegram. Канал вталкивает их в сессию, Claude разбирает: что за ошибка, что делать, критично ли. Вы получаете разобранный алерт, а не сырой текст.

Обработка входящих. Сообщения из рабочего чата попадают в сессию, Claude сортирует: что требует вашего ответа, что можно закрыть типовым ответом, что переслать.

Реакция на результат прогона. Задача закончилась — событие пришло — Claude сразу берётся за следующий шаг, не дожидаясь, пока вы вернётесь и заметите.

Это опасная мощность

Канал даёт внешнему миру возможность вкладывать текст прямо в вашу сессию, а Claude — отвечать наружу от вашего имени. Правило: канал подключают к тому, чем вы владеете (свой бот, свой мониторинг), и с разрешениями настолько узкими, насколько возможно. Никогда не давайте каналу право отправлять сообщения клиентам без подтверждения.

Защита встроена: у каждого плагина канала есть белый список отправителей, сообщения от всех прочих молча отбрасываются — поэтому сразу после спаривания включайте policy allowlist. Но у списка острая сторона: если канал ретранслирует запросы разрешений, любой из белого списка сможет одобрять или запрещать вызовы инструментов в вашей сессии. Добавить человека в белый список — значит выдать ему право подтверждать действия Claude на вашей машине.

Как выбрать между способами дотянуться до сессии

Что нужно Инструмент
Событие извне попадает в открытую сессию Channels
Управлять своей локальной сессией с телефона Remote Control (День 79)
Работа без включённого компьютера Routines или --cloud
Опрашивать состояние во время работы /loop (День 77)
Передать факт между своими сессиями Cross-session messaging (День 73)

Переезд между поверхностями

claude --cloud "сверь августовскую выгрузку с реестром"  # новая задача в облаке
claude --teleport                                        # забрать облачную сессию в терминал

Два уточнения. Перенос односторонний: забрать облачную сессию в терминал можно, а вытолкнуть в веб уже идущую терминальную — нет, --cloud всегда заводит новую. И облако берёт не файлы с вашего диска, а GitHub-репозиторий текущей папки на текущей ветке — незапушенное туда не попадёт.

Практический сценарий: вечером ставите длинную задачу в облако, утром забираете результат к себе и продолжаете локально, имея доступ к файлам.

Команда /desktop продолжает текущую сессию в приложении — удобно, когда нужно просмотреть изменения визуально, а не листать вывод в терминале.

Частые ошибки

Ждать событий при закрытой сессии. Канал вталкивает событие в живую сессию. Нет сессии — событие не доставлено. Для «всегда на связи» нужен фоновый процесс.

Подключать чужие каналы. Всё, что приходит в канал, попадает в контекст и влияет на поведение. Это вход от постороннего в вашу систему.

Разрешать автоматические ответы наружу. Ответ уходит от вашего имени. В рабочей переписке это дорого стоит.

Путать --cloud и Remote Control. В облаке нет ваших локальных файлов. Если задаче нужен ваш диск — она локальная.

Считать каналы стабильной возможностью. Статус research preview: набор платформ и поведение могут меняться.

Когда нужно / когда нет

Channels уместны:

Не уместны:

Связь с другими уроками

День 51–58 — MCP. Канал — это MCP-сервер особого типа: он не отвечает на запросы, а сам вталкивает события.

День 77 — /loop. Опрос против события: событие дешевле и быстрее, если источник умеет их отправлять.

День 79 — Remote Control. Разные задачи: там вы управляете сессией, здесь события управляют ею.

Задание на сегодня

  1. Определите, есть ли у вас собственный источник событий: бот, мониторинг, уведомления сборки.
  2. Если есть — установите соответствующий канал и подключите его в тестовом режиме.
  3. Отправьте тестовое событие и посмотрите, как оно приходит в сессию.
  4. Проверьте разрешения: убедитесь, что автоматическая отправка наружу требует подтверждения.
  5. Отдельно попробуйте claude --cloud на длинной задаче и claude --teleport, чтобы забрать её обратно.

Критерий «выполнено»: одно внешнее событие дошло до вашей сессии и было обработано, и вы один раз перенесли работу между локальной машиной и облаком.

Резюме

Следующий урок откроется после отметки.