VS Code LLM API: verbind je editor met je eigen sleutel
Je kunt VS Code laten wijzen naar een willekeurig OpenAI-compatibel endpoint door een extensie drie waarden te geven: een base URL, een API-sleutel en een model-ID. Deze pagina laat zien waar die waarden moeten staan en hoe je ze eerst kunt testen.
Bijgewerkt

Belangrijkste punten
- Test de sleutel met curl voordat je de editor aanraakt, zodat je weet welke kant kapot is.
- Extensies zoals Continue en Cline vragen om dezelfde drie waarden: base URL, sleutel, model-ID.
- Gebruik model-ID
uncensoreden de base URL https://api.codingllmapi.com/v1. - De API levert alleen chat-completies, dus functies die een apart completion-endpoint nodig hebben, werken mogelijk niet.
Wat je nodig hebt voordat je begint
Een VS Code LLM API-instelling heeft geen magie. VS Code zelf communiceert niet met taalmodellen. Een extensie doet dat, en die extensie moet weten waar hij verzoeken moet sturen en hoe hij je moet identificeren. Elke extensie die een aangepaste OpenAI-compatible provider ondersteunt, kan deze service gebruiken.
Verzamel eerst deze drie waarden.
- Base URL:
https://api.codingllmapi.com/v1 - Model ID:
uncensored - API-sleutel: aangemaakt op de API-sleutelpagina. Na het registreren kun je met één klik $0,50 aan proeftegoed claimen, geldig voor 7 dagen en zonder creditcard.
De sleutel wordt als volgt aan het verzoek toegevoegd: Authorization: Bearer <key>. Extensies voegen deze header automatisch toe zodra je de sleutel in hun instellingen plakt.
Stap 1: test de sleutel buiten de editor
Foutopsporing binnen een extensie is langzamer dan in een terminal. Open de terminal in VS Code (Ctrl+` op Windows en Linux, Cmd+` op macOS), sla de sleutel op in een omgevingsvariabele en voer twee aanroepen uit. De eerste lijst modellen op. De tweede stuurt een klein chatverzoek.
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}'
Als de tweede aanroep JSON retourneert met een bericht, zijn de sleutel, de URL en de model-ID allemaal correct. Wat er later ook misgaat, is een extensie-instelling, geen accountprobleem. Als je hier een authenticatiefout krijgt, controleer dan of je de hele sleutel hebt gekopieerd en dat er geen losse aanhalingstekens of spaties zijn meegelopen.
Stap 2: configureer een extensie
Extensie-instellingen veranderen tussen versies, dus behandel de onderstaande veldnamen als richtlijn en raadpleeg de documentatie van de extensie zelf als een label verschilt. De drie waarden zijn altijd hetzelfde.
Continue
Continue is een open-source assistent voor VS Code en JetBrains. Het leest een configuratiebestand uit je home-map. Nieuwere versies gebruiken een YAML-bestand, en oudere versies gebruiken config.json. De modelvermelding bevat in beide formaten dezelfde velden. In het JSON-formaat ziet dit er als volgt uit:
{
"models": [
{
"title": "Uncensored",
"provider": "openai",
"model": "uncensored",
"apiBase": "https://api.codingllmapi.com/v1",
"apiKey": "paste-your-key-here"
}
]
}
De provider is openai omdat het wire-formaat dat van OpenAI is. Alleen apiBase vertelt Continue naar een andere server te praten. Herlaad het venster na het opslaan en kies het model uit het dropdownmenu in het chatvenster.
Cline
Cline is een agent-extensie die bestanden kan lezen, bewerken en terminalopdrachten kan uitvoeren met jouw goedkeuring. Open de instellingen en kies de provider met de naam OpenAI Compatible. Vul de Base URL, de API Key en de Model ID in. Plak https://api.codingllmapi.com/v1, je sleutel en uncensored. Sla op, start een taak en keur het eerste gebruik van een tool goed.
Andere extensies
Veel tools volgen hetzelfde patroon onder namen zoals "custom endpoint", "OpenAI-compatible" of "bring your own key". Zoek naar een veld dat een base URL accepteert. Als een extensie alleen een vaste lijst van leveranciers biedt zonder URL-veld, kan deze niet op deze API worden ingesteld.
Wat wel en wat niet werkt
Deze API implementeert POST /v1/chat/completions en GET /v1/models. Dat dekt chatpanelen, bewerkopdrachten, 'leg deze code uit'-acties en agent-loops. Het dekt niet alles wat een editor zou kunnen vragen.
| Editorfunctie | Verwacht resultaat |
|---|---|
| Chat over het open bestand | Werkt |
| Selecteer code en vraag om een bewerking | Werkt |
| Agenttaken met hulpprogramma-aanroepen | Werkt als de extensie het standaard tools-veld of zijn eigen promptformaat gebruikt |
| Inline tab-autocompleter | Afhankelijk van de extensie. Als een apart completion- of fill-in-the-middle-endpoint nodig is, biedt deze API dat niet |
| Codebase-embeddings en indexering | Niet beschikbaar hier, omdat er geen embeddings-endpoint is. Gebruik een andere embeddings-bron of schakel indexering uit |
| Afbeeldingsinvoer of -generatie | Niet beschikbaar, de API is alleen tekst |
Als een extensie faalt op een functie in deze tabel, schakel die ene functie dan uit in de instellingen in plaats van ervan uit te gaan dat je sleutel fout is. Voor een overzicht van hoe dit model presteert bij programmeerwerk, zie de pagina over een ongecensureerd model voor code-agents.
Voorbij extensies: scripts die je vanuit de editor uitvoert
Een extensie is niet de enige manier om een sleutel vanuit VS Code te gebruiken. Veel ontwikkelaars houden een klein script in het project dat een bestand naar het model stuurt en het antwoord afdrukt, en voeren het vervolgens uit vanuit de geïntegreerde terminal of binden het aan een taak. Dit geeft je volledige controle over de prompt en voorkomt verrassingen door verborgen instructies van een extensie.
Hier is een kort Python-script dat elk bestandspad dat je meegeeft, beoordeelt. Het leest de sleutel uit een omgevingsvariabele, zodat er niets geheims in je repository terechtkomt.
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)
Voer het uit met python review.py src/app.py. Grote bestanden zijn prima tot het 100.000-token contextvenster, maar een kleinere prompt geeft sneller antwoord en kost minder. Als je wilt dat het antwoord verschijnt terwijl het wordt geschreven, geef je stream=True door en print je elke chunk van delta.content zodra deze aankomt.
Hetzelfde idee werkt als een VS Code-taak in .vscode/tasks.json: definieer een taak waarvan het commando dit script is met het huidige bestand als argument, en activeer het vanuit het commandopallet. Het is een kleine hoeveelheid setup, en het resultaat is een review-opdracht die je volledig begrijpt.
Veelvoorkomende fouten oplossen
De meeste problemen vallen onder een handvol oorzaken. Werk van boven naar beneden in deze lijst.
- 401 of "ongeldige API-sleutel". De sleutel is geplakt met een spatie aan het eind, of je hebt een sleutel gebruikt voor een andere site. Maak een nieuwe aan en plak deze opnieuw.
- 404 of "model niet gevonden". De model-ID is verkeerd gespeld, of de base URL mist
/v1of heeft deze twee keer. De juiste ID isuncensored. Voer de/v1/models-aanroep uit om te zien wat de server rapporteert. - 429 met
rate_limited. Je hebt de limiet voor verzoeken per minuut overschreden: 300 op een volledige sleutel, 60 op een proefsleutel. Agents die snel doorlopen, lopen hier snel tegenaan. Wacht en probeer het opnieuw, of verlaag het aantal automatische stappen. - 429 met
concurrency. Te veel verzoeken tegelijk: 8 op een volledige sleutel, 2 op een proefsleutel. Sommige extensies sturen meerdere calls parallel voor één taak. Een gestreamd antwoord houdt zijn slot vast tot het einde, dus een vastgelopen stream kan nieuwe calls blokkeren. - 429 met een
Retry-After: 5-header. Tijdelijke overbelasting. De extensie moet na vijf seconden opnieuw proberen. Als dat niet gebeurt, probeer dan handmatig opnieuw. - Het verzoek wordt afgewezen omdat het te groot is. De limiet voor de body is 8 MB, en het contextvenster is 100.000 tokens voor prompt plus antwoord. Agents die veel bestanden toevoegen, kunnen deze limiet overschrijden. Beperk het contextvenster of wis de conversatie.
Voeg bij een supportvraag de waarde van de X-Request-Id response header toe. Je kunt deze zien met curl -i.
Kosten inzichtelijk houden
Editor agents sturen veel tekst, omdat elke stap meestal de bestanden en de geschiedenis tot nu toe bevat. Prijzen zijn $0,15 per 1M input tokens en $0,50 per 1M output tokens, wat de kosten van individuele verzoeken klein houdt, maar loops lopen snel op.
Een werkvoorbeeld: een agentstap met 30.000 input-tokens en 1.000 output-tokens kost 30.000 x $0,15 / 1.000.000 = $0,0045 voor input en 1.000 x $0,50 / 1.000.000 = $0,0005 voor output, dus $0,005 per stap. Een taak van 40 dergelijke stappen kost $0,20. Dit is een ruwe schatting, geen belofte, omdat echte stappen in grootte variëren.
- Controleer
X-Balance-USDin de response headers om je tegoed na een call te zien. - Start nieuwe taken in nieuwe conversaties, zodat oude geschiedenis niet oneindig meeloopt.
- Stel de limiet voor stappen of verzoeken in de extensie in, als die optie bestaat.
Tegoed is prepaid, dus de uitgaven stoppen als het saldo op is, en het vervalt nooit. Opwaarderingen lopen van $20 tot $500 in hele bedragen, met een bonus van 5% vanaf $50, 10% vanaf $100 en 15% vanaf $200. Kaarten (Visa, Mastercard, Apple Pay, Google Pay) en crypto (USDT op TRC20, USDC op Base) worden geaccepteerd. Details staan op de prijzenpagina, en de docs vermelden alle ondersteunde parameters.
Een opmerking over privacy en gebruik
Code die je verstuurt, gaat naar de servers van de provider, dus plak geen geheimen zoals productiesleutels, wachtwoorden of klantgegevens in prompts. Prompts op deze service worden niet gebruikt voor training. Het model is afgestemd op het geven van antwoorden zonder inhoudelijke weigeringen voor legaal gebruik door volwassenen, wat betekent dat het niet stopt om je te vertellen over een securitytest of een donker thema-gamescript, maar jij blijft verantwoordelijk voor wat je het vraagt te doen. Seksuele inhoud met minderjarigen is nooit toegestaan.
Meer handleidingen
Vragen en antwoorden
Kan ik deze API gebruiken met GitHub Copilot in VS Code?
Copilot is gekoppeld aan zijn eigen service, dus deze sleutel vervangt het niet. Gebruik een extensie die een aangepast endpoint accepteert, zoals Continue of Cline.
Welke model-ID moet ik invoeren?
Voer uncensored in. Je kunt dit bevestigen door GET /v1/models aan te roepen met je sleutel.
Waarom zegt de editor dat de verbinding is mislukt?
Voer eerst de curl-test uit. Als curl werkt, controleer dan de base URL in de extensie opnieuw, inclusief /v1 aan het einde en de afwezigheid van extra spaties.
Werkt inline autocomplete?
Alleen als de extensie gewone chat-completies daarvoor kan gebruiken. Deze API heeft geen apart completion-endpoint, dus controleer de autocomplete-instellingen van de extensie.
Is er een gratis manier om het te testen?
Nieuwe gebruikers kunnen $0,50 aan proeftegoed claimen op de API-sleutelpagina na het inloggen. Er is geen kaart nodig, het geldt 7 dagen en is beperkt tot één per persoon.
Je sleutel is nog maar één formulier verwijderd
Maak een account aan, kopieer de sleutel, pas de base URL aan. Dat is de hele setup.
API-sleutel aanvragen