Saltar al contenido principal

Qué es Pi

Pi es un agente de programación minimalista y de código abierto para la terminal. Lee endpoints personalizados de models.json, y cada modelo puede usar un protocolo de API distinto. Esta configuración añade Capriole AI como un proveedor en ese archivo.

Requisitos previos

Antes de empezar, asegúrate de tener:

Instalación

Instala Pi con el script de instalación oficial:
O instálalo con npm (Node.js 22.19 o posterior):

Configuración

Validación de modelos

Pi 1.3.0 supera una prueba de lectura de archivos, escritura de archivos y respuesta final a través de Capriole AI con todos los modelos de la sección Modelos compatibles, usando la configuración siguiente. Crea o actualiza ~/.pi/agent/models.json:
Después define Capriole AI como opción por defecto en ~/.pi/agent/settings.json:
Qué hace cada ajuste:
  • El api del proveedor es openai-completions, así que Grok, GLM y Kimi usan Chat Completions. Los modelos GPT lo sustituyen por openai-responses, y los modelos Claude, por anthropic-messages y un baseUrl sin /v1.
  • $CAPRIOLE_AI_API_KEY lee tu clave del entorno.
  • authHeader: true envía la clave como token Bearer en todos los protocolos. Sin él, los modelos Claude envían la clave en una cabecera x-api-key, que Capriole AI no acepta.
  • forceAdaptiveThinking hace que los modelos Claude usen thinking adaptativo. Opus 5.5 rechaza un presupuesto de thinking fijo.
  • contextWindow y maxTokens indican a Pi los límites de cada modelo.

Ejecutar Pi

Define tu clave API y luego inicia Pi desde el directorio de tu proyecto:
Cambia de modelo con /model. Para una ejecución no interactiva, usa el modo print:

Modelos compatibles

openai-latest y claude-latest siempre apuntan a nuestro modelo insignia más reciente de cada familia.

Solución de problemas

¿Por qué no aparecen los modelos de Capriole AI en /model?

Pi oculta un modelo personalizado hasta que puede resolver su clave. Exporta CAPRIOLE_AI_API_KEY en el mismo shell antes de iniciar Pi.

¿Por qué Pi devuelve un error de autenticación?

Confirma que el proveedor tiene "authHeader": true.

¿Por qué Opus 5.5 falla con requires adaptive thinking?

Confirma que las entradas de los modelos Claude tienen "compat": { "forceAdaptiveThinking": true }.

¿Por qué las solicitudes de Claude fallan con Unsupported Claude Messages model?

Los modelos Claude en anthropic-messages necesitan los IDs de Claude sin prefijo, como claude-opus-5-5. Los IDs con el prefijo anthropic/ son para Chat Completions.

Notas

Última modificación el 20 de octubre de 2026