Herdr is een tool ontworpen voor het organiseren van werk met terminals en coding agents. Centraal in de applicatie staan spaces, waarin gebruikers tabbladen en panelen kunnen beheren om terminals en mod-panelen naast elkaar te plaatsen. Een belangrijk kenmerk is dat terminals blijven draaien in de core, zelfs wanneer het applicatievenster wordt gesloten.
Belangrijkste functionaliteiten:
- Agent-beheer: Een zijbalk houdt de status van coding agents bij (bijv. Working, Blocked, Done), waardoor gebruikers snel kunnen zien waar hun aandacht nodig is.
- Remote werk: Via SSH kunnen machines worden toegevoegd, waardoor terminals direct op een remote server draaien terwijl de lokale interface de structuur behoudt.
- Personalisatie: De interface is aanpasbaar via layouts en 'mods' (JavaScript-programma's), en sneltoetsen kunnen worden geconfigureerd in een
keys.json bestand.
- Installatie en Ontwikkeling: De app is beschikbaar voor Linux, macOS en Windows. Voor ontwikkelaars is het mogelijk de applicatie vanuit broncode te bouwen met Rust en Zig.
Daarnaast biedt Herdr privacy-instellingen voor telemetrie en een systeem voor automatische achtergrondupdates.
Herdr
Installatie
Linux en macOS
Voer het volgende commando uit: curl -fsSL https://releases.herdr.dev/app/install.sh | sh
- Linux: Vereist een desktopsessie en een werkende Vulkan-driver. Builds zijn beschikbaar voor x86-64 en ARM64.
- macOS: Builds zijn beschikbaar voor Apple Silicon; gebruikers van Intel Macs kunnen de software vanuit de broncode bouwen.
De installatieprogramma voegt Herdr toe aan je applicaties en plaatst het commando in ~/.local/bin. Voeg deze map toe aan je PATH als de installatieprogramma daarom vraagt. Op macOS bevindt de app zich in ~/Applications/Herdr.app. Voor een drag-and-drop-installatie op Apple Silicon kun je Herdr.dmg downloaden en Herdr naar de Applicaties-map slepen.
Windows
Voer dit uit in PowerShell op x64 Windows met geïnstalleerde curl en tar (Windows 10 1803 of nieuwer): irm https://releases.herdr.dev/app/install.ps1 | iex
Herdr verschijnt in het Startmenu. De installatieprogramma voegt %LOCALAPPDATA%\Programs\herdr-app toe aan je gebruikers-PATH. Open een nieuwe terminal om dit te activeren.
Algemene opmerkingen over installatie:
- Beide installatieprogramma's downloaden en voeren code uit. Lees indien gewenst eerst de shell-installer of PowerShell-installer.
- Ze installeren ook
herdr-core als deze ontbreekt.
- De applicatie kan helpen bij het installeren of bijwerken van een core die het momenteel niet kan gebruiken.
Je werk vinden
Een space bevat werk op één machine, meestal binnen één repository. Elke space heeft tabbladen. Je kunt een tabblad splitsen in panelen (panes) om terminals of mod-panelen naast elkaar te plaatsen.
- Een onbenoemde space volgt de map van de eerste terminal. Geef een space of tabblad een naam wanneer je een blijvend label wilt.
- Nieuwe tabbladen starten in de map van de gefocuste terminal.
Agents
De agents-zijbalk verzamelt agents uit je spaces in één lijst, inclusief workers die door een andere agent zijn gestart. Agents die een status rapporteren, worden als volgt weergegeven:
- Working: Nog bezig.
- Blocked: Wacht op jou.
- Done: Voltooid terwijl je ergens anders keek.
- Idle: Niet actief, of een voltooide agent die je al hebt bekeken.
Klik op een agent om deze te bekijken. Een worker zonder paneel opent in peek-modus, bovenop je tabblad. Maak er een tabblad van als je deze naast je andere werk wilt houden.
Terminalbeheer
- Gebruik
Ctrl-klik (of Cmd-klik op macOS) op een live terminaladres in de terminaltekst om deze in peek-modus te bekijken.
- Een adres zoals
t7 duidt op een terminal op dezelfde machine als de terminal die het toont. vps/t7 duidt op een terminal op een andere machine.
- Het venster arrangeert de terminals; de core draait ze.
- Het sluiten van het venster laat de terminals draaien; het sluiten van een paneel of tabblad beëindigt de bijbehorende terminals.
- Na een reboot of core-crash krijgen behouden panelen nieuwe shells in hun laatste mappen, niet hun oude programma's.
Werken op een andere machine
Voeg een SSH-machine toe via Settings → Machines of via de Add machine-actie in de zijbalk. Je kunt een host kiezen uit je SSH-configuratie of handmatig invoeren hoe SSH de machine moet bereiken.
- Spaces op die machine voeren hun terminals daar uit, niet op jouw lokale computer.
- Elke machine bewaart zijn eigen spaces, tabbladen en splitsingen in zijn core. Verbonden schermen delen die structuur en de live terminals, maar behouden hun eigen focus en zoomniveau.
- Remote werk blijft draaien wanneer je lokale venster sluit of je laptop in slaapstand gaat, zolang de remote machine en de core actief blijven.
Personalisatie
Open het opdrachtpalet om een actie op naam te vinden, of open Settings om lettertypen, kleuren, geluiden en andere voorkeuren aan te passen.
Layouts en Mods
De ingebouwde layouts zijn: Herdr, Terminals en Herdr 98.
- Een layout bepaalt de inrichting van het venster.
- Mods zijn kleine JavaScript-programma's die panelen, menu's en dialogen tekenen.
Dupliceer een meegeleverde layout of mod voordat je de structuur of code wijzigt. Je kopieën blijven van jou; Herdr werkt de originele versies bij bij het opstarten. Sla een persoonlijke layout, mod of key-bestand op en het venster wordt opnieuw geladen. Een foutieve bewerking behoudt de laatste goede versie en rapporteert de fout.
Sneltoetsen
Ctrl+Shift+P (of Cmd+Shift+P op macOS) toont elk commando en de bijbehorende toets. Je kunt elke toets wijzigen in keys.json; raadpleeg de sectie keys in de mod-gids voor het formaat.
Updates en privacy
Geïnstalleerde releases controleren op de achtergrond op updates en downloaden een nieuwe app naast de draaiende versie. Deze neemt het over wanneer je de app afsluit en opnieuw opent, of wanneer je de update-actie kiest. Je terminals blijven in de core draaien.
- Settings → Updates toont beschikbare updates.
- What's New opent na een update; dit is ook bereikbaar via het opdrachtpalet.
- Builds vanuit broncode updaten zichzelf niet.
- Gebruiksstatistieken (telemetrie) staan standaard aan in releases. Schakel dit uit via Settings → Privacy.
- Mods zijn vertrouwde code en geen gesandboxte extensies. Lees de informatie over beveiliging en privacy voordat je mods van anderen installeert.
Voor agents
Het commando herdr-app --skill print de agent-gids voor het aansturen van het venster. De herdr-core skill verwijst agents naar deze gids. Gebruik herdr-core voor het uitvoeren en coördineren van programma's; gebruik de app om te wijzigen wat er zichtbaar is.
De volgende commando's inspecteren het openstaande venster:
herdr-app ls
herdr-app status
herdr-app commands (werkt ook zonder open venster)
Raadpleeg de command reference voor argumenten.
Bouwen vanuit broncode
Voor bugs, mod API-verzoeken en code-bijdragen, zie Contributing.
Vereisten
Kloon deze repo inclusief submodules. Gebruik Rust 1.95.0 en Zig 0.16.0 (de versies gebruikt in CI). Linux vereist de development-pakketten die in de workflow worden vermeld.
git clone --recurse-submodules https://github.com/herdrdev/herdr-app.git
cd herdr-app
just build
just test
just install
(Installeer just om deze recepten te kunnen gebruiken).
De platform-installer bouwt een release en voegt de app toe aan je desktop. Op Linux wordt er gelinkt naar deze checkout, dus houd de checkout op zijn plek. Sluit Herdr en open deze opnieuw om de nieuwe build te gebruiken.
Voor documentatie-checks is Bun nodig:
just docs-check controleert gegenereerde pagina's en CLI-voorbeelden.
just docs-generate ververst de referentiepagina's.
Benchmarking
Om tekenwijzigingen te vergelijken op Windows, Linux of macOS, voer dan dezelfde vaste workloads uit tegen elke build: python scripts/bench.py --bin <app executable> --set spinners --seconds 20
De runner vereist hc op de PATH en gebruikt het Python-executable dat het script uitvoert. Het print een unieke artifact-map met run-instellingen, tellers en resultaten, waarna het zijn private app, terminals en core stopt. Beide sets maken gebruik van Python-fixture-programma's; de TUI-workload van de standaardset vervangt historische btop-metingen. De optie --only spinners meet alleen het scenario met de stille native spinner.
Houd het venster zichtbaar en het scherm actief, en vergelijk dezelfde vensteractiviteit en display-instellingen; inactieve vensters kunnen op een lagere frequentie tekenen. Windows registreert zichtbaarheid, voorgrondactiviteit en display Hz bij elke meetgrens; op andere platforms zijn deze waarnemingen niet beschikbaar. Zichtbaarheid stelt geen occlusie vast. Draws zijn window render calls. De verstreken tijd van render-to-paint stopt vóór scène-finalisatie, backend-tekenen, uploads en presentatie; dit is gescheiden van OS-proces CPU-tijd. Geen van beide meet fysieke presentatie of de afgeleide MAX FPS van de FPS HUD.
python scripts/benchcompare.py ghostty --root <artifact folder> hergebruikt een fake agent van een run voor de macOS-vergelijking. Benchmark-checks: python -m unittest discover -s scripts -p testbench.py.
Herdr
Installatie
Linux en macOS
Voer het volgende commando uit: curl -fsSL https://releases.herdr.dev/app/install.sh | sh
- Linux: Vereist een desktopsessie en een werkende Vulkan-driver. Builds zijn beschikbaar voor x86-64 en ARM64.
- macOS: Builds zijn beschikbaar voor Apple Silicon; gebruikers van Intel Macs kunnen de software vanuit de broncode bouwen.
De installatieprogramma voegt Herdr toe aan je applicaties en plaatst het commando in ~/.local/bin. Voeg deze map toe aan je PATH als de installatieprogramma daarom vraagt. Op macOS bevindt de app zich in ~/Applications/Herdr.app. Voor een drag-and-drop-installatie op Apple Silicon kun je Herdr.dmg downloaden en Herdr naar de Applicaties-map slepen.
Windows
Voer dit uit in PowerShell op x64 Windows met geïnstalleerde curl en tar (Windows 10 1803 of nieuwer): irm https://releases.herdr.dev/app/install.ps1 | iex
Herdr verschijnt in het Startmenu. De installatieprogramma voegt %LOCALAPPDATA%\Programs\herdr-app toe aan je gebruikers-PATH. Open een nieuwe terminal om dit te activeren.
Algemene opmerkingen over installatie:
- Beide installatieprogramma's downloaden en voeren code uit. Lees indien gewenst eerst de shell-installer of PowerShell-installer.
- Ze installeren ook
herdr-core als deze ontbreekt.
- De applicatie kan helpen bij het installeren of bijwerken van een core die het momenteel niet kan gebruiken.
Je werk vinden
Een space bevat werk op één machine, meestal binnen één repository. Elke space heeft tabbladen. Je kunt een tabblad splitsen in panelen (panes) om terminals of mod-panelen naast elkaar te plaatsen.
- Een onbenoemde space volgt de map van de eerste terminal. Geef een space of tabblad een naam wanneer je een blijvend label wilt.
- Nieuwe tabbladen starten in de map van de gefocuste terminal.
Agents
De agents-zijbalk verzamelt agents uit je spaces in één lijst, inclusief workers die door een andere agent zijn gestart. Agents die een status rapporteren, worden als volgt weergegeven:
- Working: Nog bezig.
- Blocked: Wacht op jou.
- Done: Voltooid terwijl je ergens anders keek.
- Idle: Niet actief, of een voltooide agent die je al hebt bekeken.
Klik op een agent om deze te bekijken. Een worker zonder paneel opent in peek-modus, bovenop je tabblad. Maak er een tabblad van als je deze naast je andere werk wilt houden.
Terminalbeheer
- Gebruik
Ctrl-klik (of Cmd-klik op macOS) op een live terminaladres in de terminaltekst om deze in peek-modus te bekijken.
- Een adres zoals
t7 duidt op een terminal op dezelfde machine als de terminal die het toont. vps/t7 duidt op een terminal op een andere machine.
- Het venster arrangeert de terminals; de core draait ze.
- Het sluiten van het venster laat de terminals draaien; het sluiten van een paneel of tabblad beëindigt de bijbehorende terminals.
- Na een reboot of core-crash krijgen behouden panelen nieuwe shells in hun laatste mappen, niet hun oude programma's.
Werken op een andere machine
Voeg een SSH-machine toe via Settings → Machines of via de Add machine-actie in de zijbalk. Je kunt een host kiezen uit je SSH-configuratie of handmatig invoeren hoe SSH de machine moet bereiken.
- Spaces op die machine voeren hun terminals daar uit, niet op jouw lokale computer.
- Elke machine bewaart zijn eigen spaces, tabbladen en splitsingen in zijn core. Verbonden schermen delen die structuur en de live terminals, maar behouden hun eigen focus en zoomniveau.
- Remote werk blijft draaien wanneer je lokale venster sluit of je laptop in slaapstand gaat, zolang de remote machine en de core actief blijven.
Personalisatie
Open het opdrachtpalet om een actie op naam te vinden, of open Settings om lettertypen, kleuren, geluiden en andere voorkeuren aan te passen.
Layouts en Mods
De ingebouwde layouts zijn: Herdr, Terminals en Herdr 98.
- Een layout bepaalt de inrichting van het venster.
- Mods zijn kleine JavaScript-programma's die panelen, menu's en dialogen tekenen.
Dupliceer een meegeleverde layout of mod voordat je de structuur of code wijzigt. Je kopieën blijven van jou; Herdr werkt de originele versies bij bij het opstarten. Sla een persoonlijke layout, mod of key-bestand op en het venster wordt opnieuw geladen. Een foutieve bewerking behoudt de laatste goede versie en rapporteert de fout.
Sneltoetsen
Ctrl+Shift+P (of Cmd+Shift+P op macOS) toont elk commando en de bijbehorende toets. Je kunt elke toets wijzigen in keys.json; raadpleeg de sectie keys in de mod-gids voor het formaat.
Updates en privacy
Geïnstalleerde releases controleren op de achtergrond op updates en downloaden een nieuwe app naast de draaiende versie. Deze neemt het over wanneer je de app afsluit en opnieuw opent, of wanneer je de update-actie kiest. Je terminals blijven in de core draaien.
- Settings → Updates toont beschikbare updates.
- What's New opent na een update; dit is ook bereikbaar via het opdrachtpalet.
- Builds vanuit broncode updaten zichzelf niet.
- Gebruiksstatistieken (telemetrie) staan standaard aan in releases. Schakel dit uit via Settings → Privacy.
- Mods zijn vertrouwde code en geen gesandboxte extensies. Lees de informatie over beveiliging en privacy voordat je mods van anderen installeert.
Voor agents
Het commando herdr-app --skill print de agent-gids voor het aansturen van het venster. De herdr-core skill verwijst agents naar deze gids. Gebruik herdr-core voor het uitvoeren en coördineren van programma's; gebruik de app om te wijzigen wat er zichtbaar is.
De volgende commando's inspecteren het openstaande venster:
herdr-app ls
herdr-app status
herdr-app commands (werkt ook zonder open venster)
Raadpleeg de command reference voor argumenten.
Bouwen vanuit broncode
Voor bugs, mod API-verzoeken en code-bijdragen, zie Contributing.
Vereisten
Kloon deze repo inclusief submodules. Gebruik Rust 1.95.0 en Zig 0.16.0 (de versies gebruikt in CI). Linux vereist de development-pakketten die in de workflow worden vermeld.
git clone --recurse-submodules https://github.com/herdrdev/herdr-app.git
cd herdr-app
just build
just test
just install
(Installeer just om deze recepten te kunnen gebruiken).
De platform-installer bouwt een release en voegt de app toe aan je desktop. Op Linux wordt er gelinkt naar deze checkout, dus houd de checkout op zijn plek. Sluit Herdr en open deze opnieuw om de nieuwe build te gebruiken.
Voor documentatie-checks is Bun nodig:
just docs-check controleert gegenereerde pagina's en CLI-voorbeelden.
just docs-generate ververst de referentiepagina's.
Benchmarking
Om tekenwijzigingen te vergelijken op Windows, Linux of macOS, voer dan dezelfde vaste workloads uit tegen elke build: python scripts/bench.py --bin <app executable> --set spinners --seconds 20
De runner vereist hc op de PATH en gebruikt het Python-executable dat het script uitvoert. Het print een unieke artifact-map met run-instellingen, tellers en resultaten, waarna het zijn private app, terminals en core stopt. Beide sets maken gebruik van Python-fixture-programma's; de TUI-workload van de standaardset vervangt historische btop-metingen. De optie --only spinners meet alleen het scenario met de stille native spinner.
Houd het venster zichtbaar en het scherm actief, en vergelijk dezelfde vensteractiviteit en display-instellingen; inactieve vensters kunnen op een lagere frequentie tekenen. Windows registreert zichtbaarheid, voorgrondactiviteit en display Hz bij elke meetgrens; op andere platforms zijn deze waarnemingen niet beschikbaar. Zichtbaarheid stelt geen occlusie vast. Draws zijn window render calls. De verstreken tijd van render-to-paint stopt vóór scène-finalisatie, backend-tekenen, uploads en presentatie; dit is gescheiden van OS-proces CPU-tijd. Geen van beide meet fysieke presentatie of de afgeleide MAX FPS van de FPS HUD.
python scripts/benchcompare.py ghostty --root <artifact folder> hergebruikt een fake agent van een run voor de macOS-vergelijking. Benchmark-checks: python -m unittest discover -s scripts -p testbench.py.