# Ferramentas e Capacidades ## Visao Geral Ferramentas sao as acoes que seus agentes podem realizar durante conversas. Quando um agente precisa navegar na web, executar um comando, ler um arquivo ou controlar um dispositivo, ele usa ferramentas. Neotask fornece um rico conjunto de ferramentas integradas cobrindo gestao de arquivos, execucao de codigo, automacao de navegador, controle de dispositivos, mensagens, busca web e mais. ## Operacoes de Arquivo Agentes podem ler, escrever e editar arquivos em seu workspace: - **Read** -- Ler conteudo de arquivos - **Write** -- Criar ou sobrescrever arquivos - **Edit** -- Fazer edicoes direcionadas em partes especificas de um arquivo - **Apply Patch** -- Aplicar diffs unificados multi-hunk para modificacoes complexas de arquivo ## Execucao de Codigo Agentes podem executar comandos shell com isolamento configuravel: - **Execucao no Gateway** -- Execute comandos diretamente na maquina que hospeda o Gateway - **Execucao em sandbox** -- Execute comandos em containers Docker isolados com limites de recursos - **Execucao em node** -- Execute comandos em dispositivos companion conectados (nodes macOS, Linux) ### Recursos de Execucao - Timeouts configuraveis (padrao 30 minutos) - Gestao de jobs em segundo plano (listar, consultar, encerrar, limpar) - Auto-background para comandos de longa execucao - Suporte TTY para programas interativos - Modo elevado para operacoes privilegiadas (apenas host do gateway) ### Workflows de Aprovacao Comandos sensiveis podem requerer aprovacao do usuario antes da execucao: - **Lista de permissao** -- Apenas comandos pre-aprovados executam - **Perguntar** -- Comandos desconhecidos solicitam aprovacao - **Completo** -- Sem restricoes ## Automacao de Navegador Agentes controlam um navegador completo baseado em Chromium (Chrome, Brave ou Edge): ### Acoes - **Navegar** -- Abrir URLs e navegar entre paginas - **Interagir** -- Clicar, digitar, passar o mouse, arrastar, selecionar, preencher formularios - **Capturar** -- Tirar screenshots, exportar PDFs - **Inspecionar** -- Snapshot do DOM ou arvore de acessibilidade - **Executar** -- Executar JavaScript no contexto da pagina - **Upload** -- Fazer upload de arquivos em formularios web - **Gerenciar** -- Lidar com dialogos (alertas, confirmacoes), ler saida do console ### Perfis de Navegador Multiplos perfis de navegador isolados para separar contas: - Cada perfil tem seus proprios cookies, armazenamento e historico - Portas CDP auto-atribuidas para controle programatico - Suporte a navegador remoto (conecte a navegadores em outras maquinas) ## Canvas e A2UI O sistema Agent-to-UI (A2UI) permite que agentes renderizem conteudo visual interativo em dispositivos conectados: - **Apresentar** -- Exibir paginas web ou conteudo personalizado no canvas de um dispositivo - **Navegar** -- Controlar o que e mostrado na janela do canvas - **Avaliar** -- Executar JavaScript no contexto do canvas - **Snapshot** -- Capturar o que esta sendo exibido atualmente - **A2UI Push** -- Enviar atualizacoes de UI estruturadas (payloads JSONL) para o canvas - **A2UI Reset** -- Limpar o estado do canvas Renderizacao de canvas esta disponivel no macOS (WebKit), iOS (SwiftUI), Android (Jetpack Compose) e web (WebChat). ## Capacidades de Dispositivos via Node Atraves de apps companion conectados, agentes podem: ### Camera - **Snap** -- Tirar fotos (camera frontal ou traseira) - **Clip** -- Gravar videoclipes com duracao e FPS configuraveis ### Tela - **Gravar** -- Capturar gravacoes de tela com duracao e qualidade configuraveis ### Localizacao - **Obter** -- Recuperar coordenadas GPS com selecao de precisao ### Notificacoes - **Notificar** -- Enviar notificacoes nativas do SO com titulo, corpo e prioridade ### Comandos de Sistema - **Executar** -- Executar comandos shell no dispositivo node - **Which** -- Verificar se um comando esta disponivel no node ## Mensagens Agentes podem enviar e gerenciar mensagens em canais conectados: - **Enviar** -- Enviar mensagens para qualquer canal/destinatario conectado - **Editar** -- Editar mensagens enviadas anteriormente - **Reagir** -- Adicionar reacoes a mensagens - **Thread** -- Criar threads e responder dentro delas - **Enquete** -- Criar enquetes em plataformas suportadas - **Voz** -- Verificar status de canal de voz (Discord) ## Web - **Buscar** -- Busca web via Brave Search API - **Fetch** -- Recuperar paginas web e converter HTML para markdown/texto ## Memoria e Contexto - **Busca de Memoria** -- Busca por similaridade vetorial sobre arquivos de memoria do agente - **Obter Memoria** -- Recuperar arquivos de memoria especificos por nome ## Gestao de Sessao - **Listar Sessoes** -- Visualizar sessoes ativas entre agentes - **Historico de Sessao** -- Buscar transcricao de qualquer sessao - **Enviar para Sessao** -- Enviar mensagens para sessoes de outros agentes - **Criar Sub-Agente** -- Iniciar execucoes isoladas de sub-agentes - **Listar Agentes** -- Visualizar agentes disponiveis ## Automacao - **Cron** -- Criar, editar, executar e gerenciar jobs agendados - **Gateway** -- Reiniciar gateway, aplicar mudancas de configuracao, executar atualizacoes ## Analise de Imagem Agentes podem analisar imagens usando modelos de visao configurados -- descrever conteudo, extrair texto, identificar objetos e responder perguntas sobre conteudo visual. ## Grupos de Ferramentas Ferramentas sao organizadas em grupos para facil gestao de permissoes: | Grupo | Ferramentas | |-------|-------------| | **runtime** | exec, bash, process | | **fs** | read, write, edit, apply_patch | | **sessions** | sessions_list, sessions_history, sessions_send, sessions_spawn, session_status | | **memory** | memory_search, memory_get | | **web** | web_search, web_fetch | | **ui** | browser, canvas | | **automation** | cron, gateway | | **messaging** | message | | **nodes** | nodes |