Herdr

Terminal multiplexer nativo para a era dos agentes de IA, escrito em Rust com a biblioteca Ratatui. Roda dentro do terminal que você já usa (WezTerm, iTerm2, Kitty, etc.) sem substituí-lo. Adota o modelo de sessões, abas e painéis do tmux e estende com consciência de estado dos agentes: processos rodando nos painéis são identificados como agentes e seu status (working, idle, blocked) é exibido em tempo real em uma sidebar.


Por que não usar tmux?

O tmux trata todos os processos de forma igual: se um Claude Code ou Codex está rodando num painel, o tmux só vê um stream de texto sem nenhuma compreensão do estado do processo. O Herdr identifica esses agentes e exibe o estado deles, permitindo saber de relance quais agentes estão trabalhando, quais estão ociosos e quais estão bloqueados aguardando input — sem precisar alternar entre painéis para verificar.

Terminais AI-nativos como Warp e Cmux substituem o terminal por completo, exigindo adoção de novos atalhos e configuração. O Herdr preserva fontes, esquemas de cores, configuração de shell e memória muscular existentes.


Instalação

macOS (Homebrew)

brew install herdr

Linux / macOS (script)

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

NixOS (flake)

nix run github:ogulcantuna/herdr

Iniciar:

herdr

Interface

A interface tem quatro áreas:

ÁreaLocalizaçãoFunção
Spaces sidebaresquerdaworkspaces por projeto
Agents listinferior esquerdoagentes detectados com status
Main panecentro/direitapainéis de terminal
Navigatorinferioratalhos de teclado

Tecla prefixo padrão: Ctrl+b (igual ao tmux).

Principais atalhos:

  • Ctrl+b + Shift+n → novo workspace
  • Ctrl+b + ? → referência completa de atalhos
  • Ctrl+b + s → menu de settings
  • Ctrl+b + Shift+r → recarregar configuração

Mouse disponível para redimensionar painéis, focar e context menus.


Rastreamento de estado dos agentes

Quando agentes são iniciados em painéis do Herdr, eles aparecem na sidebar com status em tempo real:

  • blocked — aguardando input do usuário (ex: prompt de permissão na primeira execução)
  • idle — pronto para receber um novo prompt
  • working — processando uma tarefa

Enviar um prompt a um agente atualiza imediatamente o status na sidebar, confirmando que a tarefa foi recebida. Isso elimina a necessidade de alternar entre painéis para checar o progresso de múltiplos agentes simultâneos.


Orquestração via CLI do Herdr

A CLI do Herdr fica disponível enquanto a TUI está rodando. Agentes e processos externos podem executar comandos herdr para criar painéis, rodar processos e ler output programaticamente:

herdr pane split-right   # cria painel à direita
herdr agent read         # lê output do agente atual
herdr pane close         # fecha painel

Exemplo prático: dar ao agente a tarefa de fazer uma auditoria de segurança. O agente pode usar a CLI do Herdr para criar dois painéis, rodar um scanner de secrets em um e um checker de dependências no outro, aguardar os dois concluírem, ler os outputs, produzir um relatório de resumo e fechar os painéis temporários — tudo a partir de um único prompt inicial.


Desenvolvimento remoto via SSH

Herdr usa arquitetura cliente-servidor:

  • Servidor: gerencia sessões, workspaces e painéis
  • Cliente: processo thin na janela do terminal que captura input e renderiza output
  • Comunicação local: via Unix socket

O flag --remote inicia o servidor em uma máquina remota com o cliente rodando localmente, encaminhando a comunicação pelo tunnel SSH:

herdr --remote ssh://user@seu-servidor-remoto

O servidor roda na máquina remota (com acesso a arquivos e compute remotos). O cliente roda localmente e lê ~/.config/herdr/config.toml. Todos os atalhos, temas e configurações locais se aplicam à sessão remota — a experiência é idêntica independentemente de onde o compute está.


Configuração

Arquivo: ~/.config/herdr/config.toml

# Trocar tecla prefixo
[keys]
prefix = "ctrl+space"
 
# Tema (Catppuccin, Gruvbox, Nord, Dracula)
[theme]
name = "catppuccin"

Comparação com ferramentas similares

FerramentaTipoParalelismoEstado de agentesSubstitui terminal
tmuxMultiplexer clássico
WarpTerminal AI-nativoparcial
Superset IDEOrquestrador de agentes✅ 10+
HerdrMultiplexer AI-aware✅ tempo real

Referências