Clients/pi
Wokey API mit pi nutzen
Hol dir einen Wokey-API-Key, trag in pi die Base URL von Wokey ein und prüf die Verbindung mit einer curl-Anfrage.
Aktualisiert
Auf dieser Seiteexpand_more
API-Key und Base URL bereitlegenlink
Alle Clients nutzen denselben Wokey-API-Key und dieselbe Base URL.
API-Key erstellen
Melde dich an und erstelle auf der API-Seite einen Plattform-Key. Alle Keys eines Kontos teilen sich dessen Guthaben.
API-Key erstellenkeyBase URL von Wokey verwenden
Trag als Base URL des Clients die Gateway-Domain ein; die Konfiguration unten zeigt, ob /v1 angehängt wird.
Client einrichtenlink
pi liest eigene Provider aus models.json. Die Konfiguration unten ruft Claude-Modelle über Anthropic Messages auf; für GPT, DeepSeek und andere Modelle füg einen zweiten Provider hinzu, mit api auf openai-completions und einer baseUrl, die auf /v1 endet.
- 1
API-Key exportieren
Führ export WOKEY_API_KEY="YOUR_API_KEY" in dem Terminal aus, das pi startet, oder trag es in ~/.zshrc ein.
- 2
models.json schreiben
Speichere den Inhalt unten in ~/.pi/agent/models.json. Enthält die Datei schon andere Provider, ergänze nur den Eintrag wokey unter providers.
- 3
Modell auswählen
Starte pi, gib /model ein und wähl ein Modell unter 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"] }
]
}
}
}API-Formate und Base URLslink
Wechselt ein Client das API-Format, kann sich ändern, ob die Base URL auf /v1 endet.
| Format | Base URL | Geeignet für |
|---|---|---|
| Anthropic Messages | https://api.wokey.ai | Claude-Modelle |
| OpenAI Chat Completions | https://api.wokey.ai/v1 | DeepSeek, GLM, Kimi und andere Modelle |
| OpenAI Responses | https://api.wokey.ai/v1 | GPT-Modelle |
Wo es konfiguriert wird: ~/.pi/agent/models.json
Mit curl prüfenlink
Meldet der Client einen Fehler, schließ zuerst mit curl Probleme mit Key und Base URL aus.
pi nutzt standardmäßig das Format Anthropic Messages. Antwortet diese Anfrage mit 200, stimmen Key und Base URL. Ersetze vor dem Senden YOUR_API_KEY durch deinen Key.
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" }
]
}'Fehler und Fehlerbehebunglink
Unterscheide zuerst zwischen Authentifizierung, Guthaben, Rate-Limit, nicht verfügbarem Modell und Upstream-Timeout.
invalid api key
Der Key fehlt, ist falsch geschrieben oder gelöscht, oder die Header Authorization und x-api-key widersprechen sich.
insufficient balance
Das Guthaben des Kontos reicht nicht aus. Lade Guthaben auf, bevor du weitere Anfragen sendest.
model_denylisted / account_restricted
Aufrufe des Modells oder aller Modelle des Kontos sind nach wiederholten Verstößen pausiert. Siehe „Bearbeitungsgebühren für Verstöße und Einschränkungen“.
request_blocked
Diese Anfrage wurde blockiert, bevor sie den Upstream erreicht hat, und wird nicht berechnet – etwa das unveränderte erneute Senden einer Anfrage, die das Modell gerade abgelehnt hat, oder ein pausierter Endnutzer (X-End-User-Id). Die Fehlermeldung nennt, was blockiert ist; ändere die Anfrage entsprechend oder versuch es später erneut. Andere Anfragen sind nicht betroffen.
rate limited
Zu viele Anfragen in kurzer Zeit. Versuch es später erneut oder verringere die Parallelität. Liefert nur ein Modell oder ein Endnutzer (X-End-User-Id) dauerhaft 429, kann das ein vorübergehendes Limit nach Verstößen sein.
client disconnected
Der Client hat die Verbindung geschlossen, bevor die Antwort fertig war (Code downstream_aborted). Das ist standardmäßig kostenlos. Hat ein Konto in den letzten 24 Stunden mindestens 50 Client-Abbrüche und machen diese 10 % oder mehr seiner Anfragen aus, werden spätere abgebrochene Anfragen nach der vom Upstream gemeldeten Nutzung berechnet: die verarbeitete Eingabe einschließlich Cache-Lesen und Cache-Schreiben sowie Ausgabe nur, wenn der Upstream sie gezählt hat. Ein Abbruch, bevor der Upstream Nutzung gemeldet hat, bleibt kostenlos. Das Konto wird benachrichtigt, wenn die Berechnung beginnt, und sie endet automatisch innerhalb einer Stunde, sobald die Abbruchquote wieder normal ist. Die übliche Ursache ist ein zu kurzer Timeout im Client oder Proxy oder ein Programm, das Anfragen abbricht, bevor sie fertig sind.
upstream unavailable
Der Upstream-Modelldienst ist vorübergehend nicht verfügbar. Wechsle das Modell oder versuch es später erneut.
upstream timeout
Die Antwort des Upstreams hat zu lange gedauert. Kürze den Kontext, verringere max_tokens oder versuch es erneut.
upstream overloaded
Das Upstream-Modell ist vorübergehend überlastet, und Wokey hat es bereits über andere Routen erneut versucht (Code upstream_overloaded). Mit deinem Guthaben hat das nichts zu tun. Versuch es in Kürze erneut oder wechsle das Modell.
Häufige Fragenlink
- Soll die baseUrl von pi auf /v1 enden?
- Das hängt vom Feld api ab. Bei anthropic-messages verwendest du https://api.wokey.ai ohne /v1; bei openai-completions oder openai-responses https://api.wokey.ai/v1.
- Warum fehlen die Wokey-Modelle in /model?
- pi listet benutzerdefinierte Modelle nicht auf, wenn es den API-Key nicht auflösen kann. Steht in apiKey $WOKEY_API_KEY, führe export WOKEY_API_KEY in demselben Terminal aus, in dem du pi startest, und prüfe dann, ob models.json gültiges JSON ist. /model liest die Datei bei jedem Öffnen neu ein.
- Wie sende ich in pi Bilder an ein Wokey-Modell?
- Benutzerdefinierte Modelle deklarieren in pi standardmäßig nur Texteingabe. Ergänze bei einem Modell, das Bilder akzeptiert, "input": ["text", "image"], um die Bildeingabe zu deklarieren.
- Muss ich Kontextfenster und maximale Ausgabe anpassen?
- Ohne diese Angaben geht pi von contextWindow 128000 und maxTokens 16384 aus. Hat das Modell ein größeres Fenster, trage contextWindow und maxTokens im Modelleintrag mit den Werten von der Modellseite ein.
- Kann ich den API-Key aus der Datei heraushalten?
- Ja. apiKey akzeptiert eine Umgebungsvariable in der Form $NAME sowie die Form !command, die den Key aus der Ausgabe eines Befehls liest.