- agent-shell é um shell nativo baseado em comint-mode que permite controlar agentes de IA diretamente no Emacs
- Usa o ACP (Agent Client Protocol), o que traz flexibilidade para se comunicar com vários agentes sem depender de um agente específico
- Recursos de análise de tráfego em tempo real e replay de agentes falsos (fake) aumentam a eficiência de testes e desenvolvimento
- Ainda não implementa todas as funcionalidades do protocolo, mas já mostra uma implementação que pode ser usada na prática com rapidez
- Tanto o agent-shell quanto o acp.el estão disponíveis publicamente no GitHub, e feedback dos usuários sobre recursos adicionais ou bugs é bem-vindo
Introdução
- Recentemente, passou a ser possível integrar com o Agent Client Protocol (ACP), desenvolvido em conjunto pela Zed e pelo Google, por meio do acp.el implementado em Emacs Lisp
- Antes, havia apenas integração básica com LLMs, como no chatgpt-shell, e o uso mais completo de agentes de IA ainda avançava lentamente
- Com a adoção do ACP, a demanda por integração com agentes dentro do ambiente Emacs cresceu, levando ao início do desenvolvimento do agent-shell nativo para Emacs
Visão geral do agent-shell
- O
agent-shell é baseado em comint-mode e funciona dentro do já familiar sistema de buffers do Emacs
- Ele oferece um ambiente que pode ser usado como um shell normal do Emacs, sem necessidade de alternar entre modos de caractere e de linha
Agent-agnostic (independente de agente)
- Graças ao ACP, é possível implementar uma experiência de usuário consistente para se comunicar com vários agentes usando um único protocolo
- Pelos exemplos de configuração, é possível aplicar vários agentes, como Gemini CLI e Claude Code, com apenas pequenas mudanças no código
- Exemplo de código: explicação de como configurar autenticação, comandos e variáveis de ambiente para cada agente
- Outros agentes também podem ser integrados facilmente da mesma forma
Recurso de visualização de tráfego
- Como ainda não havia familiaridade com o uso do protocolo ACP, surgiu a necessidade de analisar o tráfego de comunicação em tempo real
- O agent-shell oferece um buffer visualizador de tráfego separado, permitindo verificar visualmente o tráfego baseado em JSON com o comando
M-x agent-shell-view-traffic
Fake agents (agentes falsos e replay)
- Como desenvolver com agentes pagos reais traz problemas de custo e ineficiência de tempo, foi introduzido o recurso de replay de agentes falsos
- Ao reproduzir (replay) os dados de comunicação salvos pelo buffer de tráfego, torna-se possível realizar testes rápidos várias vezes
- Embora existam algumas restrições e limitações, o processo de depuração e desenvolvimento se torna muito mais eficiente
Planos futuros e estado atual
- Apenas parte do Schema do Agent Client Protocol foi implementada, então ainda restam partes incompletas
- Estão em andamento experimentos de UX inovadores, como buffers rápidos de diff com teclas n/p e permission dialog
- Está prevista a compreensão completa das funcionalidades do protocolo e a implementação dos recursos adicionais
Publicação no GitHub e orientações de uso
- Tanto o agent-shell quanto o acp.el estão disponíveis publicamente no GitHub
- agent-shell: pacote para usuários de agentes
- acp.el: biblioteca para desenvolvedores que querem criar pacotes de integração relacionados a agentes
- Ambos os projetos ainda estão em estágio muito inicial (beta), e recomenda-se enviar bugs e pedidos de funcionalidades
- O uso de serviços de LLM em nuvem gera custos adicionais, e o próprio desenvolvimento open source também exige custo e esforço
- Se o projeto for útil, a participação com apoio (patrocínio) é incentivada
1 comentários
Comentários do Hacker News
comint-mode, isso era bem incômodo. Quero muito experimentar o agent-shell. Tenho uma pergunta: a especificação do ACP também cobre recursos relacionados a “IDE” (por exemplo, posição do cursor, integração com diff como no Claude code ide), ou ela foca só em funcionalidades bem básicas?