«Написал localhost с поезда»: как CliGate связывает телефон, чат и Claude Code с Codex

Материал на DEV Community от 17 апреля 2026 года разворачивает сюжет, в котором разработчик в дороге получает в Slack сигнал о сломанной prod-сборке, не открывает ноутбук и не лезет в SSH с телефона, а пишет Telegram-боту, подключённому к localhost на домашней машине. В посте приведён пример того, что он написал боту (дословно из оригинала):
launch claude code in ~/projects/api-server, fix the failing build
По словам автора, к моменту прихода домой исправление уже было закоммичено. Рассказ держится на связке AI coding-инструментов в headless-режиме, оркестрации процессов и мобильного канала управления — на практике «агент у машины, пульт в руке», а не на абстрактном туториале по синтаксису.
С поезда на машину: мессенджер, localhost и coding-агенты
Автор подчёркивает, что сценарий ломает привычную картину «как localhost обычно должен работать», но подаёт его как живой опыт: алерт из Slack, закрытый ноутбук, отказ от SSH с телефона в пользу Telegram как интерфейса к домашней среде. Отсюда — мост к Claude Code и Codex как к CLI-инструментам, которые должны сделать работу на стороне машины, пока человек в пути.
CliGate между API и процессами: proxy, GitHub и Agent Runtime
В посте для CliGate приведена ссылка на репозиторий https://github.com/codeking-ai/cligate. Ранее продукт описан как «просто» proxy между AI coding tools и их API, с функциями routing, account pooling и key management — формулировки и термины даны так, как их формулирует автор.
Новый слой — Agent Runtime: из чата CliGate, по описанию, можно порождать (spawn) Claude Code или Codex как реальные фоновые процессы. Подчёркивается, что это не симуляция, не обёртка вокруг одного вызова API и не «те же CLI в другом виде» — речь о фактических CLI-инструментах, работающих headless, с потоком структурированных событий обратно в браузер.
Потоки событий, headless-режим и одобрение правок
Для Codex в посте приведён пример команды:
codex exec --experimental-json --model gpt-5 "fix the failing test"
Автор пишет, что CliGate запускает это как child process, читает поток структурированных событий в построчном JSON-формате и в чате показывает типы событий (в перечислении названы, среди прочего, agent_message, command_execution, file_change, todo_list, reasoning) в реальном времени — в посте этот поток описан как вывод CLI Codex для последующего разбора.
Для Claude Code в блоке кода указано:
claude --print --output-format stream-json --input-format stream-json
По описанию, headless mode даёт structured stdin/stdout protocol; CliGate reads, bridges и surfaces это в чат.
Отдельно описан permission bridging: запрос на правку файла (в примере — server.js) попадает в чат с кнопками Approve / Deny; приведена схема статусов сессии starting → running → waiting_approval → running → completed.
Channel Gateway: Telegram, Feishu и телефон как «пульт» к агентам
Раздел с подзаголовком «Layer 2: Channel Gateway — Your Phone Becomes the Remote Control» вводит шлюз между внешними мессенджерами и Agent Runtime. Указано, что «Currently supported»: Telegram (polling mode) и Feishu / Lark (webhook mode).
В посте приведена блок-схема цепочки: телефон (Telegram / Feishu) → Channel Gateway → Agent Runtime (Orchestrator) → Codex / Claude Code (child process) → CliGate Proxy Core → Upstream AI Models.
Pairing: при первом сообщении бот выдаёт код, который нужно ввести в CliGate dashboard; после этого аккаунт Telegram считается paired and authorized. Для запросов разрешений приведён пример текста inline-кнопок в Telegram: «Claude Code wants to edit server.js» с вариантами Approve / Deny.
Зачем это автору и где он чертит границу продукта
В посте выделены три «проблемы»: длительные задачи (пример — «20 minutes» анализа кодовой базы) с уведомлением на телефоне; permission fatigue; контекст-свитчинг (встреча, упавший билд, текст боту с задачей для codex в каталоге ~/projects/backend и указанием теста).
В блоке «What I Didn't Build» прямо сказано, что это не полный веб-клон TUI Claude Code и не полный эмулятор терминала Codex. Перечислены ровно четыре функции оркестрации: start session, monitor progress, bridge permissions/questions, resume or continue conversation; «actual coding work» остаётся за Codex и Claude Code.
В разделе «Is This Production Ready?» дан ответ «No. It's early.»: Agent Runtime назван «solid for single-session workflows»; Channel Gateway — «handles Telegram well»; для Feishu указано «needs more testing». Среди пробелов: multi-turn на длинных окнах, нет вложений файлов из каналов, error recovery при падении сессий «could be more graceful»; для сценария «написать компьютеру, чтобы починил баг» — «It works», «I use it daily» (все формулировки — слова автора в оригинале).
Установка и правовой статус (как в оригинале)
Agent Runtime: если CliGate уже запущен — «works out of the box»; в сообщении в чате нужно mention codex или claude code.
Telegram: шаги включают создание бота через @BotFather, добавление токена в Channel settings, сообщение боту, pairing code в dashboard, отправку задач.
Feishu: custom app в консоли разработчика Feishu, App ID, App Secret, Verification Token в Channel settings, webhook URL на инстанс CliGate, тот же pairing flow.
В конце поста указано: «CliGate is open-source under AGPL-3.0» и «Not affiliated with Anthropic, OpenAI, or Google.»
Ссылка на репозиторий на GitHub и характеристика CliGate приведены так, как они даны в тексте публикации на DEV Community; отдельный разбор кода репозитория в этом материале не выполнялся.
Источники
- DEV Community (codekingai): «"I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home"» —
Dev.to— дата доступа 2026-04-17, 09:04:53 UTC (все факты основного текста о содержании поста привязаны к этой странице и этой дате доступа, если не оговорено иное).