@earendil-works/pi-coding-agent proporciona una CLI de agente de programación interactivo con flujos de trabajo de archivos, shell, edición, escritura, sesión, impresión, JSON, RPC y SDK. Pi puede cargar proveedores personalizados desde ~/.pi/agent/models.json, por lo que puedes añadir CometAPI como entradas de proveedor compatibles con OpenAI sin cambiar el código fuente de Pi.
Referencias oficiales:
- Repositorio de Pi
- Inicio rápido de Pi
- Proveedores de Pi
- Modelos personalizados de Pi
- Uso de la CLI de Pi
La disponibilidad de los modelos cambia con el tiempo. Sustituye
your-model-id por un model ID disponible de la página de modelos de CometAPI.Requisitos previos
- Node.js
>=22.19.0 - npm
- Una cuenta de CometAPI con una API key activa desde el panel
- Pi instalado desde el paquete oficial de npm
Comprende los permisos de ejecución
Pi se ejecuta con los permisos del usuario y del proceso que lo inicia. Inicia Pi en el directorio del proyecto en el que quieras que trabaje, mantén una ruta de reversión como git y usa un contenedor o sandbox si necesitas límites más estrictos para el sistema de archivos, los procesos, la red o las credenciales.Configurar el proveedor
Establece tu clave de API de CometAPI
Guarda tu clave de API de CometAPI en la variable de entorno Agrega el comando de exportación a tu perfil de shell si quieres que persista entre sesiones de terminal. No subas claves de API al control de versiones.
COMETAPI_KEY:Agrega proveedores de CometAPI a models.json
Crea Usa
~/.pi/agent/models.json si no existe. Si el archivo ya contiene proveedores, fusiona las entradas cometapi-responses y cometapi-chat dentro del objeto providers existente:cometapi-responses para modelos o flujos de trabajo que requieran la API de OpenAI Responses. Usa cometapi-chat para modelos compatibles con OpenAI Chat Completions. Pi resuelve $COMETAPI_KEY en el momento de la solicitud. Mantén la clave de API en tu entorno o en tu propio flujo de trabajo de secretos.Verifica ambos proveedores
Enumera los modelos que Pi puede ver para el proveedor de Responses:Ejecuta un Prompt corto de una sola vez con el proveedor de Responses:Enumera los modelos que Pi puede ver para el proveedor de Chat Completions:Ejecuta un Prompt corto de una sola vez con el proveedor de Chat Completions:Para uso interactivo, inicia Pi en tu proyecto y selecciona el proveedor y model de CometAPI con
/model. Si editas models.json durante una sesión interactiva, abre /model de nuevo para que Pi recargue las entradas de modelos personalizadas.Solución de problemas
Pi no muestra el modelo de CometAPI
Pi no muestra el modelo de CometAPI
Confirma que
~/.pi/agent/models.json sea un JSON válido y que cada entrada de provider esté dentro del objeto providers de nivel superior. Ejecuta pi --list-models cometapi-responses o pi --list-models cometapi-chat después de guardar el archivo.Pi informa que no hay ninguna API key disponible
Pi informa que no hay ninguna API key disponible
Confirma que
COMETAPI_KEY esté configurada en la misma sesión de shell que inicia Pi. Si usas un perfil de shell, abre una nueva terminal o recarga el perfil antes de ejecutar Pi.Las solicitudes fallan por la base URL
Las solicitudes fallan por la base URL
Usa
https://api.cometapi.com/v1 como baseUrl en models.json. No apuntes Pi a la URL del panel ni omitas el sufijo /v1 para las rutas compatibles con OpenAI.Pi falla antes de enviar una solicitud al modelo
Pi falla antes de enviar una solicitud al modelo
Comprueba tu versión de Node.js con
node --version. El paquete de Pi requiere Node.js >=22.19.0.El modelo funciona en una ruta pero no en la otra
El modelo funciona en una ruta pero no en la otra
Usa la entrada de provider cuyo campo
api coincida con la ruta que tu modelo admite. openai-responses usa la API de Responses, mientras que openai-completions usa Chat Completions.Pi tiene más acceso del esperado
Pi tiene más acceso del esperado
Pi se ejecuta con los permisos del usuario y del proceso que lo inició. Ejecuta Pi dentro de un contenedor o sandbox cuando necesites límites más estrictos en torno a archivos, procesos, acceso a la red o credenciales.