Ferramentas
O Verboo Code expõe ferramentas especializadas para o agente executar tarefas. Cada ferramenta tem um schema de entrada validado, e algumas geram saídas progressivas (streaming). O agente decide qual ferramenta usar com base no contexto.
Shell e sistema operacional
Bash
Executa comandos shell. Suporta timeouts, modo background, streaming de progresso e detecção de sandbox.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
command |
string | Comando a executar |
timeout |
number | Timeout em ms (padrão: 120000) |
description |
string | Descrição do que o comando faz |
run_in_background |
bool | Executa em background (retorna taskId) |
dangerouslyDisableSandbox |
bool | Desabilita o sandbox (requer permissão explícita) |
Auto-background: Comandos que demoram mais de 2 segundos são colocados em background automaticamente. Comandos comuns de longa duração (npm install, cargo build, etc.) vão direto para background.
Parsing de sed: O Bash Tool detecta e valida edições sed -i para evitar danos acidentais a arquivos.
PowerShell
Mesma interface do Bash, mas executa via PowerShell no Windows.
Leitura e escrita de arquivos
Read
Lê arquivos do filesystem. Suporta offset e limit (número de linhas), leitura de imagens (PNG, JPG), PDFs (com seleção de páginas) e Jupyter notebooks.
| Parâmetro | Descrição |
|---|---|
file_path |
Caminho absoluto do arquivo |
offset |
Linha inicial (0-indexed) |
limit |
Número de linhas a ler |
pages |
Intervalo de páginas para PDFs (ex: "1-5") |
Write
Cria ou sobrescreve arquivos.
| Parâmetro | Descrição |
|---|---|
file_path |
Caminho absoluto do arquivo |
content |
Conteúdo a escrever |
Edit
Faz substituições exatas de strings em arquivos. Requer que a string a substituir seja única no arquivo.
| Parâmetro | Descrição |
|---|---|
file_path |
Caminho absoluto do arquivo |
old_string |
Texto a substituir (deve ser único) |
new_string |
Novo texto |
replace_all |
Se true, substitui todas as ocorrências |
Glob
Busca arquivos por padrão glob.
| Parâmetro | Descrição |
|---|---|
pattern |
Padrão glob (ex: src/**/*.ts) |
path |
Diretório base da busca |
Grep
Busca texto em arquivos usando ripgrep (muito mais rápido que find + grep).
| Parâmetro | Descrição |
|---|---|
pattern |
Expressão regular a buscar |
path |
Diretório ou arquivo |
include |
Padrão de arquivos a incluir (ex: *.ts) |
exclude |
Padrão de arquivos a excluir |
Web
WebFetch
Faz requisições HTTP e retorna o conteúdo como texto ou Markdown. Usa Firecrawl quando disponível para melhor extração de conteúdo de sites complexos.
| Parâmetro | Descrição |
|---|---|
url |
URL a buscar |
prompt |
Instrução de processamento do conteúdo (opcional) |
WebSearch
Faz busca na web. Usa DuckDuckGo por padrão (gratuito). Configure FIRECRAWL_API_KEY para resultados melhores via Firecrawl.
| Parâmetro | Descrição |
|---|---|
query |
Termos de busca |
allowed_domains |
Lista de domínios permitidos |
blocked_domains |
Lista de domínios bloqueados |
Linguagem (LSP)
LSP
Integração com Language Server Protocol. Fornece diagnósticos (erros, warnings), definições de símbolos e referências sem executar o compilador.
| Operação | Descrição |
|---|---|
diagnostics |
Lista erros e warnings do LSP |
hover |
Informações sobre símbolo em posição |
definition |
Ir para definição |
references |
Encontrar referências |
Agentes
Agent
Spawna sub-agentes especializados. Cada agente tem acesso ao conjunto completo de ferramentas e pode trabalhar em paralelo com outros.
| Parâmetro | Descrição |
|---|---|
description |
Descrição curta do que o agente faz |
prompt |
Instruções completas para o agente |
subagent_type |
Tipo especializado (ex: Explore, Plan) |
model |
Modelo a usar (sonnet, opus, haiku) |
run_in_background |
Executa sem bloquear o agente principal |
isolation |
worktree — cria git worktree isolado |
Isolamento via worktree: Quando isolation: "worktree", o agente recebe uma cópia isolada do repositório. O worktree é limpo automaticamente se o agente não fizer mudanças.
SendMessage
Envia uma mensagem a um sub-agente em execução (continua com contexto completo).
| Parâmetro | Descrição |
|---|---|
to |
ID ou nome do agente destinatário |
message |
Mensagem a enviar |
Tarefas
O sistema de tarefas permite rastrear e gerenciar trabalho estruturado.
TaskCreate
Cria uma nova tarefa com título, descrição e status.
TaskGet
Obtém detalhes de uma tarefa específica pelo ID.
TaskList
Lista todas as tarefas ativas, filtradas por status.
TaskUpdate
Atualiza o status, título ou descrição de uma tarefa existente.
Status disponíveis: pending, in_progress, completed, cancelled
TaskStop
Cancela uma tarefa em execução.
TaskOutput
Obtém o output atual de uma tarefa em background.
Planejamento
EnterPlanMode
Entra no modo de planejamento (read-only). Neste modo, o agente não pode executar ferramentas destrutivas — apenas ler arquivos, explorar o codebase e escrever no arquivo de plano. Ideal para planejar antes de implementar.
ExitPlanMode
Sai do modo de planejamento e retorna ao modo normal de execução.
Worktrees Git
EnterWorktree
Cria e entra em um git worktree temporário para trabalho isolado. Útil para tasks que precisam de isolamento completo do repositório principal.
| Parâmetro | Descrição |
|---|---|
description |
Motivo para criar o worktree |
ExitWorktree
Sai do worktree atual e limpa o diretório temporário.
Agendamento e remoto
ScheduleCron (CronCreate / CronDelete / CronList)
Gerencia tarefas cron para execução periódica.
CronCreate:
Cria um cron job com expressão, prompt e modelo especificadosCronDelete:
Remove um cron job pelo IDCronList:
Lista todos os cron jobs ativosRemoteTrigger
Dispara um agente remoto na infraestrutura da Verboo.
| Parâmetro | Descrição |
|---|---|
operation |
list, get, create, update, run |
trigger_id |
ID do trigger (para get/update/run) |
body |
Configuração do trigger (para create/update) |
MCP
MCPTool
Executa ferramentas expostas por servidores MCP conectados. O schema de entrada é dinâmico (passthrough) e validado em runtime via AJV. Suporta saídas de texto, imagens e outros tipos de conteúdo.
O campo isMcp: true diferencia tools MCP de tools nativas no contexto de permissões e logging.
Interação com o usuário
AskUserQuestion
Faz uma pergunta ao usuário com opções pré-definidas. Essencial em plan mode para clarificar requisitos.
| Parâmetro | Descrição |
|---|---|
questions |
Array de perguntas com opções |
SkillTool
Invoca uma skill registrada pelo nome. Permite que o agente chame skills automaticamente com base no contexto.
Monitoramento
Monitor
Monitora um processo em background, recebendo cada linha de stdout como uma notificação. Ideal para acompanhar builds, testes ou servidores que estão rodando.
| Parâmetro | Descrição |
|---|---|
task_id |
ID do background task a monitorar |
until |
Condição para parar de monitorar |
Limites e permissões
As permissões de cada ferramenta são configuradas em settings.json:
{
"permissions": {
"allow": [
"Bash(npm run *)",
"WebFetch(domain:github.com)",
"Edit"
],
"deny": [
"Bash(rm -rf *)"
]
}
}O usuário é consultado para qualquer ferramenta não coberta pelas regras de allow/deny.