<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cli on dedinit()</title><link>https://dedinit.ru/tags/cli/</link><description>Recent content in Cli on dedinit()</description><generator>Hugo -- 0.165.0</generator><language>ru-ru</language><lastBuildDate>Sun, 13 Sep 2026 14:00:00 +0300</lastBuildDate><atom:link href="https://dedinit.ru/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>herdr — терминальный workspace-менеджер для AI-агентов</title><link>https://dedinit.ru/2026/herdr-workspace-manager-for-ai-agents/</link><pubDate>Sun, 13 Sep 2026 14:00:00 +0300</pubDate><guid>https://dedinit.ru/2026/herdr-workspace-manager-for-ai-agents/</guid><description>herdr — это «среда исполнения», в которой живут coding-агенты: один бинарь на macOS/Linux/Windows, фоновый сервер, который владеет терминалами твоих агентов. Рассказываю про идею, плагины и грабли с $HOME и Nerd Font.</description><content:encoded><![CDATA[<figure class="entry-cover"><img src="https://dedinit.ru/2026/herdr-workspace-manager-for-ai-agents/hero.svg" alt="herdr — терминальный workspace-менеджер для AI-агентов"></figure><p>herdr — это «среда исполнения», в которой живут твои coding-агенты. Один бинарь (macOS · Linux · Windows, Apache 2.0), ставится одной командой:</p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -fsSL https://herdr.dev/install.sh | sh
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="screenshot-small.jpg" alt="herdr workspace"  />
</p>
<h2 id="в-чём-идея">В чём идея</h2>
<p>herdr — не очередной терминал и не обёртка над агентами. Это фоновый сервер, который владеет терминалами твоих агентов (Claude Code, Codex, opencode, Cursor, Grok и ещё полтора десятка — 21 агент детектится из коробки). Он не заменяет агентов, он им «арендует» рабочие места.</p>
<p>Ключевое:</p>
<ul>
<li><strong>Всегда в работе.</strong> Закрыл крышку ноутбука, отвалился от сети — агенты продолжают работать. Вернулся с любой машины — всё ровно там, где ты оставил: сессия восстанавливается вместе с раскладкой.</li>
<li><strong>Не надо искать зависшего.</strong> herdr читает каждый пан и помечает агента: working / blocked / idle. Когда агент остановился и ждёт ответа — он сам это говорит. Не нужно лазить по панелям в поисках того, кто ждёт тебя.</li>
<li><strong>Всё на машинах.</strong> Добавляй серверы по SSH (<code>herdr machine add workbox</code>) — их воркспейсы и агенты сидят рядом с локальными. Переключился между машинами без отдельного клиента, отсоединился — они продолжают.</li>
<li><strong>Agent-native.</strong> CLI и socket API — одна и та же поверхность, которой агентуры управляют друг другом: сплитят паны, запускают друг друга, ждут, пока другой реально заблокирован, вместо «нажал кнопку и надеюсь».</li>
</ul>
<p>Сейчас у herdr: ~36,5k звёзд на GitHub, 767k установок, $6M seed-раунд.</p>
<h2 id="плагины--то-из-за-чего-herdr-остаётся-маленьким-и-быстрым">Плагины — то, из-за чего herdr остаётся маленьким и быстрым</h2>
<p>Ядро занимается только воркспейсами, панами, агентами и стабильным CLI/socket API. Всё остальное — плагины. Плагин — это директория с манифестом <code>herdr-plugin.toml</code> и командами, которые herdr запускает. Язык — любой: Bash, Python, JavaScript, Lua, Rust-бинарь, что угодно, что умеет твоя машина.</p>
<ul>
<li><strong>Нет SDK и нет «ограниченного набора команд».</strong> Весь CLI herdr — это и есть API плагина. Плагин зовёт herdr через <code>HERDR_BIN_PATH</code> (переносимо на Unix + Windows).</li>
<li><strong>Манифест описывает:</strong> команды сборки (при установке), startup-хуки (разово после восстановления сессии), actions (ручные команды, можно биндить на клавиши), event-хуки (реакция на <code>pane.focused</code>, <code>tab.created</code> и др.), panes (UI-панели: overlay / popup / split / tab / zoomed) и link handlers (перехват кликов по URL — например, открыть ссылку на GitHub issue в соседней панели, а не в браузере).</li>
<li><strong>Установка:</strong> <code>herdr plugin install owner/repo[/subdir]</code> — клонирует с GitHub, показывает превью, гоняет build-команды, регистрирует. Локальная разработка — <code>herdr plugin link &lt;папка&gt;</code>.</li>
<li><strong>Публикация без очередей и модерации:</strong> добавь GitHub-топик <code>herdr-plugin</code> + манифест в репозиторий — маркетплейс подхватит в течение 30 минут.</li>
</ul>
<p>Сейчас в маркетплейсе 1022 плагина из 1005 репозиториев (+1870 звёзд за неделю, 101 новый за неделю).</p>
<blockquote>
<p><strong>Безопасность:</strong> плагин — обычный код, который исполняется от твоего пользователя, без песочницы. herdr валидирует манифесты, но не ревьюит и не изолирует код. Ставь только от доверенных авторов, смотри <code>herdr-plugin.toml</code> и скрипты до установки, пинь <code>--ref</code> для конкретной ревизии.</p>
</blockquote>
<h2 id="примеры-плагинов">Примеры плагинов</h2>
<p><strong>herdr-sidebar</strong> (293★) — сайдбар в стиле VS Code для терминала. Файловый эксплорер + панель исходного контроля в одном докируемом пане. Дерево файлов с git-статусами прямо в нём (modified/added/deleted/untracked, «грязные точки» на папках), превью файлов в отдельных табах (эфимерные, double-click — закрепить), syntax-подсветка, VS Code-style диффы, AI-сообщения коммитов, быстрый переход Ctrl+P, экспериментальный встроенный редактор (e). Управление мышью и клавиатурой (m — контекстное меню). Написан на Rust (ratatui + crossterm), один самодостаточный крейт.</p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">1
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>herdr plugin install alexarthurs/herdr-sidebar/plugins/herdr-sidebar
</span></span></code></pre></td></tr></table>
</div>
</div><ul>
<li><a href="https://github.com/ogulcancelik/herdr-plugin-examples">agent-telegram-notify</a> — JavaScript-плагин: шлёт сообщение в Telegram, когда агент достигает заданного статуса.</li>
<li><a href="https://github.com/ogulcancelik/herdr-plugin-examples">github-link-preview</a> — Bash-плагин: открывает кликнутые ссылки на GitHub issues/PR в правой панели через gh.</li>
<li><a href="https://github.com/ogulcancelik/herdr-plugin-examples">dev-layout-bootstrap</a> — Lua-плагин: создаёт трёхпанельную dev-раскладку вокруг текущей панели.</li>
<li><a href="https://github.com/ogulcancelik/herdr-plugin-examples">rust-release-check</a> — Rust-плагин: собирается при установке, проверяет чистоту git-дерева.</li>
</ul>
<p>(все четыре — из репозитория-примера <a href="https://github.com/ogulcancelik/herdr-plugin-examples">ogulcancelik/herdr-plugin-examples</a>)</p>
<h2 id="кстати-из-практики">Кстати, из практики</h2>
<p>Забавный кейс при установке плагинов, о котором стоит знать: herdr хранит конфиг и установленные плагины в <code>$HOME/.config/herdr/</code> — то есть привязан к <code>$HOME</code>, а не к бинарю. Если поставить плагин из-под другого пользователя (или с другим HOME, как это бывает у агентов-помощников), он уйдёт в чужую конфиг-директорию, и твой обычный <code>herdr plugin list</code> покажет «No plugins installed». Лечится простой переустановкой из-под нужного пользователя. И ещё: если плагин при первом запуске предложил установить Nerd Font — его встроенная установка может упасть из-за отсутствия <code>unzip</code> в системе, тогда шрифт ставится вручную (JetBrainsMono.zip → <code>~/.local/share/fonts</code> → <code>fc-cache -f</code>).</p>
<h2 id="ссылки">Ссылки</h2>
<p><a href="https://herdr.dev">herdr</a> — главный сайт
<a href="https://github.com/herdrdev/herdr">исходники</a> — репозиторий на GitHub
<a href="https://herdr.dev/plugins">маркетплейс плагинов</a> — каталог плагинов
<a href="https://herdr.dev/docs/plugins">документация по плагинам</a> — как писать свои
<a href="https://github.com/ogulcancelik/herdr-plugin-examples">примеры плагинов</a> — репозиторий с примерами</p>
]]></content:encoded></item></channel></rss>