herdr.dev · установка · быстрый старт · поддерживаемые агенты · интеграции · конфигурация · socket api
Мультиплексор агентов (agent multiplexer), живущий в вашем терминале.
Рабочие пространства, вкладки, панели. Нативное управление мышью: клик, перетаскивание, разделение. Статус каждого агента виден с первого взгляда: заблокирован, работает, завершён. Можно отключиться и подключиться снова — агенты продолжают работать. Никаких GUI-приложений, никакого Electron, никаких нативных обёрток только для macOS. Вы видите настоящий терминал агента, а не чью-то интерпретацию происходящего.
Установка
curl -fsSL https://herdr.dev/install.sh | sh
На Windows (предварительная бета-версия):
powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"
Или установить через Homebrew:
brew install herdr
Или через mise:
mise use -g herdr
Если mise сообщает herdr not found in mise tool registry, обновите mise и повторите попытку. Старые версии mise появились раньше, чем herdr был добавлен в реестр; mise use -g github:ogulcancelik/herdr работает как временный обходной путь.
Или скачайте стабильный бинарный файл для Linux/macOS со страницы releases. Нативные бинарные файлы для Windows существуют только в виде предварительных бета-сборок.
Быстрый старт
Запустите Herdr в директории, где находится ваш проект:
herdr
Herdr запускает или подключается к фоновому серверу сессии. Если в сессии нет рабочих пространств, Herdr автоматически создаёт одно. Запустите агента в корневой панели. Нажмите ctrl+b, затем shift+n, чтобы создать новое рабочее пространство; ctrl+b, затем v или minus — чтобы разделить панели; ctrl+b, затем c — чтобы создать вкладку; ctrl+b, затем w — чтобы переключиться между рабочими пространствами.
Нажмите ctrl+b q, чтобы отключить клиент. Сервер и процессы панелей продолжат работать. Откройте другой терминал и снова запустите herdr, чтобы переподключиться.
Основные концепции
Сервер и клиент. По умолчанию herdr подключается к фоновому серверу. Отключение закрывает только клиент. herdr server stop останавливает сервер по умолчанию и завершает его панели. Именованные сессии — это отдельные пространства имён сервера: используйте herdr session attach work, herdr session stop work и herdr session list, когда нужно полностью изолированное состояние выполнения.
Рабочие пространства, вкладки, панели. Рабочее пространство (workspace) — контейнер уровня проекта. Вкладки группируют панели внутри рабочего пространства. Панели — это реальные процессы терминала, а не переработанные представления агентов.
Копирование. Herdr копирует текст панели, а не боковую панель. Выделите текст перетаскиванием внутри панели, дважды щёлкните по слову или токену, или нажмите prefix+[ для режима копирования с клавиатуры. В режиме копирования перемещайтесь клавишами h/j/k/l, w/b/e и {/}, начинайте выделение клавишей v или Пробел, копируйте клавишей y или Enter, выходите — q или Esc. В PuTTY и некоторых SSH-терминалах удерживайте Shift при перетаскивании, чтобы использовать собственное выделение терминала, и Shift + правый клик для вставки.
Обновление и восстановление. herdr update устанавливает новый бинарный файл, но работающий сервер продолжает использовать старый процесс, пока его не остановят или не передадут управление. Чтобы использовать новую версию, остановите старый сервер: при этом процессы панелей завершатся. Выполните herdr server stop, затем снова запустите herdr для сессии по умолчанию. Для именованной сессии: herdr session stop <name>, затем снова herdr session attach <name>. Команда herdr update --handoff — экспериментальная; она пытается перенести живые панели, включая активные процессы вроде dev-серверов, со старого сервера на новый. При установленных официальных интеграциях поддерживаемые панели агентов могут перезапуститься из своих нативных сессий после перезапуска или обновления сервера.
Привязки клавиш. Herdr использует явные строки привязок клавиш. prefix+n означает: нажать настроенный префикс, затем n. ctrl+alt+n, cmd+k, alt+1 и аккорды с функциональными клавишами — прямые ярлыки терминального режима, для которых префикс не нужен. Обычные печатаемые клавиши без модификаторов (например, n) перехватывают обычный ввод, поэтому используйте prefix+n, если только вы намеренно не хотите создать прямую привязку с модификатором.
Осведомлённость об агентах. Боковая панель показывает состояния: заблокирован, работает, завершён, простаивает. По умолчанию определение состояния работает через имена процессов и вывод терминала. Официальные интеграции могут добавить нативное определение идентичности сессии для восстановления, семантические отчёты о состоянии или и то, и другое.
Обновление
Herdr уведомляет вас о выходе новой версии. Для ручного обновления:
herdr update
herdr update предназначен для установок, управляемых собственным инсталлятором Herdr. Установки через Homebrew, mise и Nix обновляются через brew upgrade herdr, mise upgrade herdr или ваш рабочий процесс Nix, после чего применяется та же схема: остановить сервер и запустить снова, если он всё ещё работает на старой версии. Для прямых установок на Linux и macOS можно переключиться на канал разработки (preview) командой herdr channel set preview, а вернуться на стабильный — herdr channel set stable. Бета-установки на Windows пока доступны только в канале preview. Подробнее о матрице обновления, перезапуска, восстановления и передачи управления — в документации install docs и session state docs.
Прямые установки на Linux и macOS по умолчанию используют стабильный канал обновлений. Бета-установки на Windows по умолчанию используют preview. Чтобы тестировать preview-сборки из ветки master до следующего стабильного релиза:
herdr channel set preview
Чтобы вернуть прямые установки на Linux и macOS к стабильному каналу:
herdr channel set stable
При прямых установках смена канала также проверяет этот канал и устанавливает последний бинарный файл. Если обновление завершилось ошибкой, выполните herdr update для повторной попытки из настроенного канала.
Preview доступен только для прямых установок, управляемых обновлятором Herdr. Homebrew, mise и Nix остаются на стабильном канале и обновляются через свои пакетные менеджеры.
Сравнение
| tmux | GUI-менеджеры | herdr | |
|---|---|---|---|
Постоянные сессии |
✓ |
— |
✓ |
Отключение / переподключение |
✓ |
— |
✓ |
Панели, вкладки, рабочие пространства |
✓ |
✓ |
✓ |
Осведомлённость об агентах |
— |
✓ |
✓ |
Работает в терминале |
✓ |
— |
✓ |
Реальный вид терминала |
✓ |
— |
✓ |
Нативная поддержка мыши |
— |
✓ |
✓ |
Лёгкий бинарный файл |
✓ |
— |
✓ |
Агенты могут оркестрировать |
? |
? |
✓ |
tmux даёт постоянство сессий и панели, но создавался до эпохи агентов. GUI-менеджеры показывают состояние агентов, но вынуждают покидать терминал и работать через их обёртку. Herdr объединяет постоянство и осведомлённость в одном инструменте, который не мешает вашей работе.
Удалённая работа и переподключение
Herdr работает через обычный SSH. Запустите его на удалённом хосте, отключитесь и переподключитесь позже:
ssh you@yourserver herdr
Можно также подключиться с локального терминала, не открывая оболочку:
herdr --remote workbox
herdr --remote ssh://you@yourserver:2222
Удалённое подключение по умолчанию добавляет резервные SSH-keepalive, сохраняя при этом ваш собственный SSH-конфиг. Установите [remote].manage_ssh_config = false, чтобы использовать обычный ssh.
Прямое подключение соединяет ваш текущий терминал с одним терминалом, управляемым сервером:
herdr agent attach <target>
herdr terminal attach <terminal_id>
Подробности об удалённых привязках клавиш, именованных сессиях и передаче управления — в документации persistence and remote docs.
Осведомлённость об агентах
Боковая панель показывает, какие агенты заблокированы, работают или завершили работу. Рабочие пространства отображают наиболее срочное состояние своих агентов, чтобы можно было быстро просмотреть весь список.
Состояния:
-
🔴 заблокирован (blocked) — агент ожидает ввода или подтверждения
-
🟡 работает (working) — агент активно выполняет задачу
-
🔵 завершён (done) — работа выполнена, но вы ещё не просмотрели результат
-
🟢 простаивает (idle) — завершён и просмотрен
Определение состояния работает путём чтения активного процесса и вывода терминала. Никакой конфигурации, никаких хуков не требуется. Официальные интеграции для Claude Code, Codex, GitHub Copilot CLI, Devin, Droid, Kimi Code CLI, QoderCLI и Cursor Agent CLI предоставляют идентичность сессии для восстановления; pi, omp, Kimi Code CLI, opencode, Kilo Code CLI, Hermes и кастомные socket-интеграции могут сообщать собственное состояние.
Живёт в вашем терминале
Не GUI-окно, не веб-дашборд, не Electron. Herdr запускается внутри любого терминала, которым вы уже пользуетесь. Единственный бинарный файл на Rust, без зависимостей. Работает внутри tmux как внешнего терминального окружения.
Возможности
-
Рабочие пространства (workspaces) — организованы вокруг git-репозиториев или имён папок, каждое со своими вкладками и панелями
-
Вкладки (tabs) — полноценный элемент в socket API и CLI
-
Удобное копирование — выделяйте текст панели перетаскиванием, дважды щёлкайте по токенам или используйте режим копирования с клавиатуры:
prefix+[,h/j/k/l,{/},v,y -
Уведомления — звуки и всплывающие уведомления для фоновых событий; подавление с учётом активной вкладки
-
18 встроенных тем — catppuccin, terminal, tokyo night, gruvbox, one, solarized, kanagawa, rosé pine, vesper и светлые варианты для основных палитр
-
Постоянство сессий — процессы панелей продолжают работу после отключения клиента; сессии восстанавливают панели после полного перезапуска, с опциональной историей экрана
Агенты тоже могут использовать Herdr
Локальный Unix-сокет позволяет агентам создавать рабочие пространства, разделять или разворачивать на весь экран панели, запускать вспомогательные процессы, читать вывод и ожидать изменений состояния. Начните с документации socket API и SKILL.md.
Поддерживаемые агенты
Автоматическое определение работает «из коробки» — через сопоставление имён процессов и эвристику по выводу терминала.
| Агент | Простой / завершён | Работает | Заблокирован |
|---|---|---|---|
✓ |
✓ |
частично |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
cursor agent |
✓ |
✓ |
✓ |
antigravity cli |
✓ |
✓ |
✓ |
kimi code cli |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
|
✓ |
✓ |
✓ |
|
✓ |
✓ |
— |
Обнаруживаются, но полностью не проверены: gemini cli, cline.
Для агентов, не входящих во встроенный список, Herdr по-прежнему работает как терминальный мультиплексор с рабочими пространствами, панелями и мозаичной раскладкой. Кастомные интеграции могут передавать метки агентов через socket API. Подробнее — в документации socket API.
Прямые интеграции
Официальные интеграции выполняют две роли. Claude Code, Codex, GitHub Copilot CLI, Devin, Droid, QoderCLI и Cursor Agent CLI передают идентичность сессии для нативного восстановления, тогда как их состояние по-прежнему определяется через экранное обнаружение. Pi, Kimi Code CLI, opencode, Kilo Code CLI и Hermes сообщают как семантическое состояние, так и идентичность сессии. OMP сообщает семантическое состояние без нативного восстановления сессии. Установка интеграций:
herdr integration install pi
herdr integration install omp
herdr integration install claude
herdr integration install codex
herdr integration install copilot
herdr integration install devin
herdr integration install droid
herdr integration install kimi
herdr integration install opencode
herdr integration install kilo
herdr integration install hermes
herdr integration install qodercli
herdr integration install cursor
Подробнее о настройке — в документации по интеграциям.
Привязки клавиш
Нажмите ctrl+b, чтобы войти в режим префикса. Действия по умолчанию аналогичны tmux и требуют нажатия префикса первым:
| Клавиша | Действие |
|---|---|
|
новая вкладка |
|
следующая / предыдущая вкладка |
|
переключиться на вкладку |
|
навигация по рабочим пространствам |
|
навигатор сессий |
|
новое рабочее пространство |
|
новое рабочее дерево (worktree) |
|
переименовать рабочее пространство |
|
закрыть рабочее пространство |
|
фокус на панели |
|
переставить панель |
|
разделить панель |
|
закрыть панель |
|
переключить боковую панель |
|
развернуть панель на весь экран |
|
режим изменения размера |
|
отключиться |
Мышь поддерживается везде. В режиме изменения размера h/l регулируют ширину, j/k — высоту, esc — выход. Полный синтаксис, дополнительные действия, индексированные привязки и привязки пользовательских команд — в документации по конфигурации.
Конфигурация
Файл конфигурации: ~/.config/herdr/config.toml
herdr --default-config # вывести полную конфигурацию по умолчанию
Настройки внутри приложения включают тему, звук и параметры всплывающих уведомлений. Herdr записывает логи в директорию ~/.config/herdr/; в режиме постоянных сессий наиболее полезны файлы herdr-client.log и herdr-server.log. Полные сведения о конфигурации и логировании — в документации по конфигурации.
Документация
-
быстрый старт — первая сессия, панели, копирование и именованные сессии
-
установка — установка, обновление, Homebrew, mise и Nix
-
состояние сессии — отключение, восстановление после перезапуска, восстановление агентов и живая передача управления
-
конфигурация — привязки клавиш, темы, уведомления, переменные окружения
-
интеграции — pi, omp, claude code, codex, cursor agent cli, github copilot cli, droid, kimi code cli, opencode, kilo code cli, hermes, qodercli
-
SKILL.md— переиспользуемый навык агента -
socket api — протокол сокета и справочник CLI
Инструкции для агентов
Если вы — AI-агент, работающий с этим репозиторием, прочитайте AGENTS.md перед внесением изменений и CONTRIBUTING.md перед тем, как открывать issues или PR.
Разработка
git clone https://github.com/ogulcancelik/herdr
cd herdr
cargo build --release
./target/release/herdr
just test # юнит-тесты
just check # форматирование, тесты и проверки обслуживания
Лицензия
Herdr распространяется на условиях двойной лицензии:
-
Открытый исходный код: GNU Affero General Public License v3.0 или более поздняя версия (AGPL-3.0-or-later).
-
Коммерческая: коммерческие лицензии доступны для организаций, которые не могут соблюдать условия AGPL.
Контакт: hey@herdr.dev