Lokale Skripte und Web-Apps über ein ChatGPT-Konto statt über die kostenpflichtige OpenAI API ausführen

OpenAI-API-Rechnungen wachsen schneller als dein neuestes Side-Project fertig wird. Dabei haben viele bereits ein bezahltes ChatGPT-Plus-Abonnement, müssen aber trotzdem für jede Anfrage erneut bezahlen, um auf Modelle wie gpt-5.4-mini zuzugreifen oder Bilder zu generieren.
Das Projekt EvanZhouDev/openai-oauth bietet eine Möglichkeit, diese Doppelzahlung zu vermeiden. Es verwandelt ein gewöhnliches ChatGPT-Konto in einen API-Endpunkt, vollständig kompatibel mit dem Standard-OpenAI-Client und dem Vercel AI SDK.
Warum einen lokalen Proxy betreiben
OpenAI bietet das Codex-CLI-Tool für die Arbeit mit Code. Unter der Haube sendet diese CLI Anfragen an interne Endpunkte chatgpt.com/backend-api/codex und verwendet dabei OAuth-Autorisierung.
Die Bibliothek openai-oauth fängt diese Tokens ab und startet einen lokalen HTTP-Server. Du sendest Standard-Anfragen an localhost:10531/v1, und die Bibliothek übersetzt sie für ChatGPT.
Das Tool löst zwei Probleme:
- Startet einen lokalen Server für Skripte und Utilities, ohne API-Keys kaufen zu müssen.
- Bietet einen „Mit ChatGPT anmelden"-Button für Drittanbieter-React-Apps. Benutzer melden sich mit ihrem eigenen Konto an, und Anfragen werden über ihr eigenes Abonnement abgewickelt.
Lokaler Start mit einem Befehl
Der schnellste Weg, den Proxy zu testen, ist über die CLI. Es müssen keine API-Keys eingegeben werden.
npx openai-oauth
Das Tool öffnet ein Browserfenster für die ChatGPT-Autorisierung, speichert Tokens in ~/.codex/auth.json und gibt die Adresse auf der Konsole aus:
OpenAI-compatible endpoint ready at http://127.0.0.1:10531/v1
Use this as your OpenAI base URL. No API key is required.
Available Models: gpt-5.6-terra, gpt-5.6-sol, gpt-image-2
Der Server kann mit dem Flag --detach in den Hintergrund-Modus versetzt oder mit den Befehlen logs und stop verwaltet werden.
Wenn du in TypeScript schreibst, brauchst du keinen separaten Proxy-Prozess zu starten. Die Bibliothek verbindet sich direkt in deinem Code:
npm i @openai-oauth/local @openai-oauth/ai-sdk ai
import { createOpenAIOAuth } from "@openai-oauth/ai-sdk";
import { openaiCredentials } from "@openai-oauth/local";
import { generateText } from "ai";
const openai = createOpenAIOAuth(openaiCredentials());
const result = await generateText({
model: openai("gpt-5.4-mini"),
prompt: "Привет!",
});
Der Code nimmt die Autorisierung aus dem lokalen Codex-Profil und sendet Anfragen direkt an das ChatGPT-Backend.
So funktioniert das SDK
Die Bibliotheksarchitektur ist in zwei Ebenen aufgeteilt: Credential Sources und Client Adapters.

Autorisierungsquellen kümmern sich um die Token-Beschaffung:
@openai-oauth/localliest Tokens von der lokalen Festplatte im Verzeichnis~/.codex.@openai-oauth/reactholt das Token aus der Browser-Session des Benutzers.
Adapter verpacken das Token in das erforderliche Format:
@openai-oauth/ai-sdkbereitet einen Provider für das Vercel AI SDK vor.@openai-oauth/openai-clienterstellt eine Konfiguration für das offizielleopenai-Paket.@openai-oauth/coreliefert ein Low-Level-fetchundbaseURLzur Verwendung in jedem anderen Client.
Hier ein Beispiel für die Arbeit mit dem offiziellen openai-Client:
import { createOpenAIOptions } from "@openai-oauth/openai-client";
import { openaiCredentials } from "@openai-oauth/local";
import OpenAI from "openai";
const client = new OpenAI(createOpenAIOptions(openaiCredentials()));
const response = await client.chat.completions.create({
model: "gpt-5.4-mini",
messages: [{ role: "user", content: "Привет!" }],
});
Bildgenerierung
Das Repository unterstützt die Arbeit mit dem GPT Image 2-Modell. Die Endpunkte /v1/images/generations und /v1/images/edits werden auf die gleiche Weise weitergeleitet wie Textmodelle.
Beispielanfrage über cURL:
curl http://127.0.0.1:10531/v1/images/generations \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"A tiny house in a forest"}'
Oder im Code mit dem Vercel AI SDK:
const result = await generateImage({
model: openai.image("gpt-image-2"),
prompt: "A tiny house in a forest",
});
Mit ChatGPT anmelden in React

Das verlockendste Feature in v2 ist die fertige Autorisierung für Webdienste. Du installierst das Paket @openai-oauth/react und fügst einen Button zu deiner Oberfläche hinzu:
import { SignInWithChatGPT } from "@openai-oauth/react";
export default function LoginPage() {
return <SignInWithChatGPT />;
}
Browser blockieren direkte Aufrufe an Drittanbieter-APIs wegen CORS. Deshalb sendet der Client Autorisierungs-Header an dein Backend, und das Backend leitet die Anfrage weiter.
Für die sichere OAuth-Sitzungsübertragung müssen Benutzer die Browser-Erweiterung „Sign in with ChatGPT" für Chrome oder Firefox installieren. Der fertige Button erkennt automatisch das Vorhandensein der Erweiterung und bietet bei Bedarf deren Installation an. Innerhalb des Browsers wird die Sitzung mit WebCrypto verschlüsselt und in IndexedDB gespeichert.
Einschränkungen und Risiken
Du kannst dieses Projekt nicht als völlig universell bezeichnen. Es hat bemerkenswerte Einschränkungen:
- Die Liste der verfügbaren Modelle ist auf das beschränkt, was die Codex CLI für deinen Plan bereitstellt.
- Die Web-App-Autorisierung funktioniert nur in Chrome und Firefox. Noch kein Safari-Support.
- Der Endpunkt
/v1/responsesin der CLI arbeitet zustandslos. Du musst die gesamte Konversationshistorie bei jeder Anfrage mitgeben. - Die inoffizielle Nutzung des ChatGPT-Backends verstößt gegen die Nutzungsbedingungen von OpenAI.
Das Projekt sollte nicht für öffentliche Produktionsdienste mit vielen Benutzern verwendet werden. Account-Pooling oder das Weitergeben von Tokens an Dritte kann zur Sperrung deines ChatGPT-Kontos führen.
Wem dieses Repository nützlich sein wird
Die Bibliothek überzeugt durch ihre einfache Inbetriebnahme für individuelle Entwicklungsarbeit, Side Projects und Prototypentests. Du erhältst Zugang zu OpenAI-Modellen während des lokalen Debuggings, ohne eine Kreditkarte im API-Dashboard hinterlegen zu müssen.
Die Apache-2.0-Lizenz öffnet den Code für beliebige Experimente. Du kannst den Proxy in wenigen Minuten in Aktion sehen, indem du npx openai-oauth in deinem Terminal ausführst.
Ähnliche Projekte