Sobre o projeto
pi_agent_rust é um CLI de agente de codificação em IA de alto desempenho, com zero código inseguro, escrito em Rust. É um port nativo do Pi Agent de Mario Zechner, projetado para substituir alternativas mais lentas e que consomem muitos recursos, construídas em runtimes gerenciados como Electron ou Node.js.
**Principais recursos:**
- **36 ferramentas integradas** em cinco níveis: comandos essenciais (read, write, edit, bash, grep, find, ls, web_search), ferramentas descobríveis (ast_grep, ast_edit, lsp, debug, ferramentas de memória), utilitários em segundo plano (jobs, hub) e extras controlados por configurações (automação de navegador, controle de computador/desktop, manipulação de imagem/tts/mídia)
- **Respostas em streaming** com suporte a blocos de pensamento estendido via um parser SSE personalizado ajustado para condições reais de rede
- **Suporte a modelos locais** pronto para uso para Ollama, llama.cpp (llama-server) e mistralrs — sem necessidade de chave de API
- **Concorrência estruturada** via runtime asupersync para cancelamento previsível e limpeza de recursos
- **Modelo de segurança baseado em capacidades**: aplicação de extensão em dois estágios com bloqueio em nível de comando de padrões de shell perigosos (exclusão recursiva, gravações em disco, shells reversos), um ciclo de vida de confiança em quatro níveis (pendente → reconhecido → confiável → encerrado), controles de interrupção de hostcall-lane e um registro de risco de runtime à prova de adulteração
- **Arquitetura de recursos limitados** para sessões de longa duração usando indexação de sessão SQLite com um sidecar v2 para caminhos de reabertura O(index+tail)
- **Interface de terminal rica** construída com rich_rust, um port em Rust da biblioteca Python Rich
**Instalação:**
```bash
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/pi_agent_rust/main/install.sh?$(date +%s)" | bash
```
**Uso rápido:**
```bash
# Sessão interativa
pi
# Com prompt inicial
pi "Resuma a arquitetura em src/"
# Anexar um arquivo
pi @src/main.rs "Explique o fluxo de inicialização"
# Modo de script de uso único
pi -p "Liste riscos prováveis de regressão para este diff"
# Continuar última sessão
pi --continue
```
**Configuração:** As chaves de API são definidas via variáveis de ambiente (por exemplo, `ANTHROPIC_API_KEY`). Provedores locais funcionam sem chaves. Os catálogos de modelos podem ser atualizados com `pi --fetch-models <provider> --refresh-models --persist-models`. A configuração de provedor e modelo fica em `~/.pi/agent/models.json`.
O projeto usa Doodlestein Self-Releaser (DSR) para todas as compilações e verificações de qualidade; os contribuidores são orientados a evitar invocações diretas do Cargo. As evidências de benchmark são regidas por contratos de artefatos rigorosos que exigem resultados com correspondência de proveniência antes que alegações relacionadas a lançamentos sejam publicadas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.