OpenAI-kompatible Clients
OpenAI-kompatible Clients und Coding-Agents über die meinGPT-API anbinden
meinGPT stellt eine OpenAI-kompatible API bereit. Damit kannst Du OpenAI-kompatible Clients und Coding-Agents gegen Deine meinGPT-Modelle betreiben. Diese Seite zeigt die Einrichtung am Beispiel von OpenCode und Pi; andere Clients konfigurierst Du analog.
Voraussetzungen
- Ein persönlicher API-Schlüssel: Öffne in den meinGPT-Einstellungen den Bereich "meinGPT API" und erstelle einen Schlüssel.
- Der Client Deiner Wahl, lokal installiert (z. B. OpenCode oder Pi).
- Die Basis-URL der API:
https://app.meingpt.com/api/openai/v1
Client konfigurieren
In beiden Fällen trägst Du meinGPT als eigenen Provider ein: Basis-URL, API-Schlüssel und die Modelle, die Du nutzen möchtest – für einen Coding-Agent reicht in der Regel eines. Gültige Modell-IDs sind die für Deine Organisation freigeschalteten Modelle; Du findest sie über den /models-Endpunkt oder in der Modellübersicht in meinGPT.
Lege in Deinem Projekt eine opencode.json an:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"meingpt": {
"npm": "@ai-sdk/openai-compatible",
"name": "meinGPT",
"options": {
"baseURL": "https://app.meingpt.com/api/openai/v1",
"apiKey": "DEIN_API_SCHLUESSEL"
},
"models": {
"claude-sonnet-4-6": {
"name": "Claude Sonnet 4.6",
"limit": { "context": 200000, "output": 64000 }
}
}
}
}
}Danach startest Du OpenCode mit dem Modell:
opencode -m meingpt/claude-sonnet-4-6Über limit kennt OpenCode das Kontextfenster (context) und die maximale Ausgabelänge (output) des Modells und kann darüber die Kontextauslastung anzeigen. Ohne diese Angaben bleibt die Auslastungsanzeige bei 0 %. Die passenden Werte je Modell findest Du in der Modellübersicht in meinGPT.
Weitere Modelle ergänzt Du unter models.
Pi registriert Provider über eine Extension. Lege die Datei ~/.pi/extensions/meingpt.ts an:
export default function (pi) {
pi.registerProvider("meingpt", {
baseUrl: "https://app.meingpt.com/api/openai/v1",
apiKey: "DEIN_API_SCHLUESSEL",
api: "openai-completions",
models: [
{
id: "claude-sonnet-4-6",
name: "Claude Sonnet 4.6",
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
maxTokens: 64000,
},
],
});
}Danach startest Du Pi mit dem Provider und Modell:
pi --provider meingpt --model claude-sonnet-4-6Weitere Modelle ergänzt Du im models-Array der Extension.
Nicht jedes Modell beherrscht die Funktionsaufrufe (Tool Calls), die ein Coding-Agent nutzt. Such-Modelle wie Perplexity Sonar lehnen solche Anfragen mit einer Fehlermeldung ab – nimm dafür ein Modell wie Claude, GPT oder Gemini.
Optional: alle Modelle übernehmen (OpenCode)
OpenCode liest die verfügbaren Modelle über den /models-Endpunkt aus, zeigt für eigene Provider aber nur Modelle an, die es selbst kennt. Wenn Du alle freigeschalteten Modelle in der Auswahl haben möchtest, ohne sie einzeln einzutragen, kannst Du den models-Block einmalig aus der API erzeugen (benötigt curl und python3) und bei Bedarf erneut ausführen. Der /models-Endpunkt liefert keine Kontextfenster mit – für so erzeugte Modelle bleibt die Auslastungsanzeige daher bei 0 %, bis Du limit von Hand ergänzt:
KEY="DEIN_API_SCHLUESSEL"
curl -s -H "Authorization: Bearer $KEY" \
https://app.meingpt.com/api/openai/v1/models \
| KEY="$KEY" python3 -c '
import sys, json, os
data = json.load(sys.stdin)["data"]
models = {m["id"]: {"name": m["id"]} for m in data if m["id"] != "text-embedding-3-large"}
print(json.dumps({
"$schema": "https://opencode.ai/config.json",
"provider": {"meingpt": {
"npm": "@ai-sdk/openai-compatible",
"name": "meinGPT",
"options": {"baseURL": "https://app.meingpt.com/api/openai/v1", "apiKey": os.environ["KEY"]},
"models": models,
}}
}, indent=2))
' > opencode.jsonBei Pi ergänzt Du die gewünschten Modelle im models-Array der Extension.