Zaru CLI: o que faz e como instalar, segundo o README
Também em: English, Español, 日本語, Deutsch, Français, 한국어, 简体中文, Italiano, हिन्दी · Todos os guias em português
Aviso: o Zaru é feito pela 100monkeys AI, Inc., então leia este guia como o relato de quem o fabrica. Ele foi redigido por um dos nossos agentes de IA a partir do README do zaru-cli na branch main, lido em 28 de outubro de 2026, e revisado pela empresa; esta versão em português é uma tradução do guia original em inglês. Cada comando abaixo foi copiado desse README, e as citações ficam em inglês com a tradução ao lado. Onde o README não responde a uma pergunta, dizemos isso em vez de preencher a lacuna.
O README numa linha: "Zaru is an AI assistant that works in your terminal. You give it a task, it asks a language model, and it runs the tools the model asks for: it reads and edits files, runs commands and fetches web pages, asking your permission first." (O Zaru é um assistente de IA que trabalha no seu terminal. Você dá uma tarefa, ele consulta um modelo de linguagem e executa as ferramentas que o modelo pede: lê e edita arquivos, executa comandos e baixa páginas web, pedindo sua permissão antes.) Cada passo vai para uma transcrição em texto puro que você pode ler com cat.
Saiba em que estágio ele está
O README é direto: "It is pre-alpha: there are no releases and no packages, you build it from source, and commands, files and settings can change without notice." (Está em pré-alfa: não há versões publicadas nem pacotes, você compila a partir do código, e comandos, arquivos e configurações podem mudar sem aviso.) É código aberto sob Apache-2.0. Também não é um sandbox: "Zaru acts on your machine with your user account's permissions." (O Zaru age na sua máquina com as permissões da sua conta de usuário.) Leia a seção Safety do README antes de apontá-lo para qualquer coisa que importe para você.
Passo 1. Confira os requisitos
- Linux. "does not build on Windows" (não compila no Windows), e o macOS "is not tested" (não foi testado).
- Rust 1.98.1, fixado em
rust-toolchain.toml; orustupo instala na primeira compilação. - Um compilador C (
cc) e acesso de rede ao crates.io na primeira compilação. - Um modelo: uma chave de API do Google Gemini, um servidor Ollama ou qualquer servidor com uma API de chat completions compatível com a OpenAI.
Passo 2. Compile e instale
git clone https://github.com/100monkeys-ai/zaru-cli.git
cd zaru-cli
cargo install --path crates/zaru-cli --locked
Isso coloca o zaru em ~/.cargo/bin. Rode zaru --version para conferir que ele funciona.
Passo 3. Escolha um modelo
"Zaru has no default model." (O Zaru não tem modelo padrão.) Você mesmo cria o ~/.zaru/config.toml. Para o Gemini, guarde a chave (ela é lida da entrada padrão: cole, aperte Enter e depois Ctrl-D) e indique o modelo:
zaru providers keys add gemini
[model]
default = "gemini-3.6-flash"
As chaves guardadas são cifradas com uma chave mantida no chaveiro do sistema operacional. Numa máquina sem chaveiro, como um servidor, o WSL ou um contêiner, defina ZARU_CREDENTIAL_KEY com 64 caracteres hexadecimais minúsculos e guarde esse valor, porque "without it, the keys you stored cannot be read again." (sem ele, as chaves que você guardou não podem ser lidas de novo). Para o Ollama não é preciso chave: defina kind = "ollama" em [provider.default], e o Zaru se conecta a http://localhost:11434. Para um servidor compatível com a OpenAI, defina kind = "openai-compatible" e o endpoint dele, e também context_tokens se a lista de modelos do servidor não informar a janela.
Passo 4. Execute uma tarefa
zaru "read src/main.rs and tell me what it does"
Execute a partir do diretório em que você quer que ele trabalhe. Ele mostra o aviso de que não é um sandbox, cada chamada de ferramenta com o que ela fez, a resposta, os tokens "counted by the provider" (contados pelo provedor) e uma nota sobre validadores. zaru sem argumentos abre uma sessão interativa; zaru --continue reabre a última no diretório atual.
Passo 5. Responda aos pedidos de permissão
Antes de gravar um arquivo, editar, executar um comando ou baixar uma página, o Zaru mostra o que a chamada vai fazer e pergunta [y/N/a ...]. y permite uma vez, a permite aquela mesma chamada durante a sessão, e N, Enter ou Esc dizem não enquanto a tarefa continua. Ctrl-C interrompe a tarefa inteira. Um download mostra a URL completa, "because a URL can carry data off your machine" (porque uma URL pode levar dados para fora da sua máquina). Sem terminal para perguntar, a chamada é recusada. O modo é ask por padrão; allow pula o que está na sua lista de permissões, e yolo não pergunta nada, o que o README diz para usar "only for a directory and a task you trust entirely." (só para um diretório e uma tarefa em que você confia totalmente).
Passo 6. Leia a transcrição
zaru sessions list
cat ~/.zaru/sessions/<id>/transcript.jsonl
Um objeto JSON por linha: sua tarefa, cada resposta do modelo e as chamadas de ferramenta que ele pediu, se cada chamada foi permitida, o que ela retornou "exactly as the model was given it" (exatamente como foi entregue ao modelo) e a resposta. Chaves e tokens guardados são trocados por um marcador antes de qualquer coisa ser gravada.
Passo 7. Adicione um validador
zaru init grava um ./zaru.toml de exemplo. Um validador é um comando que confere o trabalho do modelo:
[[validator]]
name = "test"
run = "cargo test"
expect = "exit-zero"
Com validadores declarados, uma tarefa vira um ciclo: o modelo muda algo, os validadores rodam e uma falha volta para o modelo, até todos passarem ou runtime.max_iterations ser atingido. Os validadores só rodam depois que você os aprova, e você é perguntado de novo quando eles mudam; "the permission mode does not skip it." (o modo de permissão não pula essa pergunta).
O que ele ainda não faz
- Só três tipos de provedor funcionam:
gemini,ollamaeopenai-compatible. "anthropicandaegisare recognised but have no client." (anthropiceaegissão reconhecidos, mas não têm cliente.) - Os níveis de runtime
containedelinked"can be selected but are not built yet" (podem ser escolhidos, mas ainda não foram construídos): as chamadas de ferramenta rodam diretamente na sua máquina em todos os níveis. zaru learnedezaru inboxsão marcadores de posição.
O que o README deixa em aberto
- Quando virá a primeira versão ou o primeiro pacote. O README diz apenas que não há nenhum.
- Como as sessões da CLI se relacionam com as conversas do aplicativo web em ask.myzaru.com. O README cobre uma conexão com o Carbon Forge (
zaru notes tokens add), mas não o aplicativo web. - Quais outros nomes de modelo Gemini funcionam. O README mostra um.
Guias relacionados
- O que o Zaru mostra sobre cada passo que dá, e como parar um, a mesma ideia no aplicativo web.
- Perguntas frequentes do Zaru
Quer o Zaru sem compilar nada? O aplicativo web é grátis: "Your name and email. That is all it asks." (Seu nome e seu e-mail. É tudo o que ele pede.)