Repolode
bigfish1913

bigfish1913/pi-rust

Runtime para agentes de programação, nativo em Rust e com foco em biblioteca, e CLI de terminal (rpi) com adaptadores de provedores, ferramentas, sessões duráveis e ABI estável para plugins.

Alternativa open source a:Claude CodeCodex CLI

Estrelas
208
Forks
40
Issues abertas
6
Último commit
há 21 horas

O que é?

rpi é um runtime para agentes de programação escrito em Rust, dividido em dez crates combináveis que abrangem adaptadores de provedores, um loop de agente, ferramentas, persistência de sessões, uma interface de terminal e uma ABI para plugins. O mesmo código pode ser integrado ao seu próprio processo como SDK ou usado diretamente pelo agente de linha de comando `rpi`, com TUI interativa, modo de execução única e saída de eventos em JSON.

As sessões são armazenadas como árvores JSONL e retomadas a partir do último frame confirmado após uma falha durante a execução. Gateways compatíveis com Anthropic e OpenAI são configurados por meio de um arquivo models.json, e um provedor offline determinístico `faux` permite executar testes e exemplos sem chave de API nem acesso à rede.

Os plugins são bibliotecas Rust cdylib que usam uma ABI C escrita manualmente com #[repr(C)] e podem registrar ferramentas, provedores, comandos de barra e manipuladores de eventos. O projeto também inclui um modo de servidor headless ao qual um cliente TUI simples pode se conectar por TCP. É uma reimplementação em Rust do Pi SDK em TypeScript e não carrega extensões do Node nem do npm.

Recursos principais

  • 01Loop de agente integrável por meio dos crates rpi-agent e rpi-ai, que pode ser usado sem a CLI.
  • 02Provedor offline determinístico `faux` para testes e exemplos sem acesso à rede.
  • 03Sessões armazenadas como árvores JSONL e retomáveis após falhas.
  • 04Ferramentas integradas read, write, edit, bash, grep, find e ls.
  • 05ABI para plugins com extensões cdylib que podem registrar ferramentas, provedores e comandos.
  • 06Modo de servidor headless com um cliente TUI simples via TCP.

Casos de uso

  • Integrar um agente de programação com ferramentas personalizadas e tratamento de eventos ao seu próprio aplicativo Rust.
  • Escrever testes offline para fluxos de trabalho de agentes sem chaves de API nem chamadas de rede.
  • Executar um agente de programação no terminal de uma máquina local e controlá-lo por um cliente simples em outra máquina.
  • Criar um plugin de ferramentas reutilizável que funcione tanto na CLI global quanto em um agente integrado.

Início rápido

  1. 1

    Instale a CLI rpi do crates.io (requer Rust 1.88 ou mais recente)

    cargo install rpi-cli
  2. 2

    Defina uma chave de API para seu provedor de modelos

    export ANTHROPIC_API_KEY=...
  3. 3

    Inicie a interface interativa do terminal

    rpi

Antes de usar

  • É necessário ter Rust 1.88 ou mais recente para instalar pelo crates.io ou pelo código-fonte.
  • A fórmula do Homebrew é compatível apenas com Apple silicon no macOS; Macs com Intel precisam do instalador pré-compilado ou do cargo.
  • Para executar a CLI com modelos reais, é necessária uma chave de API do provedor ou uma configuração models.json.

Em coleções

Tópicos

Perguntas frequentes

O que é pi-rust?
Runtime para agentes de programação, nativo em Rust e com foco em biblioteca, e CLI de terminal (rpi) com adaptadores de provedores, ferramentas, sessões duráveis e ABI estável para plugins. rpi é um runtime para agentes de programação escrito em Rust, dividido em dez crates combináveis que abrangem adaptadores de provedores, um loop de agente, ferramentas, persistência de sessões, uma interface de terminal e uma ABI para plugins. O mesmo código pode ser integrado ao seu próprio processo como SDK ou usado diretamente pelo agente de linha de comando `rpi`, com TUI interativa, modo de execução única e saída de eventos em JSON.
pi-rust é gratuito? Qual é a licença?
pi-rust é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
pi-rust ainda é mantido?
Manutenção ativa. O último commit de pi-rust foi em 6 de nov. de 2026.
Para que posso usar pi-rust?
Integrar um agente de programação com ferramentas personalizadas e tratamento de eventos ao seu próprio aplicativo Rust. Escrever testes offline para fluxos de trabalho de agentes sem chaves de API nem chamadas de rede. Executar um agente de programação no terminal de uma máquina local e controlá-lo por um cliente simples em outra máquina. Criar um plugin de ferramentas reutilizável que funcione tanto na CLI global quanto em um agente integrado.
Como instalar pi-rust?
Instale a CLI rpi do crates.io (requer Rust 1.88 ou mais recente): cargo install rpi-cli Defina uma chave de API para seu provedor de modelos: export ANTHROPIC_API_KEY=... Inicie a interface interativa do terminal: rpi
Onde consigo pi-rust?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/bigfish1913/pi-rust

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados