Поиск по сайту:

herdr: CLI-инструмент для управления несколькими AI агентами по программированию


Несколько месяцев назад я начал запускать Claude Code в одном терминале и Codex в другом, и через неделю у меня было открыто пять вкладок. Некоторые были неактивны и ждали меня, но я не мог понять, какие именно, не открыв каждую вкладку отдельно.

Я пытался использовать tmux панели состояния с пользовательскими скриптами для отслеживания бездействующих панелей, и это работало в какой-то степени, но настройка занимала время, и всё равно нельзя было определить, заблокирован ли агент или активно работает. Именно с этой проблемой herdr и предназначен справляться.

herdr — это мультиплексор терминала, созданный специально для работы AI-агентов программирования, а не просто обычных сеансов оболочки. Это один единственный Rust исполняемый файл, разработанный Огулджаном Челиком, и с конца июня 2026 года он является одним из самых популярных проектов на GitHub, за короткое время получив более 10 000 звезд.

Если вы раньше использовали tmux, herdr покажется вам знакомым, а отличие заключается в том, что herdr отслеживает, чем занимаются ваши AI-агенты, и сразу показывает, какие из них работают, заблокированы или завершили работу.

Что на самом деле делает herdr

В своей основе, herdr — это менеджер сессий, который работает в вашем терминале и поддерживает работу ваших процессов даже если вы отключаетесь, подобно tmux или screen.

Вы можете создавать рабочие пространства, разделять их на панели, выполнять различные команды в каждой панели и отсоединяться от сеанса в любое время. Сервер продолжает работать в фоновом режиме, поэтому закрытие ноутбука не остановит ваши сеансы.

То, что делает herdr особенным, это его встроенная функция обнаружения AI-агентов программирования, которая определяет такие инструменты, как Claude Code, Codex, Amp, Devin CLI и несколько других агентов программирования, просматривая имена процессов и шаблоны вывода терминала, а затем группирует каждую панель в одно из четырех состояний, показанных на боковой панели: blocked, working, done или idle.

Нет необходимости настраивать хуки или писать пользовательские скрипты. Вы просто запускаете агент в панели, и herdr автоматически определяет его текущее состояние.

Каждая панель также является настоящим терминалом, а не имитированным, что важнее, чем может показаться. Многие графические менеджеры агентов перерисовывают вывод терминала внутри своего интерфейса, и полноэкранные терминальные приложения часто неправильно отображаются в таких средах. herdr избегает этой проблемы, потому что это не приложение, которое оборачивает терминал — это сам терминал.

Предварительные требования

Перед установкой herdr убедитесь, что у вас есть следующее:

  • Система Linux с относительно недавним дистрибутивом. Ubuntu, Debian, Fedora, RHEL, Rocky Linux и Arch Linux работают хорошо, потому что herdr распространяется как статический бинарный файл.
  • Эмулятор терминала, который вы уже используете. herdr работает внутри вашего существующего терминала и не заменяет его.
  • Установлен curl, который необходим для загрузки и выполнения скрипта установки.
  • По крайней мере один ИИ-агент для программирования, такой как Claude Code, Codex или Amp, если вы хотите использовать функции обнаружения агентов herdr.
  • Дополнительный SSH-доступ к удалённому серверу, если вы планируете запускать AI-агентов на удалённых машинах.

Вам также не нужны права root или администратора для обычной установки. Скрипт установки размещает бинарный файл herdr в вашем пользовательском пути, а не в системных каталогах.

Шаг 1: Установите herdr

Самый быстрый способ установить herdr на Linux — это использование официального установочного скрипта:

curl -fsSL https://herdr.dev/install.sh | sh

Вы увидите вывод, похожий на это:

Установка herdr с помощью официального скрипта

Вот что делает команда:

  • curl -fsSL тихо загружает скрипт установки, следует за перенаправлениями и останавливается, если загрузка не удалась.
  • | sh отправляет загруженный скрипт напрямую в оболочку и выполняет его.

Примечание: Если herdr доступен через ваш предпочитаемый менеджер пакетов, вы можете установить его таким образом.

На системах Ubuntu или Debian с установленным Homebrew (Linuxbrew) выполните:

brew install herdr

На системах RHEL или Rocky Linux с установленным mise выполните:

mise use -g herdr

Если вы используете Nix, вы можете запустить herdr, не устанавливая его постоянно:

nix run github:ogulcancelik/herdr

После установки убедитесь, что herdr доступен в вашем PATH:

herdr --version

Если вы видите ошибку «команда не найдена», возможно, ваша оболочка ещё не подтянула ~/.local/bin. Добавьте его в ваш PATH в ~/.bashrc или ~/.zshrc, затем перезапустите оболочку.

Шаг 2: Запустите herdr и изучите интерфейс

Запустите herdr, выполнив:

herdr

В первый раз, когда вы запускаете его, herdr запускает фоновый серверный процесс и открывает рабочее пространство с одной панелью. С этого момента всё происходит внутри этого окна терминала. Вы можете использовать как клавиатуру, так и мышь для навигации.

Подобно tmux, herdr использует систему префиксных клавиш. Нажмите Ctrl+b, отпустите её, а затем нажмите другую клавишу, чтобы выполнить действие. Такой подход предотвращает перехват herdr нажатий клавиш, которые могут понадобиться вашей оболочке или AI-агентам.

Некоторые полезные сочетания клавиш:

  • Ctrl+b, затем Shift+N - Создать новое рабочее пространство.
  • Ctrl+b, затем c - открыть новую вкладку в текущем рабочем пространстве.
  • Ctrl+b, затем v или - - Разделить текущую панель вертикально или горизонтально.
  • Ctrl+b, затем w - Переключение между рабочими пространствами.
  • Ctrl+b, затем q - Отсоединиться от сессии, при этом всё продолжает работать.
  • Ctrl+b, затем ? - Показать полный список клавиатурных сокращений.

Вы также заметите боковую панель с левой стороны экрана, на которой перечислены все открытые панели. Здесь становится полезной функция осведомленности агента herdr, так как она отображает состояние ваших ИИ-агентов, когда они работают в своих собственных панелях.

Шаг 3: Запустите вашего первого агента внутри herdr

В любом окне начните работу с вашим агентом AI для кодирования так же, как обычно. Например, чтобы запустить Claude Code, выполните:

claude

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

Например:

🟡 pane-1  claude   working
🔴 pane-2  codex    blocked
🔵 pane-3  amp      done

Индикаторы состояния означают:

  • 🟡 работает - Агент активно создает ответ или использует инструмент.
  • 🔴 заблокировано - Агент ожидает вашего ввода, например, ответа на вопрос или одобрения запроса на разрешение.
  • 🔵 готово - Агент завершил свою задачу и находится на приглашении ввода.
  • 🟢 ожидание - В панели не запущен ни один поддерживаемый агент, или оболочка просто бездействует.

Вот что делает herdr полезным. Вместо того чтобы переключаться между несколькими вкладками терминала, чтобы понять, какой агент требует вашего внимания, вы можете просто взглянуть на боковую панель и увидеть статус каждого агента сразу.

Шаг 4: Разделите панели и создайте рабочее пространство

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

Нажмите Ctrl+b, затем v, чтобы разделить текущую панель вертикально. В новой панели вы можете запустить другого агента или выполнить команду мониторинга, такую как:

tail -f /var/log/syslog

Вы можете изменять размер панелей, перетаскивая границу мышью. Если вы предпочитаете использовать клавиатуру, нажмите Ctrl+b, а затем клавиши со стрелками, чтобы настроить расположение.

Чтобы оставаться организованным:

  • Нажмите Ctrl+b, затем c, чтобы создать новую вкладку для связанных панелей в том же проекте.
  • Нажмите Ctrl+b, затем Shift+N, чтобы создать отдельное рабочее пространство для совершенно разных задач.

Практический подход заключается в том, чтобы иметь одну рабочую область для каждого проекта, с собственным набором AI-агентов и выделенной панелью оболочки для команд, таких как операции с Git или задачи системного администрирования.

Шаг 5: Отсоедините, повторно подключите и поддерживайте жизнь агентов

Всякий раз, когда вам нужно закрыть ваш терминал или отойти от компьютера, вы можете отсоединиться от вашей сессии herdr, не останавливая то, что в ней выполняется.

Чтобы отсоединить, нажмите:

Ctrl+b, then q

Все ваши панели продолжают работать в фоновом режиме. Любые AI-агенты, сессии оболочки или команды мониторинга журналов продолжаются точно так же, как и раньше.

Когда вы будете готовы вернуться, просто снова запустите herdr:

herdr

Это одно из самых больших преимуществ herdr перед обычными вкладками терминала. Поскольку сессия выполняется на сервере herdr в фоновом режиме, ваши агенты и процессы терминала остаются активными даже после закрытия окна терминала и могут быть восстановлены при повторном подключении.

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

Шаг 6: Запустите herdr на удаленном сервере

Если вы запускаете AI-агентов для кодирования на VPS или удалённом сервере, herdr может подключаться к этому серверу, при этом ваш локальный терминал остаётся клиентом. Сами агенты продолжают работать на удалённой машине.

Подключитесь к удалённому серверу с помощью:

herdr --remote ssh://you@yourserver:2222

Это особенно полезно, если ваш рабочий процесс включает вставку скриншотов или изображений в агент ИИ. Традиционные SSH-сессии в сочетании с tmux часто испытывают трудности с правильной вставкой изображений, в то время как удаленный режим herdr разработан для сохранения этой функциональности.

Если ваш SSH-сервер использует нестандартный порт, вам может потребоваться открыть этот порт в брандмауэре сервера.
В системах Ubuntu или Debian:

sudo ufw allow 2222/tcp

На системах RHEL или Rocky Linux:

sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

Вот что делают эти команды:

  • sudo выполняет команду с привилегиями администратора, которые необходимы для изменения правил брандмауэра.
  • ufw allow 2222/tcp или firewall-cmd --add-port=2222/tcp открывает TCP-порт 2222, позволяя входящие SSH-подключения на этом порту.

Вы также можете дать удалённой сессии имя и позже подключиться к ней, не вводя каждый раз полный SSH URL:

herdr --remote workbox

Обновление herdr

Если вы установили herdr с помощью официального скрипта установки, вы можете обновить его с помощью встроенного обновления:

herdr update

Если вы установили herdr с помощью менеджера пакетов, обновляйте его через этот менеджер пакетов, так как herdr update работает только для установок на основе скриптов.

На системах Ubuntu или Debian с Homebrew:

brew upgrade herdr

На системах RHEL или Rocky Linux с mise:

mise upgrade herdr
Заключение

На этом этапе у вас установлен herdr, запущен ваш первый агент с отслеживанием состояния в реальном времени в боковой панели, панели разделены в настоящее рабочее пространство, и есть возможность отсоединять и присоединять без потери данных, на вашем собственном компьютере или на удалённом сервере через SSH. Это охватывает основное, для чего большинству людей он нужен в повседневной работе.

Попробуй прямо сейчас разделить панель и запустить двух разных агентов рядом, один работающий над веткой с функцией, а другой рассматривающий pull request. Смотри на боковую панель, когда они переключаются между состояниями работы и блокировки. Именно в этот момент проявляется ценность herdr, когда перестаёшь следить за вкладками терминала и начинаешь сразу видеть состояние.

Мне любопытно, как это вписывается в настройки, где агенты уже работают внутри CI-пайплайнов или на эфемерных облачных инстансах, а не на постоянном VPS. Если вы пробовали интегрировать сокет-API herdr в что-то подобное, мне хотелось бы услышать, как это себя показало.