DeepCerebra Coder é um assistente de codificação agêntico. Diferente de um copilot de preenchimento automático simples, ele planeja, escreve, refatora, executa comandos, chama ferramentas e itera em seu projeto inteiro — com você revisando e aprovando as alterações que ele propõe.
| Edição | Melhor para | Acesso a arquivos |
|---|---|---|
| Aplicativo web | Instalação zero, trabalhe de qualquer máquina | Armazenamento confidencial no navegador (e repositórios Git) |
| Desktop (Windows / Linux / macOS) | Desenvolvimento local-first, modelos locais | Sistema de arquivos local direto |
| CLI & API | Scripting, CI/CD, automação | Arquivos locais / programático |
Este guia foca no aplicativo web em deepcerebra.ai; o aplicativo desktop espelha os mesmos painéis e fluxos de trabalho.
Use uma versão atual do Chrome, Edge ou Brave para a experiência completa — a abertura de uma pasta local depende da API de Acesso ao Sistema de Arquivos do Chromium. Firefox e Safari funcionam para chat e para projetos baseados em Git, mas não podem abrir uma pasta local diretamente.
/register?plan=basic (ou pro / ultimate), ou começar agora e escolher um plano
mais tarde em Faturamento.Após fazer login, você chega ao ambiente de trabalho, que organiza todos os painéis em uma única tela:
Arraste o divisor entre o editor e o chat para reequilibrar o layout, e arraste o divisor horizontal para redimensionar o terminal. A barra lateral esquerda também navega para Espaço de Trabalho, Extensões, Chaves API, Faturamento e Feedback.
repo (clássico) ou um token de granularidade fina com Contents + Pull requests; para GitLab, use o escopo api. Seu token é armazenado no servidor — apenas o conteúdo dos arquivos é puxado para o navegador.owner/name (filtre a lista para encontrar o seu), depois escolha uma branch.dcc/my-feature) para manter seu trabalho isolado da branch padrão.O histórico do chat está vinculado ao projeto aberto. A troca de pastas inicia automaticamente uma nova sessão e carrega as sessões anteriores dessa pasta, reabrindo a mais recente para que você possa continuar de onde parou.
Pastas que DeepCerebra usa internamente — .deepcerebra, .sessions — aparecem na árvore, mas estão colapsadas por padrão para não poluir seu código-fonte.
Descreva o que você deseja em linguagem simples — faça uma pergunta, solicite um recurso ou aponte um bug. Seja específico sobre arquivos, frameworks e restrições para obter o melhor resultado. Anexe arquivos relevantes arrastando-os para o prompt.
As respostas são organizadas como no Cursor: o raciocínio do agente é separado do entregável. Cada bloco de resposta tem um ícone de cópia no canto superior direito para que você possa copiar um relatório finalizado, um documento ou um comando que você deve executar.
lxml em vez de html.parser") para tirar o agente de um loop.@deepcerebra, e prefixos como [deep] solicitam um raciocínio mais profundo.Escolha um modo no seletor de modo ao lado do prompt. Cada um ajusta o quanto o agente planeja e com que liberdade ele edita:
| Modo | O que faz | Use quando… |
|---|---|---|
| Agente | Planeja e edita seu projeto autonomamente | Você quer que o assistente implemente uma mudança de ponta a ponta |
| Perguntar | Responde a perguntas sobre seu código sem editar | Você quer entender a base de código |
| Plano | Elabora uma abordagem antes de qualquer edição | A tarefa é grande ou tem compensações a serem resolvidas primeiro |
| Editar | Faz edições focadas no contexto atual | Você quer uma pequena mudança direcionada |
Quando o agente propõe alterações de arquivo, um painel de Alterações Propostas aparece acima da entrada do chat, listando cada arquivo tocado com contagens de linhas adicionadas (+) e removidas (−).
applied (e · disk quando escritas em uma pasta real).Alterne o terminal abaixo do editor para executar builds, testes e scripts. Com sua autorização, o agente pode executar comandos e ler sua saída para verificar seu trabalho; comandos de longa duração transmitem a saída para que você possa acompanhar o progresso. Feche o terminal pelo cabeçalho quando não precisar dele.
Para objetivos maiores, use o modo Plano (ou peça ao agente para planejar primeiro). O planejador escaneia seu projeto, decompõe o objetivo em tarefas cientes de dependências e atribui cada uma ao especialista certo (arquiteto, codificador, testador, documentação).
Abra o seletor de modelo ao lado do prompt. As opções são agrupadas como:
No modo Auto, DeepCerebra usa roteamento adaptativo em camadas: tarefas simples vão para um modelo rápido e econômico, enquanto trabalhos complexos ou com muita necessidade de planejamento (por exemplo, modo Plano) são roteados para um modelo mais forte. Isso equilibra custo e qualidade automaticamente, então você raramente precisa escolher manualmente.
Você pode rotear solicitações através de sua própria conta de provedor em vez de usar o consumo medido da plataforma.
ANTHROPIC_API_KEY,
GOOGLE_API_KEY, OPENAI_API_KEY).Modelos da plataforma (DeepCerebra) não precisam de chave. Remova uma chave a qualquer momento com Remover.
O DCC Bridge conecta seu próprio computador ao aplicativo web através de um pequeno
dcc-bridge conector, desbloqueando duas capacidades de uma vez:
O conector faz chamadas externas através de um WebSocket autenticado — sem necessidade de portas de entrada, e funciona atrás de NAT e firewalls. Ele roda em Windows, macOS e Linux (Python 3.10+).
dcc_brg_…)
e o comando do conector pronto para colar — o token é mostrado exatamente uma vez.pip install git+https://github.com/mohammadkhair7/DeepCerebra-connector
# then run the command copied from the pairing card, e.g.:
python -m dcc_bridge --gateway wss://deepcerebra.ai --token dcc_brg_xxxxx
wss://deepcerebra.ai ou wss://deepcerebra.io) — o cartão de emparelhamento preenche o
correto. Os dois sites são implantações separadas com contas e tokens separados.1234) com um modelo carregado.Por padrão, os comandos são confinados a uma pasta de espaço de trabalho dedicada (~/DeepCerebra). Para trabalhar em
suas pastas de projeto reais com seus CLIs pré-configurados, conceda-lhes explicitamente ao iniciar o conector:
# grant one or more real folders (repeatable)
python -m dcc_bridge --gateway wss://deepcerebra.ai --token dcc_brg_xxxxx --host-dir "F:\MyProjects"
# or the whole machine (prints a warning; prefer --host-dir)
python -m dcc_bridge ... --allow-any-dir
Em seguida, abra o painel Terminal, clique no popover Alvo de execução (ícone do laptop), escolha Meu computador, e selecione um diretório de trabalho. Tanto seus comandos digitados quanto os comandos de build/teste do agente serão então executados em sua máquina.
--no-exec torna um
dispositivo apenas de inferência (modelos GPU, sem comandos).Com um projeto baseado em Git aberto, uma barra de branch aparece no Explorador mostrando sua branch atual e duas ações:
main). Você deve estar em uma branch de trabalho, não na branch padrão.Se o webhook de push estiver habilitado, o Explorador atualiza automaticamente quando colegas de equipe fazem push, mantendo todos sincronizados — a base para o desenvolvimento colaborativo em equipe através do DeepCerebra.
Estenda o agente com ferramentas e dados externos via Model Context Protocol. Configure
servidores em um arquivo .deepcerebra/mcp.json, por exemplo:
{
"mcpServers": {
"my-tools": {
"url": "https://example.com/mcp",
"disabled": false,
"allowlist": ["search_issues", "get_pr"],
"autoApprove": ["create_issue"],
"auth": { "type": "bearer", "tokenEnv": "MY_TOKEN" }
}
}
}
As ferramentas MCP habilitadas ficam disponíveis para o agente automaticamente quando são relevantes para sua solicitação. Locais (stdio) e remotos (http/sse) servidores são ambos suportados.
allowlist, apenas essas ferramentas podem ser executadas.autoApprove.Se um servidor expõe recursos MCP ou modelos de prompt, o agente
ganha automaticamente ferramentas para usá-los (mcp_list_resources, mcp_read_resource,
mcp_list_prompts, mcp_get_prompt).
Adicione um bloco auth a um servidor remoto. Segredos suportam interpolação ${ENV_VAR}:
// Token bearer estático (literal ou do ambiente)
"auth": { "type": "bearer", "token": "${GITHUB_TOKEN}" }
"auth": { "type": "bearer", "tokenEnv": "GITHUB_TOKEN" }
// Cabeçalho personalizado (por exemplo, chave API)
"auth": { "type": "header", "header": "x-api-key", "value": "${MY_KEY}" }
// Credenciais de cliente OAuth 2.0
"auth": {
"type": "oauth", "grant": "client_credentials",
"tokenUrl": "https://auth.example.com/oauth/token",
"clientId": "${MCP_CLIENT_ID}", "clientSecret": "${MCP_CLIENT_SECRET}",
"scope": "mcp.read mcp.write"
}
Você pode moldar como o agente pensa e age com uma convenção única, baseada em arquivos — o
diretório .deepcerebra/ — que funciona de forma idêntica na aplicação desktop, na
aplicação web e na API. Na aplicação web, gerencie tudo isso na
visualização Agente; no desktop e via API, são arquivos simples que você comita com seu projeto.
A configuração é descoberta a partir de vários escopos; quando o mesmo item existe em mais de um, o de maior precedência vence:
team/org < global (~/.deepcerebra) < workspace (<repo>/.deepcerebra)
(mais baixo) (mais alto)
<repo>/.deepcerebra/…, commitado com o projeto.~/.deepcerebra/…, seus padrões pessoais em todos os projetos.As regras são instruções persistentes — padrões de codificação, convenções de arquitetura, contexto de domínio — injetadas no
prompt do sistema do agente. Elas residem como arquivos Markdown em .deepcerebra/steering/, além do
padrão AGENTS.md sempre ativo. O frontmatter controla quando uma regra é carregada:
---
inclusion: fileMatch # always | fileMatch | auto | manual
globs: "src/**/*.ts" # or fileMatchPattern
name: api-design
description: REST conventions
---
# Design de API
- Use substantivos de recurso REST, no plural.
always — a cada turno (o padrão).fileMatch — somente quando um arquivo em contexto corresponde a globs.auto — quando sua solicitação corresponde ao name/description da regra.manual — somente quando você o referencia como #name ou /name.Um AGENTS.md raiz se aplica a todo o repositório; um AGENTS.md aninhado (por exemplo,
services/api/AGENTS.md) se aplica apenas aos arquivos sob essa pasta. No aplicativo web, a
visualização Agente → Direcionamento oferece a cada regra um seletor de Escopo
(Global / Projeto / Equipe).
Habilidades são playbooks reutilizáveis que o agente carrega sob demanda. Cada habilidade é uma pasta com um
SKILL.md em .deepcerebra/skills/:
---
name: deploy-release
description: How to cut and publish a versioned release.
disable-model-invocation: false # true => manual-only (/skill)
---
# Implantar uma versão
1. Aumentar a versão, construir e testar.
2. Marcar e publicar.
O agente vê um catálogo leve (nome + descrição) e puxa o corpo completo com a
ferramenta load_skill quando relevante. Você também pode invocar uma explicitamente com
/skill <name>. Defina disable-model-invocation: true para tornar uma habilidade apenas manual.
Hooks executam automação em eventos de ciclo de vida. Defina-os como .deepcerebra/hooks/*.hook.json:
{
"title": "Formatar ao salvar",
"event": "fileSave",
"filePattern": ["**/*.ts"],
"action": { "type": "shell", "command": "npm run lint:fix -- $FILE" },
"enabled": true
}
Os eventos incluem promptSubmit, preToolUse, postToolUse,
fileCreate, fileSave, fileDelete, preTask,
postTask, sessionStart, preCompact e agentStop
(grafias de Cursor/Claude também são aceitas). Uma ação é shell (executar um comando) ou
agentPrompt (perguntar ao agente). Um hook preToolUse pode permitir,
negar ou pedir a chamada da ferramenta que ele intercepta.
Subagentes são agentes especialistas que você define e delega. Cada um é um arquivo Markdown em
.deepcerebra/agents/ com frontmatter mais um corpo (seu prompt de sistema):
---
name: security-reviewer
description: Audits a diff for security issues; read-only.
model: gpt-5
readonly: true
tools: [read_file, grep_files, list_directory]
background: false
---
Você é um revisor de segurança meticuloso…
O agente principal delega com task (bloqueando), task_async +
task_status / task_result (em segundo plano), ou task_parallel (fan-out).
Um plugin agrupa regras, habilidades, hooks, subagentes e servidores MCP em um único pacote instalável em
.deepcerebra/plugins/<name>/, descrito por um manifesto plugin.json:
{
"name": "Acme Standards",
"version": "1.2.0",
"description": "Acme rules + skills + review agents.",
"enabled": true
}
O conteúdo do plugin é mesclado com a menor precedência, então suas próprias regras e habilidades sempre substituem as de um plugin.
Desabilite um plugin com "enabled": false ou um arquivo marcador .disabled.
DCC_ORG_CONFIG_DIR para um diretório .deepcerebra compartilhado, ou definindo regras para o
escopo Equipe no aplicativo web.O Estúdio de Fluxo de Trabalho é um designer visual para automação multiagente. Você compõe estágios — cada um um agente, uma etapa especialista ou uma primitiva de controle — em um grafo, conecta-os com dependências e executa toda a orquestração no motor com progresso em tempo real por estágio, orçamentos e portões de aprovação humana. Os fluxos de trabalho são salvos como uma definição YAML/JSON portátil que você pode exportar, importar, versionar no Git e executar a partir da API ou CLI.
| Tipo de estágio | O que faz |
|---|---|
agent | Um turno de agente com as habilidades e ferramentas que você anexa. |
spec.requirements / spec.design / spec.execute |
Entrega "spec-first": rascunhe requisitos, design, depois divida em tarefas e execute — cada uma com portão. |
documents.generate | Produza um documento polido a partir das saídas de estágios anteriores. |
fan_out | Pesquisa ampla paralela em muitos subtópicos com síntese. |
map / loop / switch |
Primitivas de controle: execute um corpo por item, repita até uma condição, ou ramifique entre casos. |
verify / browser_verify |
Execute testes ou comandos no sandbox; verifique uma UI em execução com automação de navegador. |
orchestrate | Roteamento dinâmico: um agente orquestrador lê a solicitação e a despacha para o(s) melhor(es) agente(s) downstream via eventos. |
external.agent | Chame um agente de terceiros registrado via HTTP (A2A) como se fosse um estágio nativo. |
eval | Avalie uma saída upstream contra verificações (contém / regex / comprimento / LLM-judge); falhe abaixo de um limite. |
db.provision | Gere uma camada de dados própria: docker-compose para o banco de dados,
migrações SQL versionadas, dados de semente, template .env e um ERD Mermaid; scaffold de autenticação opcional;
pode aplicar migrações ao SQLite imediatamente. |
ci.generate | Gere um pipeline CI/CD pronto para commit (GitHub Actions, GitLab CI, ou Azure Pipelines) com lint → test → scan → build → deploy e promoção de ambiente. |
deploy.package | Gere ativos de implantação de produção: Dockerfile multi-estágio, docker-compose, manifestos Kubernetes ou um Helm chart — arquivos que você possui e faz commit. |
test.generate | Gere suítes de unidade / API / E2E para o aplicativo construído, além de uma matriz de rastreabilidade de requisito para teste. |
test.verify | Execute uma suíte de testes (pytest, vitest, jest, Playwright) e condicione a execução à sua taxa de aprovação. |
security.audit | Escaneie dependências em busca de vulnerabilidades conhecidas e a árvore em busca de segredos codificados; publica eventos de alerta e escreve um relatório de descobertas. |
preview | Inicie o aplicativo gerado localmente e exiba sua URL ao vivo no painel de execução
(link + iframe) via um evento preview.ready. |
design.import | Transforme uma imagem de design de UI (captura de tela, mockup, exportação Figma) em uma especificação de implementação estruturada para estágios downstream. |
Cada estágio — independentemente do tipo — pode publicar e assinar eventos tipados no barramento de eventos do espaço de trabalho, para que os agentes coordenem como serviços em uma malha de mensagens, em vez de apenas através do DAG:
lifecycle, agent,
business, data, system, schedule, chat,
external ou alert — filtráveis em assinaturas e replay.trigger (o estágio é executado quando um evento correspondente chega; uma
execução com estágios estacionados permanece residente como escutando), gate (um portão de máquina aprovado por
um evento em vez de um clique humano) e data (o payload é mesclado no contexto do estágio).agent.<stage-id>.request.triggers: de um fluxo de trabalho o arma para iniciar em
webhooks de entrada, agendamentos cron, eventos ou chat — mesmo enquanto o
Estúdio está fechado.Agentes que reagem a eventos podem declarar uma fila nomeada durável para que eventos correspondentes nunca
sejam perdidos enquanto o agente está ocupado ou antes de uma execução estar escutando. Em uma assinatura de gatilho,
defina queue: <name> — o motor vincula esse tópico a uma fila FIFO no barramento de eventos do espaço de trabalho
(persistida em .deepcerebra/workflows/events/queues/). Cada evento correspondente publicado a partir desse ponto
é capturado na fila; quando o estágio se torna executável, o motor retira os eventos na ordem
do mais antigo para o mais novo e os consome um por um.
count por assinatura — exige N eventos enfileirados (ou entregues)
antes que a assinatura seja satisfeita (útil quando vários trabalhadores devem reportar).GET /api/workflow/queues lista profundidade e vinculações;
GET /api/workflow/queues/{name} visualiza eventos pendentes; agentes de chat podem chamar
event_queue_status e pop_queued_event.events:
subscribe:
- topic: ticket.created
mode: trigger
queue: triage-inbox # durable FIFO — events wait here for this agent
map:
payload.ticket_id: ticket_id
Um semáforo limita quantas tarefas podem operar simultaneamente em um recurso compartilhado (protegido):
um banco de dados sendo gravado, um armazenamento de variáveis globais, um arquivo ou um agente externo com limite de taxa.
Anexe um a qualquer estágio com semaphore: — antes que o trabalho do estágio seja executado, o motor adquire
uma permissão do semáforo nomeado do espaço de trabalho; a permissão é sempre liberada depois, mesmo que o
estágio falhe. permits: 1 o torna um mutex: apenas uma tarefa por vez (em todas as execuções
paralelas no espaço de trabalho) executa a etapa crítica; todas as outras tarefas esperam até que o detentor termine.
timeout_s por uma permissão;
se o recurso permanecer na capacidade máxima, o estágio falha visivelmente em vez de travar para sempre.ttl_s; se um detentor falhar
sem liberar, a permissão expira automaticamente para que o recurso nunca fique em deadlock.semaphore.<name>.waiting,
.acquired e .released eventos de sistema; GET /api/workflow/semaphores
mostra capacidade, detentores e permissões disponíveis.acquire_semaphore, release_semaphore e
semaphore_status coordenam seções críticas ad-hoc fora de um fluxo de trabalho.semaphore:
name: emr-db-writer
permits: 1 # mutex — one writer at a time
timeout_s: 300 # fail if still waiting after 5 minutes
ttl_s: 900 # auto-release crashed holders after 15 minutes
Rendezvous espera até que múltiplas condições de evento sejam todas atendidas antes que a próxima
etapa prossiga — o oposto de "o primeiro evento vence". Defina join: all no bloco events: do estágio:
cada assinatura de gatilho deve ser satisfeita antes que o estágio seja executado. Combine com
count: N por assinatura quando vários agentes (ou vários relatórios de um agente) devem todos fazer check-in
— por exemplo, aprovação de design, conclusão de teste e aprovação de segurança antes que um estágio de lançamento seja executado.
join: any (padrão) — o estágio é executado quando a primeira assinatura de gatilho é satisfeita.join: all — rendezvous: cada assinatura de gatilho (cada uma com seu próprio tópico,
filtro de classe e count opcional) deve ser satisfeita; somente então o estágio se torna executável.trigger_events
e expostos a templates como inputs.events (uma lista de objetos de evento com payloads).events:
join: all # rendezvous — wait for EVERY subscription below
subscribe:
- topic: design.approved
mode: trigger
- topic: tests.passed
mode: trigger
- topic: security.cleared
mode: trigger
count: 1
Os estágios escolhem ferramentas do mesmo registro que o agente de chat usa:
create_database, apply_migrations e dump_schema para camadas de dados próprias.docker_build / docker_push, compose up/down, implantações SSH e
cloud-CLI (Fly, Render, Railway, Vercel), também seguras para simulação.Class.method) em matemática, processamento de sinais, controles, estatística e muito mais./v1 expõe execuções, eventos, gatilhos, modelos e geração para CI e integrações.db.provision → implementação → testes gerados → auditoria de segurança → empacotamento de implantação →
geração de CI, com um portão humano antes do empacotamento — um caminho completo do briefing à produção que você pode adaptar em
minutos.O preenchimento preditivo com Tab oferece sugestões de código inline, preenchendo o meio, enquanto você digita no editor — aceite uma sugestão com Tab. É opcional tanto no motor quanto no editor web.
DCC_TAB_COMPLETE=1. O editor chama o
endpoint POST /api/complete do motor, que retorna apenas o texto a ser inserido no cursor.VITE_TAB_COMPLETE=1, ou em tempo de execução com
localStorage.setItem('dcc.tabComplete', '1') (depois recarregue).Abra Faturamento na barra lateral para gerenciar seu plano e uso. O uso de IA é medido em créditos de dólar americano com base nos tokens consumidos pelos modelos subjacentes.
| Plano | Preço mensal | Uso de IA mensal incluído |
|---|---|---|
| Básico | $20 | $10 |
| Pro | $75 | $30 |
| Ultimate | $200 | $150 |
Uma chave API de gateway (um token de acesso pessoal) permite que você use a API pública e o CLI do DeepCerebra programaticamente.
read, chat, code, agent
— e uma expiração opcional em dias (em branco = nunca).Use-o com o CLI ou a API em deepcerebra.ai:
dcc config set endpoint https://deepcerebra.ai
dcc config set api-key <your-key>
# or as a Bearer token
curl -H "Authorization: Bearer <your-key>" https://deepcerebra.ai/v1/...
Você pode renomear ou excluir (revogar) uma chave a qualquer momento; cada chave mostra seu prefixo, escopos, data de criação/expiração e data do último uso.
Mude para Chrome, Edge ou Brave, ou use Abrir do Git.
Clique em Parar, depois reformule com uma dica ou restrição concreta.
dcc-bridge está em execução e o dispositivo mostra online.1234) com um modelo carregado.--gateway
(wss://deepcerebra.ai ou wss://deepcerebra.io) — os dois sites são implantações separadas,
e um token de um nunca funciona no outro.Abra ou crie uma branch de trabalho antes de usar Integrar para abrir um pull request.
Ainda com problemas? Entre em contato com support@deepcerebra.ai.
Discovery é um chatbot investigativo para os seus bancos de dados e documentos.
Em vez de responder com uma única consulta, ele funciona como um analista: forma hipóteses,
executa uma série de sondas protegidas (SQL, grafo, pesquisa de documentos, verificações de esquema, corroboração web), descarta as
explicações que as evidências refutam e sintetiza uma resposta fundamentada — com gráficos e um
recibo de custo transparente. Abra-o a partir do ícone de bússola na barra de atividades
(/app/discovery).
Um Espaço agrega tudo o que uma linha de questionamento precisa: conexões de banco de dados, coleções de documentos, instruções para o analista e orçamentos. Crie um com + Novo espaço, depois use o painel de configuração à direita para:
Digite uma pergunta da mesma forma que faria a um colega — por exemplo "Why did MRI scan volume dip in March?". O painel de investigação transmite todo o processo ao vivo:
Perguntas de acompanhamento continuam o mesmo tópico, para que o analista mantenha seu contexto.
Os gráficos são renderizados inline no painel de investigação. Use Exportar para baixar a consulta completa — a resposta, hipóteses, evidências e gráficos — como um relatório HTML autocontido ou um PDF com qualidade de impressão, estilizado com o sistema de design neon.
Cada espaço possui orçamentos por consulta: um número máximo de sondas, rodadas de investigação, segundos e USD. O motor para de forma limpa no limite e relata o que encontrou até agora. O custo de cada sonda é detalhado no recibo, para que você sempre saiba onde o gasto foi.
/v1/discovery/* com um
PAT que possui o escopo discovery (crie-o em Conta → Tokens de API).
As consultas de streaming usam SSE. Executores externos podem usar apenas o planejamento investigativo através da Thinking API
(/v1/think/*, escopo think).pip install deepcerebra-discovery, depois
DiscoveryClient(base_url, token).ask(space_id, question).discovery.ask) em qualquer fluxo de trabalho para executar uma investigação como uma etapa de pipeline; a resposta,
gráficos e recibo fluem para os estágios subsequentes.discovery_ask e
discovery_list_spaces como ferramentas MCP, para que clientes MCP externos também possam executar investigações.