Clientes/pi
Usa la API de Wokey con pi
Obtén una clave de API de Wokey, apunta pi a la base URL de Wokey y confirma la conexión con una solicitud curl.
Actualizado
En esta páginaexpand_more
Obtén una clave de API y la base URLlink
Todos los clientes usan la misma clave de API de Wokey y la misma base URL.
Crea una clave de API
Inicia sesión y crea una clave de la plataforma en la página API. Las claves de una misma cuenta comparten su saldo.
Crear clave de APIkeyUsa la base URL de Wokey
Configura como base URL del cliente el dominio del gateway; la configuración de abajo indica si hay que añadir /v1.
Configura el clientelink
pi lee los providers personalizados desde models.json. La configuración de abajo llama a los modelos Claude mediante Anthropic Messages; para GPT, DeepSeek y otros modelos, agrega un segundo provider con api en openai-completions y un baseUrl que termine en /v1.
- 1
Exporta la clave de API
Ejecuta export WOKEY_API_KEY="YOUR_API_KEY" en la terminal desde la que inicias pi, o agrégalo a ~/.zshrc.
- 2
Escribe models.json
Guarda el contenido de abajo en ~/.pi/agent/models.json. Si el archivo ya tiene otros providers, agrega solo la entrada wokey bajo providers.
- 3
Selecciona el modelo
Inicia pi, escribe /model y elige un modelo bajo wokey.
{
"providers": {
"wokey": {
"baseUrl": "https://api.wokey.ai",
"api": "anthropic-messages",
"apiKey": "$WOKEY_API_KEY",
"models": [
{ "id": "claude-opus-5-5", "reasoning": true, "input": ["text", "image"] }
]
}
}
}Formatos de API y base URLlink
Cuando un mismo cliente cambia de formato de API, puede cambiar si la base URL termina en /v1.
| Formato | Base URL | Úsalo para |
|---|---|---|
| Anthropic Messages | https://api.wokey.ai | Modelos Claude |
| OpenAI Chat Completions | https://api.wokey.ai/v1 | DeepSeek, GLM, Kimi y otros modelos |
| OpenAI Responses | https://api.wokey.ai/v1 | Modelos GPT |
Dónde se configura: ~/.pi/agent/models.json
Verifica con curllink
Si el cliente muestra un error, primero descarta problemas con la clave y la base URL usando curl.
pi usa el formato Anthropic Messages de forma predeterminada. Si esta solicitud devuelve 200, la clave y la base URL son correctas. Reemplaza YOUR_API_KEY por tu clave antes de enviarla.
curl https://api.wokey.ai/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "Hello" }
]
}'Errores y solución de problemaslink
Primero distingue los casos de autenticación, saldo, límite de tasa, disponibilidad del modelo y tiempo de espera del upstream.
invalid api key
La clave falta, está mal escrita, se eliminó, o los encabezados Authorization / x-api-key no coinciden.
insufficient balance
El saldo de la cuenta es demasiado bajo. Recarga antes de enviar más solicitudes.
model_denylisted / account_restricted
Las llamadas al modelo, o a todos los modelos de la cuenta, están pausadas tras infracciones repetidas. Consulta Tarifas por gestión de infracciones y restricciones.
request_blocked
Esta solicitud se bloqueó antes de llegar al upstream y no se cobra, por ejemplo el reenvío sin cambios de una solicitud que el modelo acaba de rechazar, o un usuario final pausado (X-End-User-Id). El mensaje de error indica qué está bloqueado; modifica la solicitud como indica o vuelve a intentarlo más tarde. Las demás solicitudes no se ven afectadas.
rate limited
El tráfico es demasiado frecuente. Vuelve a intentarlo más tarde o reduce la concurrencia. Si solo un modelo, o un usuario final (X-End-User-Id), sigue devolviendo 429, puede ser un límite temporal tras infracciones.
client disconnected
El cliente cerró la conexión antes de que terminara la respuesta (código downstream_aborted). Por defecto no se cobra. Cuando una cuenta acumula al menos 50 desconexiones del cliente en las últimas 24 horas y representan el 10% o más de sus solicitudes, las solicitudes desconectadas posteriores se cobran según el uso que informó el upstream: la entrada procesada, incluidas lecturas y escrituras de caché, y la salida solo si el upstream la contabilizó. Una desconexión antes de que el upstream informe cualquier uso sigue siendo gratis. La cuenta recibe un aviso cuando empieza el cobro, y el cobro se detiene automáticamente en menos de una hora cuando la tasa de desconexión vuelve a la normalidad. La causa habitual es un tiempo de espera del cliente o del proxy demasiado corto, o un programa que cancela solicitudes antes de que terminen.
upstream unavailable
El servicio del modelo upstream no está disponible temporalmente. Cambia de modelo o vuelve a intentarlo más tarde.
upstream timeout
Se agotó el tiempo de espera de la respuesta del upstream. Acorta el contexto, reduce max_tokens o vuelve a intentarlo.
upstream overloaded
El modelo upstream está sobrecargado temporalmente y Wokey ya reintentó por otras rutas (código upstream_overloaded). No tiene relación con tu saldo. Vuelve a intentarlo en breve o cambia de modelo.
Preguntas frecuenteslink
- ¿El baseUrl de pi debe terminar en /v1?
- Depende del campo api. Con anthropic-messages usa https://api.wokey.ai sin /v1; con openai-completions u openai-responses usa https://api.wokey.ai/v1.
- ¿Por qué no aparecen los modelos de Wokey en /model?
- pi no muestra los modelos personalizados cuando no puede resolver la clave de API. Si apiKey es $WOKEY_API_KEY, exporta WOKEY_API_KEY en la misma terminal desde la que inicias pi y luego verifica que models.json sea JSON válido. /model vuelve a leer el archivo cada vez que se abre.
- ¿Cómo envío imágenes a un modelo de Wokey en pi?
- Los modelos personalizados de pi declaran solo entrada de texto de forma predeterminada. Agrega "input": ["text", "image"] a un modelo que acepte imágenes para declarar que recibe entrada de imagen.
- ¿Tengo que cambiar la ventana de contexto y la salida máxima?
- Sin ellos, pi asume contextWindow 128000 y maxTokens 16384. Cuando el modelo tiene una ventana más grande, configura contextWindow y maxTokens en la entrada del modelo con los valores de su página de modelo.
- ¿Puedo dejar la clave de API fuera del archivo?
- Sí. apiKey acepta una variable de entorno escrita como $NAME, y una forma !command que lee la clave de la salida de un comando.