Sobre o projeto

Agent Desktop é uma ferramenta baseada em Rust que oferece a agentes de IA capacidades confiáveis de uso de computador no desktop. Em vez de interpretar capturas de tela ou adivinhar a partir de pixels, ela lê a estrutura real da interface de cada aplicação por meio da árvore de acessibilidade do sistema operacional e age sobre elementos por meio de referências estáveis e qualificadas. **Abordagem central.** O loop do agente é: snapshot → decidir → agir → novo snapshot. Um snapshot retorna uma árvore de acessibilidade com elementos interativos marcados por refs qualificadas (por exemplo, `@s8f3k2p9:e3`). As ações têm como alvo essas refs diretamente por meio de APIs de acessibilidade, de modo que permanecem seguras para repetição e não roubam foco silenciosamente, não movem o cursor nem tocam a área de transferência. Para aplicações densas como Slack ou VS Code, um modo de travessia progressiva de esqueleto fornece primeiro uma visão geral superficial e, em seguida, aprofundamentos direcionados, reduzindo significativamente o uso de tokens. **Comandos.** A CLI expõe 54 comandos operacionais em observação (snapshot, screenshot, find, get, is), interação (click, type, set-value, toggle, scroll, select), teclado, mouse, gerenciamento de app/janela, notificações (macOS), área de transferência, condições de espera e execução em lote. Um sistema de sessão oferece suporte a rastreamento, namespaces compartilhados para fluxos de trabalho multiagente e uma sobreposição opcional de cursor de apresentação. **Interoperabilidade com Chromium.** `launch --cdp` abre um endpoint verificado do Chrome DevTools Protocol em aplicações baseadas em Chromium, permitindo que frameworks que falam CDP (Playwright, Puppeteer, agent-browser) controlem conteúdos web enquanto menus e diálogos nativos permanecem no caminho de acessibilidade. **Bindings e implantação.** É distribuído como uma CLI de binário único (instalável via npm ou compilada a partir do código-fonte) e como uma cdylib C-ABI pré-compilada para chamadas em processo a partir de Python, Swift, Go, Ruby, Node e C. Requer Rust 1.89+ e macOS 13.0+; builds FFI para Linux e Windows são fornecidos, mas o adaptador de acessibilidade é focado em macOS. Licenciado sob Apache-2.0.