Saltar al contenido principal
Pi es el proyecto Pi Agent Harness. Su paquete @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:
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

1

Instala Pi

Instala Pi globalmente con npm:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Confirma que la CLI esté disponible:
pi --version
2

Establece tu clave de API de CometAPI

Guarda tu clave de API de CometAPI en la variable de entorno COMETAPI_KEY:
read -rsp "CometAPI API key: " COMETAPI_KEY
printf '\n'
export COMETAPI_KEY
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.
3

Agrega proveedores de CometAPI a models.json

Crea ~/.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:
{
  "providers": {
    "cometapi-responses": {
      "name": "CometAPI Responses",
      "baseUrl": "https://api.cometapi.com/v1",
      "api": "openai-responses",
      "apiKey": "$COMETAPI_KEY",
      "models": [
        {
          "id": "your-model-id",
          "name": "CometAPI Responses model"
        }
      ]
    },
    "cometapi-chat": {
      "name": "CometAPI Chat Completions",
      "baseUrl": "https://api.cometapi.com/v1",
      "api": "openai-completions",
      "apiKey": "$COMETAPI_KEY",
      "models": [
        {
          "id": "your-model-id",
          "name": "CometAPI Chat model"
        }
      ]
    }
  }
}
Usa 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.
4

Verifica ambos proveedores

Enumera los modelos que Pi puede ver para el proveedor de Responses:
pi --list-models cometapi-responses
Ejecuta un Prompt corto de una sola vez con el proveedor de Responses:
pi --provider cometapi-responses --model your-model-id -p "Reply with one short sentence confirming the Responses connection."
Enumera los modelos que Pi puede ver para el proveedor de Chat Completions:
pi --list-models cometapi-chat
Ejecuta un Prompt corto de una sola vez con el proveedor de Chat Completions:
pi --provider cometapi-chat --model your-model-id -p "Reply with one short sentence confirming the Chat Completions connection."
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

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.
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.
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.
Comprueba tu versión de Node.js con node --version. El paquete de Pi requiere Node.js >=22.19.0.
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 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.

Recursos relacionados