celesto
AI 에이전트를 위한 안전하고 영구적인 컴퓨터
jazz-cli: agente de código no terminal, em Go, para qualquer máquina. Segurança de fábrica, anti-trapaça, observabilidade, roteador de modelos grátis.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ ██╗ █████╗ ███████╗███████╗
██║██╔══██╗╚══███╔╝╚══███╔╝
██║███████║ ███╔╝ ███╔╝
██ ██║██╔══██║ ███╔╝ ███╔╝
╚█████╔╝██║ ██║███████╗███████╗
╚════╝ ╚═╝ ╚═╝╚══════╝╚══════╝
O jazz é um agente de código para o terminal, escrito em Go: um binário estático só (~11 MB, sem
dependências) que lê arquivos, roda comandos num shell persistente, edita código e verifica o que
fez, falando com o modelo que você escolher (Anthropic, OpenAI, ChatGPT pela sua conta, OpenRouter,
Groq, Gemini, Ollama/llama.cpp e mais uma dúzia de provedores grátis). Ele foi feito para funcionar
bem com modelos grátis e fracos e em máquina velha: roda num Mac M-series e também num
notebook Pentium M de 32 bits com 2 GB de RAM (um Dell Latitude, linux/386). Para compensar o
modelo fraco, o harness cobra o que um prompt só pediria: orçamento de passos, testes rodados de
verdade antes de dizer "pronto", guardas contra ação fingida e um sandbox do sistema por baixo de
tudo. É um projeto jovem (v0.7), feito por uma pessoa com agentes de IA; espere arestas. Bugs e
lacunas conhecidos estão em FINDINGS.md.
Princípios (detalhes em DESIGN.md):
read, write, edit, bash, todo, fetch, task, script) e um
prompt pequeno, que funciona até com modelo grátis e contexto curto.Binários para Linux (386, amd64, arm64), Android/Termux (arm64), macOS (amd64, arm64) e Windows (amd64, arm64) saem das
releases. Cada release traz um
manifest.txt com a versão e o sha256 de cada binário, assinado com Ed25519
(manifest.txt.sig); os instaladores e o jazz update conferem os dois.
curl -fsSL https://github.com/jazzautomations/jazz-cli/releases/latest/download/install.sh | sh
O install.sh (sh POSIX) detecta sistema e arquitetura, baixa
jazz-<os>-<arch>, confere a assinatura do manifesto (com minisign ou OpenSSL 3) e o sha256, e
instala em ~/.local/bin sem sudo. Se ~/.local/bin não estiver no PATH, ele mostra a linha que
você precisa pôr no ~/.zshrc/~/.bashrc (não mexe nesses arquivos sozinho).
Opções (… | sh -s -- <opções>):
| Opção | Variável | O que faz |
|---|---|---|
--bin-dir DIR | JAZZ_BIN_DIR | pasta de instalação (padrão ~/.local/bin) |
--system | instala em /usr/local/bin, com sudo se precisar | |
--version v0.7.0 | JAZZ_VERSION | uma release específica em vez da última |
--base-url URL | JAZZ_BASE_URL | pasta com manifest.txt(.sig) e os binários (ex.: um espelho seu, gerado por scripts/release.sh) |
--require-sig | JAZZ_REQUIRE_SIG=1 | falha se a assinatura não puder ser verificada |
JAZZ_OPENSSL | caminho de um OpenSSL 3 (o openssl do macOS é LibreSSL, que não verifica Ed25519; o script também procura o OpenSSL 3 do Homebrew) |
Sem minisign nem OpenSSL 3, o script confere só o sha256 e avisa. A cópia do install.sh que
está no repositório não tem a chave pública (quem a coloca é o scripts/release.sh), então ela
também só confere o sha256: use a que vem anexada à release.
macOS (Intel ou Apple Silicon): o mesmo comando. Num terminal rodando sob Rosetta o script escolhe o binário arm64 nativo.
Linux 32 bits (i386/i686, como o Dell): o mesmo comando; ele baixa jazz-linux-386
(também num kernel 64 bits com userland 32 bits). Dicas para máquina antiga:
fd se chama fdfind; o shell do jazz cria o atalho fd sozinho.~/.bashrc costuma sair logo no começo em shell não interativo, então ssh host 'jazz …' não
acha o ~/.local/bin. Use ssh host '~/.local/bin/jazz …' ou ssh -t host 'bash -lc jazz'.JAZZ_DEPLOY_HOST=<alias-ssh> scripts/deploy-ssh.sh (compila linux/386, instala em
~/.local/bin e põe um atalho .desktop no menu; --sudo instala em /usr/local/bin).bubblewrap (sudo apt install bubblewrap).Suporte da comunidade: o binário Android/arm64 compila e está incluído nas releases; ainda não foi validado em um aparelho Termux real. Use aarch64, sem root:
pkg install curl openssl python git bash
curl -fsSL https://github.com/jazzautomations/jazz-cli/releases/latest/download/install.sh | sh
O instalador detecta TERMUX_VERSION ou o sufixo convencional /com.termux/files/usr de PREFIX, escolhe jazz-android-arm64 e instala em $PREFIX/bin (sem sudo, sem mexer no PATH). ~/arquivo é resolvido pelo $HOME do próprio Termux. Compilação cruzada e testes locais cobrem o caminho; uso no aparelho ainda não foi verificado. O sandbox do sistema não funciona no Android: não há bubblewrap nem user namespaces. As proteções de software (cerca de caminhos, guardrails, aprovações) continuam ativas, o modo padrão é auto e o turbo cai nas regras do auto com um aviso. proot não é uma fronteira de segurança. Prefira ask ou plan no Android. Entrar em yolo sem sandbox exige consentimento explícito; em execução headless, exige --ack-no-sandbox, que não cria isolamento. jazz doctor mostra o que falta (pkg install …).
Ainda não testado em uso real no Windows. O porte compila para amd64/arm64 e os testes passam no
windows-latestdo CI, mas ninguém usou o jazz num Windows de verdade por enquanto. Relatos são bem-vindos.
No PowerShell, sem administrador:
irm https://github.com/jazzautomations/jazz-cli/releases/latest/download/install.ps1 | iex
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗