Herdr: терминал, который следит за моими AI-агентами

Herdr: терминал, который следит за моими AI-агентами

Я давно пользуюсь выпадающими консолями вроде Tilda и Yakuake. Нажал Alt+F1 — терминал появился поверх всех окон. Нажал ещё раз — исчез. Никаких поисков нужного окна и прогулок по виртуальным рабочим столам.

Когда я снова [[22. Перебираемся в консоль|перебрался в консоль]] из-за агентных харнессов, к этому требованию добавилось ещё одно. Мне нужно было видеть, что происходит с несколькими агентами: кто работает, кто закончил, а кто остановился и ждёт моего решения. Обычного терминала для этого уже не хватало.

Сначала был Kitty

Kitty остаётся моим любимым терминалом. Он быстрый, лёгкий, умеет показывать изображения и делить окно на горизонтальные и вертикальные панели. С помощью kitten его можно превратить в выпадающую консоль. Отдельно Kitty умеет сохранять раскладку окон и сессии.

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

Скрипты иногда вели себя непредсказуемо, состояние восстанавливалось не всегда аккуратно, а управление несколькими агентами оставалось самодельной надстройкой над терминалом. Пользоваться этим можно было, но удовольствия становилось всё меньше.

Второй шанс Herdr

Herdr попадался мне и раньше. Я даже пробовал с ним работать, но быстро отказался из-за клавиатурных привязок.

Именно за это я не люблю tmux и zellij: сначала нажми префикс, потом ещё одну клавишу, запомни отдельную систему команд и постоянно переключай в голове режимы. Возможно, кому-то так удобно. Мне — нет. За годы работы в Kitty мышечная память уже решила всё за меня.

Тогда я оставил Kitty снаружи как выпадающий терминал, а внутри запустил Herdr. Клавиатурные привязки Herdr попросил агента переписать под привычную схему Kitty.

Alt+V делит панель вертикально, Alt+H — горизонтально. Alt со стрелками перемещает фокус между панелями, Ctrl со стрелками — между вкладками. Новая вкладка, закрытие панели, переход по номеру — всё оказалось на знакомых местах.

Я дал Herdr второй шанс. На этот раз всё сложилось.

Рабочее место для агентов

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

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

Уведомления приходят двумя способами. Статус виден по иконке в сайдбаре, а завершение работы дублируется системной нотификацией KDE. Когда одновременно запущены несколько задач, я переключаюсь во вкладку только тогда, когда агенту требуется внимание.

Я запускал в Herdr Pi — мой основной харнесс с набором кастомных инструментов, — а также Codex, Hermes и Cursor. Все они корректно показывают статусы и присылают уведомления.

Минут за десять я написал небольшую программу для системного трея KDE. Она подключается к Herdr и показывает его текущий статус отдельной иконкой. Теперь состояние агентов видно, даже когда выпадающий терминал спрятан.

Сессии, плагины и удалённая работа

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

Сессии сохраняются автоматически и после перезапуска восстанавливаются без прежних странностей. Закрыл терминал, снова открыл — панели и рабочая раскладка на месте.

Herdr можно управлять прямо из агента. Для этого достаточно установить skill из официальной документации. После этого агент сможет создавать вкладки, менять раскладку панелей и запускать программы в новых вкладках.

У Herdr есть плагины, включая файловый менеджер. Светлая и тёмная темы переключаются на лету. А ещё к запущенной сессии можно подключиться удалённо по SSH. Я установил Herdr на ноутбук, связал устройства через Tailscale и получил доступ к тем же агентам с другой машины.

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

Herdr можно поставить на сервер и оставить агентов работать там. Локальный компьютер в этом случае становится только клиентом.

Без картинок, но не без выхода

У связки есть один заметный недостаток: Herdr не отображает изображения внутри панели, даже если внешний Kitty это умеет. Для моих задач это не критично, хотя иногда мешает при работе со скриншотами или результатами генерации.

Нужный файл я выбираю в плагине-файловом менеджере и открываю в системном просмотрщике. Получается лишний клик, но с этим можно жить.

Kitty снаружи, Herdr внутри

Я не стал выбирать между любимым терминалом и специализированной средой для агентов. Kitty отвечает за выпадающее окно по Alt+F1, а Herdr — за панели, сессии, статусы, уведомления и удалённый доступ. Клавиши остались привычными, поэтому переучиваться не пришлось.

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

Правда, теперь Herdr всегда со мной: на рабочем компьютере, ноутбуке и даже телефоне через SSH. Работа больше не привязана к одному экрану и почти не прекращается.

Work-life balance, говорите?