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.
- Site: https://herdr.dev
- Repositório: https://github.com/ogulcancelik/herdr
- Linguagem: Rust + Ratatui (TUI)
- Licença: AGPL-3.0 (open source) + licença comercial disponível
- Telemetria: zero — nenhum dado sai da máquina
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 herdrLinux / macOS (script)
curl -fsSL https://herdr.dev/install.sh | shNixOS (flake)
nix run github:ogulcantuna/herdrIniciar:
herdrInterface
A interface tem quatro áreas:
| Área | Localização | Função |
|---|---|---|
| Spaces sidebar | esquerda | workspaces por projeto |
| Agents list | inferior esquerdo | agentes detectados com status |
| Main pane | centro/direita | painéis de terminal |
| Navigator | inferior | atalhos de teclado |
Tecla prefixo padrão: Ctrl+b (igual ao tmux).
Principais atalhos:
Ctrl+b+Shift+n→ novo workspaceCtrl+b+?→ referência completa de atalhosCtrl+b+s→ menu de settingsCtrl+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 promptworking— 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 painelExemplo 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-remotoO 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
| Ferramenta | Tipo | Paralelismo | Estado de agentes | Substitui terminal |
|---|---|---|---|---|
| tmux | Multiplexer clássico | ✅ | ❌ | ❌ |
| Warp | Terminal AI-nativo | ✅ | parcial | ✅ |
| Superset IDE | Orquestrador de agentes | ✅ 10+ | ✅ | ❌ |
| Herdr | Multiplexer AI-aware | ✅ | ✅ tempo real | ❌ |