donk
O modelo lê só o que precisa.
Um agente de código para o terminal que decide, por construção, quanto de cada resultado o modelo chega a ler, e mostra a conta do que poupou.
Em desenvolvimento
Cem linhas de teste viram vinte
A saída completa de cada ferramenta é guardada uma vez. O modelo lê um recorte dela, e a tela mostra outro: numa suíte de 124 linhas, o modelo recebe 20 e a contagem do resto.
Veja quanto cada chamada poupou
donk stats mostra, por ferramenta, a saída bruta, o que foi ao modelo e o que apareceu na tela, e estima o tempo poupado contra o de revisar.
Confira o que o modelo recebeu
donk log lista cada chamada da sessão com os argumentos e confere o que o modelo leu contra a saída completa guardada, em vez de confiar no resumo dele.
Mais recursos
Desfazer
Todo arquivo que uma ferramenta escreve no repositório é copiado antes, e /undo o devolve ao que era.
Pergunta só o que não se desfaz
Escrever no repositório não pede confirmação, caminhos fora dele são negados e comandos marcados como irreversíveis são perguntados de uma vez, num plano único.
Modelo à sua escolha
Qualquer endpoint compatível com a API da OpenAI, a Anthropic ou um servidor seu, registrados num arquivo de configuração, sem modelo nem chave embutidos.
Sobre o projeto
O donk é um agente de código para o terminal: lê, busca e edita os arquivos do seu repositório e roda comandos nele, conforme o modelo pede. A conversa aparece no próprio terminal, com o prompt e o estado num rodapé.
A ideia central é simples. Quando uma ferramenta roda, por exemplo uma suíte de testes, a saída completa é guardada uma vez e nunca vai inteira para o modelo. Dela saem duas versões recortadas: uma para o modelo e outra para a tela. O conteúdo completo continua guardado e pode ser consultado depois, em vez de se confiar num resumo do modelo.
Ele deixa de fora um modelo embutido, uma camada gratuita e qualquer opção que desligue as confirmações e o desfazer. Ainda não há sandbox.
Tecnologias
Rust, num único binário estático, com SQLite e TLS embutidos.
Licença: MIT
Instalar o donk
Para compilar, precisa de Rust 1.98 ou mais novo e de um compilador C. O ripgrep é opcional.
Do binário publicado
Binário estático para Linux x86_64, sem nada para instalar antes.
curl -LO https://gitlab.com/alteronauta/donk/-/releases/26.10.0/downloads/donk-26.10.0-linux-amd64.tar.gz
curl -LO https://gitlab.com/alteronauta/donk/-/releases/26.10.0/downloads/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar xzf donk-26.10.0-linux-amd64.tar.gz
install -D donk-26.10.0-linux-amd64/donk ~/.local/bin/donk
Do código-fonte
SQLite e TLS vão dentro do binário, então nenhuma biblioteca do sistema é necessária.
git clone https://gitlab.com/alteronauta/donk.git && cd donk
cargo install --locked --path crates/donk-cli
O donk não traz modelo nem chave: registre os seus em models.toml, ao lado do config.toml, como mostra o README.