O que é Pi
O Pi é um agente de programação minimalista e de código aberto para o terminal. Ele lê endpoints personalizados de models.json, e cada modelo pode usar um protocolo de API diferente. Esta configuração adiciona a Capriole AI como um provedor nesse arquivo.
Pré-requisitos
Antes de começar, confira se você tem:
Instalação
Instale o Pi com o script oficial de instalação:
Ou instale com npm (Node.js 22.19 ou posterior):
Configuração
Validação dos modelos
O Pi 1.3.0 passa nas verificações de leitura de arquivo, escrita de arquivo e resposta final pela Capriole AI com todos os modelos da seção Modelos suportados, usando a configuração abaixo.
Crie ou atualize ~/.pi/agent/models.json:
Depois, defina a Capriole AI como padrão em ~/.pi/agent/settings.json:
O que cada configuração faz:
- O
api do provedor é openai-completions, então Grok, GLM e Kimi usam Chat Completions. Os modelos GPT o substituem por openai-responses, e os modelos Claude o substituem por anthropic-messages e um baseUrl sem /v1.
$CAPRIOLE_AI_API_KEY lê sua key do ambiente.
authHeader: true envia a key como Bearer token em todos os protocolos. Sem ele, os modelos Claude enviam a key em um cabeçalho x-api-key, que a Capriole AI não aceita.
forceAdaptiveThinking faz os modelos Claude usarem thinking adaptativo. O Opus 5.5 rejeita um orçamento fixo de thinking.
contextWindow e maxTokens informam ao Pi os limites de cada modelo.
Executar Pi
Defina sua API key e inicie o Pi no diretório do projeto:
Troque de modelo com /model. Para uma execução não interativa, use o modo print:
Modelos suportados
openai-latest e claude-latest sempre apontam para o nosso modelo principal mais recente de cada família.
Solução de problemas
Por que os modelos da Capriole AI não aparecem em /model?
O Pi oculta um modelo personalizado até conseguir resolver a key dele. Exporte CAPRIOLE_AI_API_KEY no mesmo shell antes de iniciar o Pi.
Por que o Pi retorna um erro de autenticação?
Confirme que o provedor tem "authHeader": true.
Confirme que as entradas dos modelos Claude têm "compat": { "forceAdaptiveThinking": true }.
Os modelos Claude em anthropic-messages precisam dos IDs Claude sem prefixo, como claude-opus-5-5. Os IDs com o prefixo anthropic/ são para Chat Completions.
Observações
Última modificação em 20 de outubro de 2026