DE ▾
API-Schlüssel erhalten

VS Code LLM API: Verbinde deinen Editor mit deinem eigenen Schlüssel

Du kannst VS Code auf jeden OpenAI-kompatiblen Endpunkt zeigen, indem du einer Erweiterung drei Werte gibst: eine Basis-URL, einen API-Schlüssel und eine Modell-ID. Diese Seite zeigt, wo diese Werte hingehören und wie du sie zuerst testest.

Aktualisiert

Abstrakter Code-Editor, der durch ein Kabel mit einem leuchtenden Serverwürfel verbunden ist, der eine VS Code LLM API-Verbindung darstellt

Wichtige Punkte

  • Teste den Schlüssel mit curl, bevor du den Editor berührst, damit du weißt, welche Seite defekt ist.
  • Erweiterungen wie Continue und Cline fragen nach denselben drei Werten: Basis-URL, Schlüssel, Modell-ID.
  • Verwende die Modell-ID uncensored und die Basis-URL https://api.codingllmapi.com/v1.
  • Die API liefert nur Chat-Vervollständigungen, daher funktionieren Funktionen, die einen separaten Vervollständigungs-Endpunkt benötigen, möglicherweise nicht.

Was du vor dem Start benötigst

Eine VS Code LLM API-Einrichtung hat keine Magie daran. VS Code selbst kommuniziert nicht mit Sprachmodellen. Eine Erweiterung tut dies, und diese Erweiterung muss wissen, wohin sie Anfragen senden und wie sie dich identifizieren soll. Jede Erweiterung, die einen benutzerdefinierten OpenAI-kompatiblen Anbieter unterstützt, kann diesen Dienst nutzen.

Sammle zuerst diese drei Werte.

  • Basis-URL: https://api.codingllmapi.com/v1
  • Modell-ID: uncensored
  • API-Schlüssel: erstellt auf der API-Schlüssel-Seite. Nach der Anmeldung kannst du mit einem Klick $0,50 kostenloses Testguthaben beanspruchen, gültig für 7 Tage und ohne Kartenangabe.

Der Schlüssel wird als Authorization: Bearer <key> in die Anfrage eingefügt. Erweiterungen fügen diesen Header für dich hinzu, sobald du den Schlüssel in ihren Einstellungen einfügst.

Schritt 1: Teste den Schlüssel außerhalb des Editors

Debugging innerhalb einer Erweiterung ist langsamer als Debugging in einem Terminal. Öffne das Terminal in VS Code (Strg+` unter Windows und Linux, Cmd+` unter macOS), speichere den Schlüssel in einer Umgebungsvariable und führe zwei Aufrufe aus. Der erste listet Modelle auf. Der zweite sendet eine kleine Chat-Anfrage.

export LLM_API_KEY="paste-your-key-here"

curl -s https://api.codingllmapi.com/v1/models \
  -H "Authorization: Bearer $LLM_API_KEY"

curl -s https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}],"max_tokens":10}'

Wenn die zweite Anfrage JSON mit einer Nachricht zurückgibt, sind der Schlüssel, die URL und die Modell-ID korrekt. Was später schiefgeht, ist eine Erweiterungseinstellung, nicht dein Konto. Wenn du hier einen Authentifizierungsfehler erhältst, prüfe, ob du den gesamten Schlüssel kopiert hast und kein falsches Anführungszeichen oder Leerzeichen mitkopiert wurde.

Schritt 2: Konfiguriere eine Erweiterung

Erweiterungseinstellungen ändern sich zwischen Versionen, also betrachte die unten stehenden Feldnamen als Richtlinie und überprüfe die Dokumentation der Erweiterung, wenn ein Label abweicht. Die drei Werte sind immer dieselben.

Continue

Continue ist ein Open-Source-Assistent für VS Code und JetBrains. Er liest eine Konfigurationsdatei aus deinem Home-Verzeichnis. Neuere Versionen verwenden eine YAML-Datei, ältere verwenden config.json. Der Modelleintrag enthält in beiden Formaten dieselben Felder. Im JSON-Format sieht das so aus:

{
  "models": [
    {
      "title": "Uncensored",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.codingllmapi.com/v1",
      "apiKey": "paste-your-key-here"
    }
  ]
}

Der Anbieter ist openai, weil das Übertragungsformat das von OpenAI ist. Nur apiBase weist Continue an, mit einem anderen Server zu kommunizieren. Lade das Fenster nach dem Speichern neu und wähle das Modell aus dem Dropdown im Chat-Panel.

Cline

Cline ist eine Agent-Erweiterung, die Dateien lesen, bearbeiten und Terminalbefehle mit deiner Genehmigung ausführen kann. Öffne die Einstellungen und wähle den Anbieter namens OpenAI Compatible. Gib die Basis-URL, den API-Schlüssel und die Modell-ID ein. Füge https://api.codingllmapi.com/v1, deinen Schlüssel und uncensored ein. Speichere, starte eine Aufgabe und genehmige die erste Tool-Nutzung.

Andere Erweiterungen

Viele Tools folgen demselben Muster unter Namen wie „custom endpoint“, „OpenAI-kompatibel“ oder „Bring Your Own Key“. Suche nach einem Feld, das eine Basis-URL akzeptiert. Wenn eine Erweiterung nur eine feste Liste von Anbietern ohne URL-Feld bietet, kann sie nicht auf diese API zeigen.

Was funktioniert und was möglicherweise nicht

Diese API implementiert POST /v1/chat/completions und GET /v1/models. Das deckt Chat-Panels, Bearbeitungsbefehle, Erkläre-diesen-Code-Aktionen und Agent-Schleifen ab. Es deckt nicht alles ab, was ein Editor anfordern könnte.

Editor-FunktionErwartetes Ergebnis
Chat über die geöffnete DateiFunktioniert
Code auswählen und um eine Bearbeitung bittenFunktioniert
Agent-Aufgaben mit WerkzeugaufrufenFunktioniert, wenn die Erweiterung das Standardfeld tools oder ihr eigenes Prompt-Format verwendet
Inline-Tab-VervollständigungHängt von der Erweiterung ab. Wenn sie einen separaten Endpunkt für Vervollständigungen oder Fill-in-the-Middle benötigt, stellt diese API keinen solchen Endpunkt bereit.
Codebase-Embeddings und IndexierungHier nicht verfügbar, da es keinen Embeddings-Endpunkt gibt. Verwende eine andere Embedding-Quelle oder schalte die Indexierung aus
Bildeingabe oder -generierungNicht verfügbar, die API ist nur textbasiert

Wenn eine Erweiterung bei einer Funktion in dieser Tabelle fehlschlägt, schalte diese Funktion in ihren Einstellungen aus, anstatt anzunehmen, dein Schlüssel sei falsch. Für einen Überblick darüber, wie dieses Modell für Programmierarbeiten geeignet ist, sieh dir die Seite zu einem unzensierten Modell für Coding-Agents an.

Über Erweiterungen hinaus: Skripte, die du vom Editor aus ausführst

Eine Erweiterung ist nicht die einzige Möglichkeit, einen Schlüssel aus VS Code zu verwenden. Viele Entwickler halten ein kleines Skript im Projekt, das eine Datei an das Modell sendet und die Antwort ausgibt, und führen es dann im integrierten Terminal aus oder binden es an eine Aufgabe. Dies gibt dir volle Kontrolle über den Prompt und vermeidet Überraschungen durch versteckte Anweisungen einer Erweiterung.

Hier ist ein kurzes Python-Skript, das die Datei überprüft, deren Pfad du übergibst. Es liest den Schlüssel aus einer Umgebungsvariable, sodass nichts Geheimes in deinem Repository landet.

import os
import sys
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

path = sys.argv[1]
with open(path, encoding="utf-8") as f:
    source = f.read()

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "Review the code. List bugs first, then style issues. Be brief."},
        {"role": "user", "content": source},
    ],
    temperature=0.2,
)
print(resp.choices[0].message.content)

Führe es mit python review.py src/app.py aus. Große Dateien sind bis zum 100.000-Token-Fenster in Ordnung, aber ein kleinerer Prompt antwortet schneller und kostet weniger. Wenn du möchtest, dass die Antwort erscheint, während sie geschrieben wird, übergebe stream=True und gib jeden Chunks delta.content aus, wenn er eintrifft.

Die gleiche Idee funktioniert als VS Code-Aufgabe in .vscode/tasks.json: Definiere eine Aufgabe, deren Befehl dieses Skript mit der aktuellen Datei als Argument ist, und löse sie über die Befehlspalette aus. Es ist eine kleine Einrichtung, und das Ergebnis ist ein Überprüfungsbefehl, den du vollständig verstehst.

Häufige Fehler beheben

Die meisten Probleme lassen sich auf eine Handvoll Ursachen zurückführen. Arbeite von der Spitze dieser Liste aus.

  1. 401 oder „ungültiger API-Schlüssel“. Der Schlüssel wurde mit einem Leerzeichen am Ende eingefügt, oder du hast einen Schlüssel verwendet, der für eine andere Seite gedacht ist. Erstelle einen neuen und füge ihn erneut ein.
  2. 404 oder „Modell nicht gefunden“. Die Modell-ID ist falsch geschrieben, oder bei der Basis-URL fehlt /v1 oder ist doppelt vorhanden. Die korrekte ID ist uncensored. Führe den Aufruf von /v1/models aus, um zu sehen, was der Server meldet.
  3. 429 mit rate_limited. Du hast das Ratenlimit für Anfragen pro Minute überschritten: 300 bei einem Voll-Key, 60 bei einem Trial-Key. Agenten, die schnell in einer Schleife laufen, stoßen darauf. Warte und versuche es erneut, oder reduziere die Anzahl der automatischen Schritte.
  4. 429 mit concurrency. Zu viele parallele Anfragen: 8 bei einem Voll-Key, 2 bei einem Trial-Key. Einige Erweiterungen senden mehrere Aufrufe parallel für eine Aufgabe. Eine gestreamte Antwort hält ihre Ressource bis zum Ende belegt, sodass ein hängengebliebener Stream neue Aufrufe blockieren kann.
  5. 429 mit einem Retry-After: 5 Header. Vorübergehende Überlastung. Die Erweiterung sollte nach fünf Sekunden erneut versuchen. Wenn sie das nicht tut, wiederhole den Aufruf manuell.
  6. Die Anfrage wird als zu groß abgelehnt. Das Limit für die Anfragegröße (Body) beträgt 8 MB, und das Kontextfenster umfasst 100.000 Token für Prompt und Antwort zusammen. Agents, die viele Dateien anhängen, können dies überschreiten. Verkleinere den Kontext oder lösche die Konversation.

Wenn du Support um Hilfe bittest, füge den Wert des X-Request-Id Response-Headers hinzu. Du kannst ihn mit curl -i anzeigen.

Kosten im Blick behalten

Editor-Agenten senden viel Text, da jeder Schritt normalerweise die bisherigen Dateien und den Verlauf enthält. Der Preis beträgt $0,15 pro 1 Mio. Input-Token und $0,50 pro 1 Mio. Output-Token. Das hält einzelne Anfragen kostengünstig, aber Schleifen summieren sich schnell.

Ein Rechenbeispiel: Ein Schritt eines Agenten mit 30.000 Input-Token und 1.000 Output-Token kostet 30.000 × $0,15 / 1.000.000 = $0,0045 für Input und 1.000 × $0,50 / 1.000.000 = $0,0005 für Output, also $0,005 pro Schritt. Eine Aufgabe mit 40 solchen Schritten kostet $0,20. Das ist eine grobe Orientierung, keine Garantie, da reale Schritte in der Größe variieren.

  • Überprüfe X-Balance-USD in den Response-Headers, um dein Guthaben nach einem Aufruf zu sehen.
  • Starte neue Aufgaben in neuen Chats, damit der alte Verlauf nicht immer mitschleppt.
  • Lege das Schritt- oder Anfragelimit der Erweiterung fest, falls vorhanden.

Das Guthaben ist Prepaid, daher stoppt die Ausgabe, wenn das Guthaben aufgebraucht ist, und es verfällt nie. Aufladungen laufen in ganzen Beträgen von $20 bis $500, mit einem Bonus von 5 % ab $50, 10 % ab $100 und 15 % ab $200. Karten (Visa, Mastercard, Apple Pay, Google Pay) und Krypto (USDT auf TRC20, USDC auf Base) werden akzeptiert. Details findest du auf der Preisseite, und die Dokumentation listet alle unterstützten Parameter auf.

Ein Hinweis zu Datenschutz und Nutzung

Code, den du sendest, geht an die Server des Anbieters, also füge keine Geheimnisse wie Produktions-Schlüssel, Passwörter oder Kundendaten in Prompts ein. Prompts auf diesem Service werden nicht zum Training verwendet. Das Modell ist darauf trainiert, ohne Inhaltsfilter für die legale Nutzung durch Erwachsene zu antworten, was bedeutet, dass es nicht damit beginnt, dich bei einem Sicherheitstest oder einem Skript für ein düsteres Spiel zu belehren, aber du bleibst verantwortlich für das, was du es tun lässt. Sexuelle Inhalte mit Minderjährigen sind niemals erlaubt.

Fragen und Antworten

Kann ich diese API mit GitHub Copilot in VS Code nutzen?

Copilot ist an seinen eigenen Dienst gebunden, daher ersetzt dieser Schlüssel ihn nicht. Nutze eine Erweiterung, die einen benutzerdefinierten Endpunkt akzeptiert, wie Continue oder Cline.

Welche Modell-ID gebe ich ein?

Gib uncensored ein. Du kannst es bestätigen, indem du GET /v1/models mit deinem Schlüssel aufrufst.

Warum sagt der Editor, die Verbindung sei fehlgeschlagen?

Führe zuerst den curl-Test durch. Wenn curl funktioniert, überprüfe die Basis-URL in der Erweiterung erneut, einschließlich des /v1 am Ende und ohne zusätzliche Leerzeichen.

Funktioniert die Inline-Vervollständigung?

Nur wenn die Erweiterung normale Chat-Vervollständigungen dafür nutzen kann. Diese API hat keinen separaten Vervollständigungs-Endpunkt, also überprüfe die Einstellungen der Erweiterung für die automatische Vervollständigung.

Gibt es eine kostenlose Möglichkeit, es zu testen?

Neue Nutzer können nach der Anmeldung auf der API-Schlüssel-Seite $0,50 an Testguthaben beanspruchen. Es benötigt keine Karte, dauert 7 Tage und ist auf eine Person beschränkt.

Dein Schlüssel ist nur ein Formular entfernt

Erstelle ein Konto, kopiere den Schlüssel, ändere die Basis-URL. Das ist die gesamte Einrichtung.

API-Schlüssel erhalten