Пульт: как я управляю Claude, Codex и Kimi с одной доски
Когда на сервере одновременно работают несколько ИИ-агентов, отдельной задачей становится само управление ими. Где агент ещё пишет код, где ждёт моего ответа, какую модель сейчас использует и сколько осталось лимита? А если нужно продолжить работу с телефона или передать задачу другому агенту?
Для своей работы я собрал веб-панель управления сессиями Claude Code, Codex и Kimi Code. Назвал её просто «Пульт». Пользуюсь им с октября. Голосовой ввод был отправной точкой, но сейчас это только одна из частей: рядом появились управление моделями, лимиты, история, задачи, статистика и диагностика.
Один экран вместо обхода терминалов
Основа системы — рабочие сессии в tmux. Они продолжают жить на сервере, а Пульт показывает их в браузере. На доске отдельно собраны работающие, недавно активные, давно не тронутые и завершённые сессии.
Карточка показывает последнюю задачу, ответ или пересказ, ход работы и то, что требуется от меня. Когда данные доступны, рядом видны модель, заполнение контекста, давность разговора, фоновые процессы и открытые задачи. Можно открыть полный ответ, написать продолжение, надиктовать его, приложить файл или остановить текущий ход.
В шапке — ресурсы сервера и доступные показатели лимитов. Над карточками есть «офис» с фигурками агентов: Claude, GPT и Kimi отличаются цветами и значками. Это быстрый способ увидеть, кто работает, кто ждёт ответа и кто закончил.
На иллюстрациях — текущий интерфейс из рабочего кода. Задачи, проценты лимитов, показатели ресурсов и результаты заменены демонстрационными данными. Это не замеры эффективности и не раскрытие рабочих проектов.
Можно менять модель и передавать работу другому агенту
При создании сессии я выбираю тип агента, модель и первую задачу. Задачу можно напечатать или надиктовать. В работающей сессии есть отдельное окно выбора модели: оно показывает текущий вариант, описание и доступные альтернативы. Можно запросить рекомендацию по задаче с учётом доступной информации о лимитах. Такой совет остаётся подсказкой, а не гарантией лучшего выбора.
Здесь различаются два сценария. Смена модели внутри поддерживаемого клиента сохраняет разговор. Переход между Claude, Codex и Kimi — смена самого агента: прежний клиент закрывается, новый запускается в том же окне и получает пересказ передачи. Старая переписка остаётся в журнале исходного клиента. Полный контекст одной модели в другую таким способом не переносится.
Если при переключении указана новая задача, она уходит вместе с передачей. Без новой задачи агент должен сначала сообщить, что понял, и ждать продолжения. У Kimi сценарий смены модели имеет отдельные ограничения: может потребоваться перезапуск клиента или работа через его терминальный интерфейс.
Лимиты и расход — рядом с рабочими задачами
На доске собраны доступные лимиты Claude, Codex и Kimi, проценты использования и сведения о сбросе, когда источник их сообщает. Поэтому остаток ресурса можно учитывать прямо при выборе следующего агента, без обхода нескольких клиентов.
Есть и отдельная страница лимитов: с деталями доступных окон, историей и расходом по моделям там, где он учитывается. Но процент лимита провайдера и число токенов в локальном журнале — разные показатели. Журнал этого сервера не охватывает работу со всех устройств аккаунта, а провайдер может считать лимит по собственным правилам. Одно нельзя выдавать за точный пересчёт другого.
Данные тоже могут отставать. Например, у Kimi при истёкшем токене клиента может показываться последний сохранённый ответ. Полноценной детализации расхода Kimi по моделям пока нет. Если источник недоступен, страницу нужно воспринимать как неполную сводку, а не как безошибочный счётчик.
Голос: сначала вижу текст, потом отправляю
Пульт открывается в браузере, в том числе на телефоне. Запускаю запись кнопкой или пробелом, получаю распознанный текст, исправляю его при необходимости и подтверждаю отправку. Можно совместить диктовку с ручным вводом и приложить файл. Для загрузки разрешены разные типы документов и медиа; сейчас лимит — 40 МиБ на файл, а HEIC/HEIF нужно заранее преобразовать в JPEG или PNG.
В режиме диспетчера пульт пытается найти подходящую сессию по смыслу просьбы, ответить о её состоянии или подготовить команду. Можно выбрать конкретную сессию с доски. После отправки задания пульт следит за работой и пытается озвучить итог. Краткий голосовой пересказ удобен для ориентира; детали результата я смотрю в полном ответе.
История, задачи и продолжение работы
У сессии есть история прошлых заданий и ответов, а по разговорам работает поиск. Это помогает вернуться к обсуждению, когда помнишь тему, но уже не помнишь название окна. Отдельный список задач показывает открытые и завершённые поручения, детали и возможность вручную закрыть запись.
Здесь есть ограничения: классификация задач выполняется моделью, а учёт поручений по журналам Claude не равнозначен полноценному учёту для Codex и Kimi. Полнота поиска зависит от того, какие журналы доступны и проиндексированы. Пропавшая строка в сводке ещё не означает, что её не было в исходной переписке.
Чекпоинты нужны для продолжения работы после очистки контекста. Обычный сценарий перезапуска — сохранить состояние, очистить разговор и восстановиться по найденному чекпоинту. При завершении есть варианты оставить окно, очистить контекст или закрыть сессию; предусмотрено подтверждение. Отдельно можно синхронизироваться с проектом, если в другой сессии по нему работали позже, либо клонировать основу проекта без продолжения текущей задачи.
Статистика и диагностика
В статистике собраны расход токенов по дням и сессиям, история доступных тарифных лимитов, число команд и ритм работы. В шапке доски видны нагрузка на процессор, память, подкачка и диск. Напоминание о перерыве считает время взаимодействия с агентами; это не показатель продуктивности.
Есть отдельная страница статусов: проверки выбранных сервисов, сайтов, контейнеров, локальных портов и журнал событий. Она наблюдает за состоянием, а не перезапускает службы. Для разбора сбоя можно сопоставить сводку с полным ответом и журналом нужного клиента.
Что работает локально
Основное распознавание речи — Yandex SpeechKit, запасной вариант — локальный faster-whisper. Озвучивание по умолчанию выполняет локальный Silero, с резервом через Yandex. Для обычных пересказов и диспетчера используется локальная Qwen, при сбое — OpenRouter; часть фоновых операций обращается к Claude CLI. Поэтому свести устройство пульта к одному внешнему голосовому сервису было бы неточно.
Для определения состояния Пульт читает экраны и журналы клиентов. У каждого свой формат. В последних доработках пришлось отдельно исправлять сопоставление короткой задачи Codex с полным ответом: похожего фрагмента на экране недостаточно, чтобы считать найденный текст правильным результатом. Статусы, пересказы и советы всё равно могут ошибаться.
Какие похожие инструменты уже есть
Такой класс инструментов уже существует. У Agent Deck есть управление агентами через tmux, учёт расхода и сведения о квотах провайдеров. CloudCLI / Claude Code UI объединяет веб-доступ к сессиям, терминал, файлы и Git. У claude-mux описаны веб-доска Claude Code, локальный голосовой ввод и управление с телефона.
Есть и решения с названием Jarvis, которые заметно пересекаются с моим сценарием. Например, проект mmAbdelhay объединяет голосовое управление агентами, доску, ресурсы машины, доступную ёмкость аккаунтов и рабочее окружение с файлами и базами. Dodaios, ранее Personal Jarvis, заявляет голосовую работу с несколькими coding-агентами, приложениями и браузером.
Это сравнение описанных возможностей, а не результаты испытаний этих проектов. Мой Пульт собран под существующие серверные сессии, свой способ сохранять чекпоинты и продолжать задачи. Для меня интересен именно этот рабочий процесс. Голос, доска и лимиты сами по себе не делают его уникальным, а название «Пульт» прямо говорит, какую задачу он решает.
Что ещё требует внимания
Пульт пока привязан к моему серверу и окружению. Для установки у другого человека нужны конфигурация, установщик и полноценная авторизация. Сейчас доступ рассчитан на доверенную сеть; ключ доступа не заменяет систему учётных записей.
Есть конкретные ограничения. Автоматическое восстановление Kimi после перезагрузки ещё не завершено. Обычное слежение за задачей переживает перезапуск веб-сервиса, но незаконченные операции создания, переключения и завершения нужно проверять отдельно. Массовый «Чекпоинт всем» пока может захватить сессии без распознанного агента — перед запуском нужно проверить состав целей. Защита одиночного завершения от этого не избавляет.
Результат для меня — один интерфейс, из которого можно видеть несколько рабочих разговоров, учитывать доступные лимиты, выбирать модель и продолжать задачу голосом или текстом. Экономию часов я не измерял и цифру эффективности не обещаю. Это рабочий личный инструмент со своими ограничениями, а не готовая универсальная система управления любыми агентами.
А что вам сложнее при работе с несколькими ИИ-агентами: держать контекст, следить за лимитами или находить результат нужной задачи?
Материал обновлён 5 ноября 2026 года по текущему коду и документации пульта. Обложка — первый экран настоящего интерфейса в штатной тёмной теме. Задачи, проценты и другие показатели на всех снимках демонстрационные.