rivale
Rivale
Agente autônomo de código no terminal — o desafiante open source do seu editor.
Multi-agente · memória de longo prazo · MCP (local e remoto) · ferramentas de código de verdade · segurança em primeiro lugar.
O que é
Rivale é um agente de programação que vive no seu terminal (e no VS Code). Ele lê, escreve e refatora código, roda comandos, pesquisa na web, dirige um browser, versiona com git e coordena vários subagentes especializados — tudo com controle de custo, aprovação humana e proteções de segurança embutidas.
Funciona com múltiplos provedores de LLM: Groq, OpenAI, Gemini e DeepSeek.
Destaques
- Multi-agente real — modo Coordenador que delega para subagentes especializados (coder, security, tester, reviewer, researcher), execução em paralelo e swarm debate pra decisões difíceis.
- MCP local e remoto — conecta qualquer servidor Model Context Protocol via stdio (
npx/uvx/python) ou HTTP streamable / SSE (endpoints remotos com auth por header). - Ferramentas de código sérias — ler/editar/criar arquivos,
grep/glob, busca por AST, integração LSP, git nativo (status/diff/log/commit), tarefas em background,run_command, browser (Playwright), SQLite e mais. - Memória de verdade — janela de contexto por tokens com auto-compactação, indexação do codebase e busca semântica de código.
- Teto de custo por run — corta o loop antes de queimar dinheiro (
AGENT_MAX_USD_PER_RUN). - Segurança em primeiro lugar — cofre de chaves criptografado, guard de comandos, modo plan, hooks PreToolUse, proteção contra SSRF e auto-proteção do próprio código.
- UX de terminal moderna — streaming, menção de arquivos com
@, telas de/config,/mcp,/compact, atalhos configuráveis. - Extensão para VS Code — chat no editor, aprovação in-chat, drag-and-drop de arquivos, timeline de atividade.
Instalação
npm install -g rivale
Requer Node.js ≥ 18. (Git é necessário para as ferramentas de versionamento.)
Começando
rivale # abre o chat interativo
rivale "crie um scraper em python para a home do HN" # modo one-shot
rivale --stream "explique este repositório"
Dentro do chat:
| Comando | O quê |
|---|---|
@arquivo |
menciona um arquivo/pasta pro contexto |
/config |
provider, modelo, API key (vai pro cofre criptografado) |
/mcp |
conecta/gerencia servidores MCP |
/compact |
resume a conversa pra liberar contexto |
/help |
lista tudo |
Chaves de API (cofre criptografado )
Suas chaves ficam cifradas em ~/.rivale/secrets.json (AES-256-GCM) — nunca em texto puro.
rivale keys set GROQ_API_KEY # digita escondido (não vaza no histórico do shell)
rivale keys list # mostra mascarado
rivale keys import-env # migra chaves do seu .env atual pro cofre
Você também pode usar variáveis de ambiente ou ~/.rivale/.env (as chaves reais do ambiente sempre têm prioridade):
GROQ_API_KEY=...
OPENAI_API_KEY=...
GEMINI_API_KEY=...
DEEPSEEK_API_KEY=...
MCP (Model Context Protocol)
Declare servidores em .rivale/mcp.json — stdio (local) ou remoto (URL):
{
"mcpServers": {
"playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] },
"context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"] },
"remoto": {
"url": "https://seu-endpoint.exemplo.com/mcp",
"type": "http",
"headers": { "Authorization": "Bearer SEU_TOKEN" }
}
}
}
Controle de custo
AGENT_MAX_USD_PER_RUN=0.50 # aborta a run ao atingir US$ 0,50 (0 = ilimitado)
AGENT_MAX_TOKENS_PER_RUN=200000 # teto por tokens
Segurança
- Cofre de chaves criptografado (AES-256-GCM), fora do
.env. - Guard de comandos — bloqueia egress de rede suspeito, escalada de privilégio e execução dinâmica, mesmo com aprovação desligada.
- Modo Plan — bloqueia escrita/comandos perigosos até você aprovar o plano.
- Hooks PreToolUse — intercepte/valide qualquer chamada de ferramenta.
- SSRF guard — nega requisições a IPs privados/metadata de cloud.
- Aprovação humana por ferramenta, com níveis configuráveis.
Requisitos
- Node.js ≥ 18
- Git (para as ferramentas de versionamento)
- Chave de API de pelo menos um provedor
2026 Rivale — Todos os direitos reservados. Software proprietário distribuído apenas na forma compilada. Veja LICENSE.