Инструменты разработчика чтения

Herdr: обзор терминального мультиплексора для нескольких ИИ-агентов

Обзор Herdr: терминальный мультиплексор для ИИ-агентов. Как устроены сессии и статусы Claude Code и Codex, что умеет командная строка и где ограничения.

Herdr: обзор терминального мультиплексора для нескольких ИИ-агентов

Что такое Herdr

Вы открываете Herdr в терминале и видите окно с панелями. В каждой работает привычный агент: Claude Code, Codex, Cursor, любой другой из установленных. Сбоку список агентов и панелей со статусами: агент работает, ждёт ответа, закончил. Агентов Herdr не заменяет: он даёт им общее окно и показывает, кто чем занят.

Польза появляется, когда агентов больше одного. Один пишет код, второй проверяет изменения, третий гоняет тесты. Вместо переключения между окнами терминала вы смотрите на одно окно и сразу видите, кто ждёт вашего ответа. Запускаются те же агенты, что и без Herdr, поэтому модели, лимиты и привычные команды остаются прежними. Готовых CLI в списке поддержки больше десятка, а незнакомый агент просто останется панелью без статуса.

Как устроена сессия: сервер, пространства, вкладки, панели

Устроено всё в три уровня. Пространство (workspace) соответствует проекту или задаче, вкладка (tab) задаёт раскладку, панель (pane) это настоящий терминал с живым процессом. Панели делятся вправо и вниз, перетаскиваются мышью, разворачиваются на весь экран. Боковая панель собирает состояние всех пространств и поднимает наверх то, где агент просит внимания.

Официальный скриншот Herdr TUI: боковая панель с агентами и две панели с Claude Code и Codex
Официальный скриншот Herdr TUI из репозитория herdrdev/herdr (файл assets/screenshot.png): боковая панель со статусами, панель с редактором и панель с агентом.

По умолчанию Herdr работает как фоновый сервер плюс подключённый клиент. Отключение клиента по ctrl+b q не останавливает работу: панели, тесты, dev-серверы и агенты продолжают жить в сервере. Чтобы вернуться к работе, достаточно запустить herdr в терминале, в том числе по SSH с другого устройства. С версии 0.9.4 сервер на Linux и macOS игнорирует SIGHUP, поэтому закрытие оболочки, из которой его запустили, больше не убивает сессию2.

Если сервер или машина всё-таки остановились, Herdr восстановит раскладку сессии: пространства, вкладки, панели, рабочие каталоги, фокус. Процессы при этом не сохранятся, панели вернутся свежими оболочками в тех же каталогах. Продолжить разговоры с агентом можно только через интеграции: herdr integration install claude или herdr integration install codex учат Herdr продолжать сессию агента. Herdr отвечает за терминалы, а не за перезапуск работы после падения питания.

Пространство удобно привязать к репозиторию и ветке: отдельная команда herdr worktree create --branch feature-x поднимает рабочую копию под задачу, не трогая текущую ветку. Уведомления тоже управляются из терминала: herdr notification show "Сборка готова" --sound done покажет всплывающее сообщение в углу экрана, если вы как раз смотрите в другую панель.

Для разделения контекстов есть именованные сессии: herdr session attach work поднимает независимый сервер со своими панелями, сокетами и состоянием, но с общим файлом настроек.

Статусы агентов: working, blocked, done, idle

Состояние Что означает
working Агент активно работает
blocked Агент ждёт ввода, подтверждения или решения
done Агент закончил, вы ещё не смотрели результат
idle Агент свободен или завершил работу, которую вы уже видели
unknown Процесс есть, но Herdr не может уверенно классифицировать состояние

Herdr ищет процесс агента в панели и читает нижнюю часть текущего экрана (не тот участок, куда вы прокрутили), а правила в манифесте распознавания определяют состояние. Если установлена интеграция агента и она сама сообщает статус, показания интеграции важнее чтения экрана. Список поддержки включает Claude Code, Codex, Cursor Agent CLI, OpenCode, Copilot CLI, Gemini CLI, Grok CLI, Pi и ещё несколько инструментов.

done и idle различаются только тем, смотрели вы на результат или нет. Каждый клиент считает просмотренное сам, поэтому бейдж в одном окне может отличаться от бейджа в другом, а командная строка ориентируется на состояние сервера. Для автоматизации оба состояния означают «готов принимать ввод», на что и опираются команды ожидания.

Если запустить агента внутри tmux, который сам работает внутри панели Herdr, статус до него не дойдёт, потому что tmux перехватывает управляющие последовательности. Агента надо запускать в панели напрямую. То же ограничение касается десктопного продукта Herdr App: там статусы показываются только для агентов, которые умеют сообщать о себе по открытому протоколу OSC 7501.

Установка и первый запуск

Установка занимает одну строку: curl -fsSL https://herdr.dev/install.sh | sh1. Есть Homebrew, mise и Nix flake, для Windows отдельный установщик PowerShell. Бинарник один, без Electron и без графических зависимостей: Herdr ставится на ноутбук и на сервер, работает поверх обычного терминала и не требует графической сессии. Отличия Windows описаны ниже.

Дальше herdr в каталоге проекта поднимает сервер и открывает интерфейс. Раскладка и навигация работают через префикс: нажимаете ctrl+b, отпускаете и добавляете клавишу. Для большинства повседневных задач хватает пяти действий: c новая вкладка, v разделить панель вправо, h/j/k/l переход между панелями, w навигация по пространствам, q отключиться с сохранением всего. Полную карту можно вызвать по ctrl+b ?.

Мышью можно выбирать панели и вкладки, перетаскивать границы, открывать контекстное меню правой кнопкой, выделять и копировать без ctrl+c. Если перехват мешает, [ui] mouse_capture = false в ~/.config/herdr/config.toml возвращает управление терминалу, но вместе с ним отключает и мышиные жесты Herdr.

Настройки читаются из ~/.config/herdr/config.toml, и без файла Herdr работает на значениях по умолчанию. Команда herdr --default-config печатает полный набор параметров: при первом запуске её вывод можно сохранить в config.toml как основу. Если файл уже есть, сначала сделайте копию, иначе рабочая настройка будет затёрта. Перечитать настройки без остановки панелей позволяет herdr server reload-config.

Командная строка и сокет-API

Все ответы командной строки Herdr в JSON, идентификаторы предсказуемые: w1 пространство, w1:t1 вкладка, w1:p1 панель. Агенты получают в переменных окружения собственный контекст, поэтому команды с --current работают из той панели, где вы находитесь.

Типичная цепочка «агент запускает помощника» выглядит так:

  1. herdr pane split --current --direction right --cwd "$PWD" --no-focus создаёт панель и возвращает её идентификатор.
  2. herdr agent start reviewer --kind codex --pane w1:p2 поднимает Codex и ждёт, пока тот будет готов принимать ввод.
  3. herdr agent prompt reviewer "Проверь диф и перечисли только проблемы" --wait --timeout 120000 отправляет задачу и ждёт первого устойчивого состояния.
  4. herdr pane read w1:p2 --source recent-unwrapped --lines 120 читает ответ, herdr pane close w1:p2 убирает панель.

Для обычных процессов есть отдельные команды, удобные для тестов и сборок: herdr pane run отправляет команду, herdr pane wait-output --match "test result" ждёт нужную строку, herdr pane read --format ansi сохраняет цвета, когда они служат доказательством. Можно ждать и конкретного состояния: herdr agent wait reviewer --until blocked вернётся ровно тогда, когда агент просит решения, а не по таймеру.

Управляющие команды требуют переменную HERDR_ENV=1, то есть вне панели Herdr случайно ничего не переключится. Если агент уже висит на диалоге подтверждения, agent prompt вернёт ошибку agent_blocked и не станет отправлять текст, который всё равно ушёл бы не туда. Состояние done ещё не доказывает, что агент закончил разговор с вами: у некоторых агентов фоновые задачи живут дольше основного ответа.

Удалённые машины: один клиент, сколько угодно серверов

Команда herdr machine add vps один раз описывает доступ к SSH-машине, после чего пространства и агенты удалённого сервера появляются в том же окне и в той же боковой панели, что и локальные. Переключение между машинами не открывает второй клиент, у каждой машины собственный набор панелей и собственный сервер, поэтому потеря связи с одной не тянет за собой остальные.

Есть и второй режим: herdr --remote ssh://user@host рисует интерфейс локально, а панелями управляет удалённый сервер. Тогда работают локальные шрифты, буфер обмена и уведомления, а процессы остаются на сервере. Для слабых каналов Herdr просит у SSH сжатие, чтобы не гонять экран целиком.

Так можно работать и с телефона: агент живёт на арендованном сервере, а вы подключаетесь к нему с ноутбука или из мобильного SSH-клиента, и сессия не прерывается, когда крышка закрыта.

Herdr App и Herdr TUI: два разных продукта

Herdr TUI и Herdr App не делят состояние.

Herdr TUI это исходный Herdr, терминальное приложение со своим сервером. Всё, что описано выше, относится к нему. Herdr App это отдельная десктопная программа на ядре herdr-core с графическим окном, раскладками и модами на JavaScript, которые лежат в ~/.config/herdr-app. У App свой командный интерфейс hc, свои раскладки и своя галерея сообщества.

Агенты, запущенные в App, не видны в TUI, и наоборот3. Статусы в App приходят только по OSC 7501, поэтому агент без поддержки протокола работает как обычный терминал без бейджа. Выбор зависит от того, как вы работаете: в терминале и по SSH или в графическом окне с мышью.

Ограничения, о которых лучше знать заранее

После перезагрузки вернётся раскладка, но не процессы. Если задача должна переживать падение машины, нужен внешний планировщик, а не мультиплексор.

Статусы зависят от агента. Незнакомый инструмент останется просто терминалом, а агент внутри tmux потеряет статус вовсе.

Диалоги подтверждения требуют человека. При статусе blocked команда не станет отвечать за вас на вопрос агента.

Маркетплейс плагинов не модерируется: каталог собирается из публичных репозиториев GitHub по тегу herdr-plugin. Плагин это обычный код с полным доступом к CLI Herdr, поэтому устанавливать его стоит только при доверии к автору.

Клиент и сервер могут разойтись по версиям после обновления. Проверить версии можно через herdr status, а останавливать сервер из живой сессии не нужно.

Windows поддерживается, но с оговорками: подсистема ConPTY ведёт себя иначе, часть возможностей зависит от платформы.

Результат работы агента всё равно нужно проверять. Herdr показывает, кто ждёт ответа, но не гарантирует, что агент сделал именно то, о чём вы просили.

Три сценария, где Herdr реально экономит время

Раскладка Herdr 0.9.5: три обычные панели с потоком сборки, запросами и заметками
Наш снимок Herdr 0.9.5: отдельная демонстрационная сессия из обычных shell-панелей, без ИИ-агентов и без данных пользователя.

Смысл в том, чтобы вести параллельные задачи и видеть, кто из агентов на каком этапе.

Первый: один проект и два агента с разными ролями. В одной панели Claude Code пишет код, во второй Codex проверяет диф, в третьей крутятся тесты, в четвёртой висит лог. Пространство привязано к репозиторию, вкладки разделяют «работу» и «проверку», а боковая панель подсказывает, кто именно ждёт вашего слова. Об оркестрации ИИ-агентов у нас есть отдельная статья.

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

Третий: несколько машин в одной панели. Ноутбук, домашний сервер и облачная песочница добавляются по SSH и живут рядом. Удобно, когда один агент собирает релиз локально, второй гоняет тяжёлые тесты на сервере, а третий копается в чужом репозитории в песочнице.

Чем заменить, если не подходит

Если нужны только терминалы без слоя статусов агентов, подойдут tmux и zellij: они решают ту же задачу с сессиями и переживают разрыв соединения. Herdr стоит брать тогда, когда агентов больше одного и вы устали вручную искать, кто из них завис на вопросе.

Если нужен графический интерфейс и раскладки мышью, смотрите Herdr App, но помните, что это другой продукт с другим состоянием. Если нужен запуск агентов из кода без терминала, Herdr может оказаться лишним слоем: его CLI рассчитан на то, что панели и оболочки уже есть.

Попробовать Herdr можно на одном проекте. В карточке Herdr в каталоге ailibri есть краткое описание и оценки, а сам Herdr ставится и обновляется одной командой.

Да, если сессия живёт на сервере. Отключение клиента по ctrl+b q не останавливает панели, а на Linux и macOS сервер игнорирует SIGHUP. Если же машина или сам сервер Herdr перезапустились, вернутся только раскладка и каталоги, процессы придётся запускать заново.

Да, через SSH обычным терминальным клиентом: herdr запускается на сервере и подключается к уже работающей сессии. Интерфейс адаптируется под узкий экран, но клавиатурные сокращения всё равно понадобятся.

Аккаунт не нужен, сам Herdr бесплатен и открыт по лицензии Apache 2.0. Модели оплачиваются по условиям поставщика агента: если у вас подписка Claude Code или Codex, платите только за неё.

Три частые причины: версия агента не умеет сообщать состояние, агент запущен внутри tmux в панели Herdr, либо это Herdr App, где статусы приходят только по протоколу OSC 7501. Обновление агента или запуск напрямую в панели обычно лечит проблему.

Это разные программы. TUI работает в терминале со своим сервером, App это десктопное окно на ядре herdr-core с раскладками и модами на JavaScript. Они не делят агентов: запущенное в одном не видно в другом.

Примечания

1. Страница Herdr TUI: описание, установка, лицензия Apache 2.0 и заявленные возможности. Сайт проверен 9 ноября 2026 года. ↑

2. Исходный код Herdr TUI: лицензия, журнал изменений версий 0.9.4 и 0.9.5. ↑

3. Сайт проекта: документация, различия Herdr TUI и Herdr App, интеграции и ключи. ↑

Смотрите также

Каталог приложений Telegram Mini Apps

340+ проверенных мини-приложений: нейросети, утилиты, игры. Открываются прямо в мессенджере — без установки.

Открыть →

Будьте в курсе новых нейросетей — подпишитесь на наш Telegram-канал

Ежедневные обзоры свежих AI-инструментов, лайфхаки и инструкции прямо в вашем мессенджере.

Подписаться

Нейросети и ИИ-инструменты

Все теги →
github333 text-to-text159 api119 tool86 text-to-image81 self-hosted79 ии-агенты74 claude code61 desktop-приложение59 языковая модель50 каталог43 python43 mcp38 работа с pdf35 анимация34 image-to-image31 браузер29 claude28 генератор голоса25 удалить фон25
AILibri – главная страница
Ctrl / ⌘+K

Избранные нейросети

Без регистрации. Список сохраняется в этом браузере.