Transcript
00:00:00o Herder, um multiplexador de agentes que roda dentro do terminal que você já usa, para que você possa rodar um monte de
00:00:05agentes de codificação lado a lado em diferentes painéis ou abas e realmente ver qual deles está funcionando, qual
00:00:10deles está bloqueado ou qual deles terminou, completo com notificações de sistema em um único binário Rust, o que
00:00:15significa sem Electron ou aplicativos separados. Ele até tem uma maneira inteligente de funcionar via SSH, mas com uma ferramenta
00:00:20como o tmux ganhando popularidade, por que você se daria ao trabalho de usar o Herder? Clique em inscrever-se e vamos descobrir.
00:00:28O Herder foi construído por um desenvolvedor chamado Ogle Can Celix, que eu presumo que tenha removido o 'e' da palavra
00:00:34Herder porque ele é fã do início dos anos 2000. Eu não sei, mas presumo que o Herder seja uma ferramenta que
00:00:39você pode usar para pastorear (herd) múltiplos agentes, como um pastor de ovelhas, o que é um problema para, bem, digamos, a maioria
00:00:45dos desenvolvedores que estão usando IA para programar, porque é difícil manter
00:00:49o controle do que cada um está fazendo. O Herder se inspira muito no tmux, que é um multiplexador
00:00:54de terminal com abas, painéis divididos e sessões persistentes mesmo após você desconectar, mas o tmux foi
00:01:00construído há décadas, muito antes de agentes de IA existirem. Então, se você acabar rodando um agente dentro de um
00:01:06dos seus painéis, ele não faz ideia de que o agente existe ou qual é o seu status. É por isso que ferramentas como Warp ou cmux existem,
00:01:12que te tiram do seu próprio terminal e te levam para os deles, então você tem que aprender o fluxo de trabalho de outra pessoa,
00:01:18que é o motivo pelo qual Ogle Can Celix construiu o Herder para fazer os dois ao mesmo tempo: a persistência do tmux com consciência de agentes
00:01:24embutida. E como o Herder é apenas um binário Rust construído com Ratatui, a coisa toda é apenas
00:01:29renderizar texto no seu terminal, então pode rodar em qualquer lugar que seu terminal pode, incluindo via SSH. Há
00:01:35também uma API de socket, o que significa que os agentes podem controlar o próprio Herder, o que é muito impressionante de ver.
00:01:40Na verdade, vamos fazer uma demonstração rápida. Então, depois de instalar o Herder usando brew ou curl ou até um
00:01:46nix flake - fico muito feliz que eles adicionaram essa opção - você pode simplesmente rodar o comando 'herder', que vai te dar
00:01:50esta visualização mostrando o terminal, alguns espaços de trabalho e alguns agentes. Agora, eu dei um zoom um pouquinho, então há
00:01:56algumas coisas que vocês não conseguirão ver, como a extensão total dos comandos, mas tentarei fazer o meu
00:02:00melhor para mostrar o Herder. Então aqui você pode ver que não há espaços de trabalho e, por padrão, o prefixo
00:02:05é Ctrl+b, o que é similar ao tmux, mas mostrarei como mudar isso mais tarde. Agora, o prefixo já
00:02:10foi ativado, o que posso ver por esta navegação aqui embaixo. Então, tudo o que preciso fazer é pressionar
00:02:14Shift+n para criar um novo espaço de trabalho. Agora, é claro, você pode navegar inteiramente usando seu teclado,
00:02:19então posso pressionar o prefixo e a interrogação para ver todos os atalhos de teclado, mas você também pode
00:02:23usar seu mouse. Então posso criar uma nova aba chamada 'dois', posso clicar com o botão direito para fechar a aba, renomear meu
00:02:28espaço de trabalho para 'test', criar um novo espaço de trabalho, acessar essas configurações no menu e assim por diante. Eu posso até
00:02:34criar divisões horizontais e verticais, assim como renomear o painel específico e navegar entre
00:02:38painéis, tudo usando o mouse. Mas o verdadeiro ponto forte do Herder é como ele interage com os agentes.
00:02:43Então, no momento, isso está usando bash, mas eu gosto de usar fish, então vou mudar ambos os terminais
00:02:46e então vou abrir 'claude code' no painel de cima e codex no de baixo. Mas, já podemos ver
00:02:51que o Herder detectou automaticamente os agentes e deu a eles status: Claude está bloqueado
00:02:55e Codex está ocioso. Vamos abordar ambos dando a eles acesso a esses diretórios, e é claro que posso
00:03:00dar a ambos prompts como 'qual modelo estou usando?', e podemos ver que o Herder atualiza imediatamente para
00:03:05nos dizer que Claude está trabalhando, o que também funciona com o CLI do Codex. Agora, percebi também que estou no
00:03:09espaço de trabalho errado, então vamos excluir este e renomear este para 'test'. Mas com o Herder, os agentes também
00:03:15podem criar espaços de trabalho, abas e divisões também. Vamos ver como isso funciona. Então, vou sair do Herder
00:03:20pressionando o prefixo e depois 'q', e então você pode ver aqui todas as opções que o CLI do Herder nos dá.
00:03:24Então, o que vou fazer é voltar para o Herder, e este é um ponto de venda: ele volta para
00:03:29o exato espaço de trabalho e os exatos agentes que eu tinha aberto, com as mesmas sessões. Mas vou criar
00:03:34um novo espaço de trabalho, vou entrar em um diretório e então vou abrir 'claude code'. E agora
00:03:38vou dar um prompt para usar o CLI do Herder para abrir dois painéis com Claude Code em ambos.
00:03:44Rode um com este prompt para resumir o maior arquivo no projeto e outro com este prompt
00:03:49para procurar na base de código por qualquer chave de API ou segredo codificado. E aqui ele carregou um novo painel com
00:03:54Claude Code. Na verdade, vou diminuir o zoom para podermos ver isso melhor, e agora ele está rodando o
00:03:58outro prompt na base de código. Então podemos rolar para cima para ver que este terminou. Também podemos ver
00:04:03que ele está dando títulos apropriados, como 'Claude Segredos' e 'Discord'. E aqui ele não encontrou nenhuma chave de API codificada.
00:04:09Sim, a partir daqui podemos resumir a saída de ambos os painéis e então pedir para o Claude fechá-los. Então agora
00:04:14ele tem as informações do primeiro painel e o fechou, e está fazendo o mesmo com o segundo painel,
00:04:18que ele fechou também. E aqui embaixo ele está me dando um bom resumo. Agora, como o Herder é
00:04:23apenas um binário que você pode instalar no seu terminal, posso acessar um servidor Linux via SSH e instalar o Herder
00:04:28da mesma forma que instalei no Mac. Você pode ver que fiz isso anteriormente e ele restaurou minha sessão anterior,
00:04:32então tenho o código aberto em um painel e estou usando vim para percorrer algum código em outro
00:04:36painel. Mas o problema com isso é que não transporta minhas configurações do Herder que tenho no
00:04:41meu Mac local. Para ser honesto, não tenho muitas configurações; tudo o que fiz foi mudar as teclas de
00:04:45Ctrl+b para Ctrl+Espaço e mudei o tema para 'terminal'. Mas se eu tivesse um arquivo de configuração
00:04:50altamente editado com atalhos de teclado específicos, isso poderia se tornar bem irritante. Então, uma maneira de contornar
00:04:55isso é usar o Herder com a flag 'remote' e acessar diretamente seu servidor via SSH, o que explicarei
00:05:01exatamente o que faz antes de eu apertar Enter. Então, o Herder funciona rodando um servidor e um cliente leve que
00:05:06se comunica usando um socket Unix. Então o cliente envia teclas para o servidor e o servidor gerencia
00:05:11abas, painéis, persistência e outras coisas. Agora, no caso do SSH, usando 'remote', o servidor roda na
00:05:18máquina remota e o cliente roda na sua máquina local. Então ele envia as teclas via socket Unix
00:05:24para o servidor, e o servidor pode mostrar aos clientes os arquivos que estão na própria máquina,
00:05:30mas o próprio cliente pode usar todas as configurações que estão na máquina local à qual está
00:05:35conectado. Então, vamos ver isso em ação. Então, voltando de onde paramos, agora se eu apertar Enter
00:05:40ele vai se conectar diretamente à minha máquina via SSH, que podemos ver que tem o código aberto e o arquivo de código
00:05:45que estamos visualizando com vim. Mas se eu pressionar Ctrl+b, não parece fazer nada porque está usando
00:05:49a configuração no meu Mac, que funciona com Ctrl+Espaço para ver o prefixo. Agora, enquanto estamos aqui, vamos
00:05:54dar uma olhada no que mais podemos fazer no menu. Podemos ver os atalhos de teclado, que mostrei anteriormente, mas
00:05:59também podemos mudar o tema, e o Herder te dá muitos temas para escolher, de Nord a Gruvbox e até
00:06:04Catppuccin. E há também uma opção para disparar alertas sonoros e um menu toast, que você pode mudar
00:06:10via terminal ou via sistema. Agora, como de costume, há tantas outras funcionalidades do Herder que
00:06:15eu não tive tempo de abordar, como integrações de worktree, integrações oficiais de agentes, algumas
00:06:19das quais você viu na demo, que dão ao seu agente acesso a habilidades oficiais do Herder e permitem que você retome
00:06:24as exatas sessões que você tinha antes de fechar o Herder. Honestamente, o fato de isso funcionar no seu terminal
00:06:29existente, para mim, é o principal ponto de venda, porque por mais que eu ame usar cmux, eu amo usar o WezTerm muito
00:06:35mais. Eu configurei exatamente da maneira que gosto de usar, e o fato de que se eu quiser gerenciar meus
00:06:39agentes, tudo o que tenho que fazer é abrir uma nova aba de terminal dentro do WezTerm e simplesmente rodar 'herder'. Sim, você
00:06:45perde o navegador da web do cmux, mas, para ser honesto, eu não o usava muito de qualquer maneira. E para aqueles
00:06:50de vocês assistindo agora que usam Windows, eu tenho algumas notícias realmente ruins para vocês, por causa de toda a coisa de
00:06:54socket Unix e o fato de que o Herder usa um PTY de terminal, não há suporte excelente para Windows
00:06:59no momento da gravação. Mas se você está usando Windows, acho que é hora de morder a bala e apenas
00:07:04usar Linux em dual boot. Sim, o WSL existe, mas não é exatamente a mesma coisa, certo?
Community Posts
No posts yet. Be the first to write about this video!
Write about this video