post: herdr — терминальный workspace-менеджер для AI-агентов
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 400" width="100%" height="auto">
|
||||||
|
<rect width="1200" height="400" fill="#0a0c10"/>
|
||||||
|
|
||||||
|
<!-- Hexagon pattern -->
|
||||||
|
<g stroke="#1a2332" stroke-width="1" fill="none" opacity="0.5">
|
||||||
|
<polygon points="100,100 130,80 160,100 160,140 130,160 100,140"/>
|
||||||
|
<polygon points="250,100 280,80 310,100 310,140 280,160 250,140"/>
|
||||||
|
<polygon points="400,100 430,80 460,100 460,140 430,160 400,140"/>
|
||||||
|
<polygon points="550,100 580,80 610,100 610,140 580,160 550,140"/>
|
||||||
|
<polygon points="700,100 730,80 760,100 760,140 730,160 700,140"/>
|
||||||
|
<polygon points="850,100 880,80 910,100 910,140 880,160 850,140"/>
|
||||||
|
<polygon points="1000,100 1030,80 1060,100 1060,140 1030,160 1000,140"/>
|
||||||
|
|
||||||
|
<polygon points="175,160 205,140 235,160 235,200 205,220 175,200"/>
|
||||||
|
<polygon points="325,160 355,140 385,160 385,200 355,220 325,200"/>
|
||||||
|
<polygon points="475,160 505,140 535,160 535,200 505,220 475,200"/>
|
||||||
|
<polygon points="625,160 655,140 685,160 685,200 655,220 625,200"/>
|
||||||
|
<polygon points="775,160 805,140 835,160 835,200 805,220 775,200"/>
|
||||||
|
<polygon points="925,160 955,140 985,160 985,200 955,220 925,200"/>
|
||||||
|
<polygon points="1075,160 1105,140 1135,160 1135,200 1105,220 1075,200"/>
|
||||||
|
</g>
|
||||||
|
|
||||||
|
<!-- Center text -->
|
||||||
|
<text x="600" y="175" font-family="monospace" font-size="36" fill="#58a6ff" text-anchor="middle" font-weight="bold">
|
||||||
|
herdr — workspace для AI-агентов
|
||||||
|
</text>
|
||||||
|
<text x="600" y="215" font-family="monospace" font-size="20" fill="#8b949e" text-anchor="middle">
|
||||||
|
terminal · plugins · agent-native · 36.5k★
|
||||||
|
</text>
|
||||||
|
|
||||||
|
<!-- Decor line -->
|
||||||
|
<line x1="200" y1="250" x2="1000" y2="250" stroke="#30363d" stroke-width="1"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
date: '2026-09-13T14:00:00+03:00'
|
||||||
|
lastmod: '2026-09-13T14:00:00+03:00'
|
||||||
|
draft: false
|
||||||
|
title: 'herdr — терминальный workspace-менеджер для AI-агентов'
|
||||||
|
slug: 'herdr-workspace-manager-for-ai-agents'
|
||||||
|
description: 'herdr — это «среда исполнения», в которой живут coding-агенты: один бинарь на macOS/Linux/Windows, фоновый сервер, который владеет терминалами твоих агентов. Рассказываю про идею, плагины и грабли с $HOME и Nerd Font.'
|
||||||
|
|
||||||
|
categories:
|
||||||
|
- 'DevOps'
|
||||||
|
- 'AI'
|
||||||
|
|
||||||
|
tags:
|
||||||
|
- 'herdr'
|
||||||
|
- 'cli'
|
||||||
|
- 'devtools'
|
||||||
|
- 'ai-agents'
|
||||||
|
- 'fediverse'
|
||||||
|
|
||||||
|
cover:
|
||||||
|
image: "hero.svg"
|
||||||
|
alt: "herdr — терминальный workspace-менеджер для AI-агентов"
|
||||||
|
---
|
||||||
|
|
||||||
|
herdr — это «среда исполнения», в которой живут твои coding-агенты. Один бинарь (macOS · Linux · Windows, Apache 2.0), ставится одной командой:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://herdr.dev/install.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## В чём идея
|
||||||
|
|
||||||
|
herdr — не очередной терминал и не обёртка над агентами. Это фоновый сервер, который владеет терминалами твоих агентов (Claude Code, Codex, opencode, Cursor, Grok и ещё полтора десятка — 21 агент детектится из коробки). Он не заменяет агентов, он им «арендует» рабочие места.
|
||||||
|
|
||||||
|
Ключевое:
|
||||||
|
|
||||||
|
- **Всегда в работе.** Закрыл крышку ноутбука, отвалился от сети — агенты продолжают работать. Вернулся с любой машины — всё ровно там, где ты оставил: сессия восстанавливается вместе с раскладкой.
|
||||||
|
- **Не надо искать зависшего.** herdr читает каждый пан и помечает агента: working / blocked / idle. Когда агент остановился и ждёт ответа — он сам это говорит. Не нужно лазить по панелям в поисках того, кто ждёт тебя.
|
||||||
|
- **Всё на машинах.** Добавляй серверы по SSH (`herdr machine add workbox`) — их воркспейсы и агенты сидят рядом с локальными. Переключился между машинами без отдельного клиента, отсоединился — они продолжают.
|
||||||
|
- **Agent-native.** CLI и socket API — одна и та же поверхность, которой агентуры управляют друг другом: сплитят паны, запускают друг друга, ждут, пока другой реально заблокирован, вместо «нажал кнопку и надеюсь».
|
||||||
|
|
||||||
|
Сейчас у herdr: ~36,5k звёзд на GitHub, 767k установок, $6M seed-раунд.
|
||||||
|
|
||||||
|
## Плагины — то, из-за чего herdr остаётся маленьким и быстрым
|
||||||
|
|
||||||
|
Ядро занимается только воркспейсами, панами, агентами и стабильным CLI/socket API. Всё остальное — плагины. Плагин — это директория с манифестом `herdr-plugin.toml` и командами, которые herdr запускает. Язык — любой: Bash, Python, JavaScript, Lua, Rust-бинарь, что угодно, что умеет твоя машина.
|
||||||
|
|
||||||
|
- **Нет SDK и нет «ограниченного набора команд».** Весь CLI herdr — это и есть API плагина. Плагин зовёт herdr через `HERDR_BIN_PATH` (переносимо на Unix + Windows).
|
||||||
|
- **Манифест описывает:** команды сборки (при установке), startup-хуки (разово после восстановления сессии), actions (ручные команды, можно биндить на клавиши), event-хуки (реакция на `pane.focused`, `tab.created` и др.), panes (UI-панели: overlay / popup / split / tab / zoomed) и link handlers (перехват кликов по URL — например, открыть ссылку на GitHub issue в соседней панели, а не в браузере).
|
||||||
|
- **Установка:** `herdr plugin install owner/repo[/subdir]` — клонирует с GitHub, показывает превью, гоняет build-команды, регистрирует. Локальная разработка — `herdr plugin link <папка>`.
|
||||||
|
- **Публикация без очередей и модерации:** добавь GitHub-топик `herdr-plugin` + манифест в репозиторий — маркетплейс подхватит в течение 30 минут.
|
||||||
|
|
||||||
|
Сейчас в маркетплейсе 1022 плагина из 1005 репозиториев (+1870 звёзд за неделю, 101 новый за неделю).
|
||||||
|
|
||||||
|
> **Безопасность:** плагин — обычный код, который исполняется от твоего пользователя, без песочницы. herdr валидирует манифесты, но не ревьюит и не изолирует код. Ставь только от доверенных авторов, смотри `herdr-plugin.toml` и скрипты до установки, пинь `--ref` для конкретной ревизии.
|
||||||
|
|
||||||
|
## Примеры плагинов
|
||||||
|
|
||||||
|
**herdr-sidebar** (293★) — сайдбар в стиле VS Code для терминала. Файловый эксплорер + панель исходного контроля в одном докируемом пане. Дерево файлов с git-статусами прямо в нём (modified/added/deleted/untracked, «грязные точки» на папках), превью файлов в отдельных табах (эфимерные, double-click — закрепить), syntax-подсветка, VS Code-style диффы, AI-сообщения коммитов, быстрый переход Ctrl+P, экспериментальный встроенный редактор (e). Управление мышью и клавиатурой (m — контекстное меню). Написан на Rust (ratatui + crossterm), один самодостаточный крейт.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
herdr plugin install alexarthurs/herdr-sidebar/plugins/herdr-sidebar
|
||||||
|
```
|
||||||
|
|
||||||
|
- [agent-telegram-notify](https://github.com/ogulcancelik/herdr-plugin-examples) — JavaScript-плагин: шлёт сообщение в Telegram, когда агент достигает заданного статуса.
|
||||||
|
- [github-link-preview](https://github.com/ogulcancelik/herdr-plugin-examples) — Bash-плагин: открывает кликнутые ссылки на GitHub issues/PR в правой панели через gh.
|
||||||
|
- [dev-layout-bootstrap](https://github.com/ogulcancelik/herdr-plugin-examples) — Lua-плагин: создаёт трёхпанельную dev-раскладку вокруг текущей панели.
|
||||||
|
- [rust-release-check](https://github.com/ogulcancelik/herdr-plugin-examples) — Rust-плагин: собирается при установке, проверяет чистоту git-дерева.
|
||||||
|
|
||||||
|
(все четыре — из репозитория-примера [ogulcancelik/herdr-plugin-examples](https://github.com/ogulcancelik/herdr-plugin-examples))
|
||||||
|
|
||||||
|
## Кстати, из практики
|
||||||
|
|
||||||
|
Забавный кейс при установке плагинов, о котором стоит знать: herdr хранит конфиг и установленные плагины в `$HOME/.config/herdr/` — то есть привязан к `$HOME`, а не к бинарю. Если поставить плагин из-под другого пользователя (или с другим HOME, как это бывает у агентов-помощников), он уйдёт в чужую конфиг-директорию, и твой обычный `herdr plugin list` покажет «No plugins installed». Лечится простой переустановкой из-под нужного пользователя. И ещё: если плагин при первом запуске предложил установить Nerd Font — его встроенная установка может упасть из-за отсутствия `unzip` в системе, тогда шрифт ставится вручную (JetBrainsMono.zip → `~/.local/share/fonts` → `fc-cache -f`).
|
||||||
|
|
||||||
|
## Ссылки
|
||||||
|
|
||||||
|
[herdr](https://herdr.dev) — главный сайт
|
||||||
|
[исходники](https://github.com/herdrdev/herdr) — репозиторий на GitHub
|
||||||
|
[маркетплейс плагинов](https://herdr.dev/plugins) — каталог плагинов
|
||||||
|
[документация по плагинам](https://herdr.dev/docs/plugins) — как писать свои
|
||||||
|
[примеры плагинов](https://github.com/ogulcancelik/herdr-plugin-examples) — репозиторий с примерами
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 290 KiB |
Reference in New Issue
Block a user