Dokumentation

Dokumentation

twinny

twinny fragt nicht nach einer Basis-URL. Stattdessen benötigt es ein Protokoll, einen Hostnamen, einen Port und einen API-Pfad. Für Chat ist dieser Pfad die API-Basis. Verwenden Sie daher https, api.kunavo.com und /v1 und lassen Sie das Portfeld leer.

twinny hat kein Basis-URL-Feld — Add provider → OpenAI-compatible server, dann Protocol https, Hostname api.kunavo.com, Port leer und API path /v1; das Chat-Panel verwendet deinen Schlüssel.

Registerkarte Providers → Add provider → OpenAI-compatible server
Label          Kunavo
Type           Chat
Provider       OpenAI-compatible server
Hostname       api.kunavo.com
Port           (leave blank — "Blank means the protocol's default")
Protocol       https
API path       /v1
Model name     claude-sonnet-5
FIM template   (Autocomplete only — not part of a Chat provider)
API key        sk-kn-...
Der API-Pfad ist /v1 und nicht /v1/chat/completions. Die Anbietertabelle von twinny klärt es mit einem Satz: „Für Chat ist der Pfad die API-Basis; twinny fügt /chat/completions an.“ Ein Pfad, der die Route bereits enthält, ergibt daher /v1/chat/completions/chat/completions und einen 404-Fehler. Ein einzelnes Feld für die Basis-URL, das falsch ausgefüllt werden könnte, gibt es hier nicht. Dieselbe Tabelle bietet aber eine Abkürzung: Fügen Sie https://api.kunavo.com/v1 in Hostname ein; die URL wird dann „in Protokoll, Host, Port und Pfad aufgeteilt“.
Wählen Sie die allgemeine Voreinstellung OpenAI-kompatibler Server, nicht die für OpenAI oder Anthropic. Laut der Seite zu gehosteten APIs von twinny laufen Chat-Anfragen dort „über das SDK des Anbieters an dessen festen Endpunkt. Daher sind die Felder für Hostname, Port und Pfad ausgeblendet.“ Der Schlüssel würde an diesen Anbieter gesendet, nicht an Ihren Endpunkt. Die Feldbezeichnungen oben entsprechen der Anbietertabelle und sind in deren Reihenfolge aufgeführt.
Kunavo hat twinny nicht mit diesem Endpunkt ausgeführt. Diese Seite basiert auf der Dokumentation von twinny und der Routentabelle von Kunavo. Eine veröffentlichte Einrichtungsseite ist kein Test. Erst die Schaltfläche Test provider von twinny weist es tatsächlich nach: Sie „sendet eine kleine Anfrage für die Aufgabe des Anbieters und zeigt entweder Erfolg oder den vom Server zurückgegebenen Fehler samt aufgerufener URL an“.
Noch kein Schlüssel? Erstelle ein Kunavo-Konto, erstelle einen Schlüssel (er beginnt mit sk-kn-) und füge ab $10 Guthaben hinzu – Aufrufe werden aus diesem Guthaben bezahlt, fehlgeschlagene Aufrufe werden nicht berechnet. Das Dashboard öffnet anschließend die twinny-Einrichtung.

Schritt für Schritt

  1. Erstellen Sie unter /app/keys einen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt.
  2. Öffnen Sie die Registerkarte Providers über das Robotersymbol oben in der Seitenleiste oder führen Sie über die Befehlspalette den Befehl Manage twinny providers aus.
  3. Add provider → Wählen Sie unter On your machine die Voreinstellung OpenAI-compatible server für allgemeine Anwendungsfälle. Sie ist zunächst auf localhost:8080 eingestellt.
  4. Setzen Sie Protocol auf https, Hostname auf api.kunavo.com, leeren Sie Port und setzen Sie API path auf /v1. Belassen Sie Type auf Chat.
  5. Fügen Sie den Schlüssel in API key ein – twinny sendet ihn als Authorization: Bearer. Legen Sie anschließend Model name fest, entweder durch Eingabe oder über Choose from the server's models, da Kunavo GET /v1/models verarbeitet.
  6. Klicken Sie auf Test provider und anschließend auf Use this provider, um den Anbieter als aktiven Chat-Anbieter festzulegen. Verwenden Sie Copy, um den Eintrag für ein zweites Modell zu duplizieren, statt die vier Endpunktfelder erneut auszufüllen.

Abgeglichen mit die Seite „Other local servers“ von twinny am 21. September 2026. Einstellungen von Drittanbietern können sich ändern; wenn ein Feldname hier nicht mehr mit deiner Ansicht übereinstimmt, ist diese Seite maßgeblich, nicht diese hier.

Dies ist die Kurzfassung. Die vollständige Anleitung – Modellauswahl, Kosten einer tatsächlichen Sitzung und Fehlerszenarien – findest du in der Vergleich zwischen twinny und Continue.

Vor dem Debugging des Clients prüfen

Eine Anfrage klärt, ob der Fehler am Endpunkt, am Schlüssel oder an der Konfigurationsdatei liegt. Wenn diese Anfrage JSON zurückgibt, funktionieren dieselbe Basis-URL und derselbe Schlüssel in twinny.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Welche Modell-ID in das Feld gehört

Jedes Textmodell ist über eine Modell-ID erreichbar – die aktuelle Liste findest du unter GET /v1/models, den Katalog mit Preisen auf der Modellseite. Die Tarife sind USD pro 1 Mio. Token, Eingabe / Ausgabe.

Modell-IDKunavo: Ein- und AusgabeWo es in twinny hineinpasst
claude-sonnet-5$1.40 / $7.00das Chatfenster, die Inline-Bearbeitung und die Codeüberprüfung – die allgemeine Standardeinstellung
claude-haiku-4-5$0.70 / $3.50Commit-Nachrichten, Terminalhelfer und Codeaktionen, bei denen vor allem das Volumen zählt
gpt-5-6-terra$0.70 / $4.20lange Dateien, die in den Chat eingefügt werden, sowie eine zweite Meinung aus einer anderen Modellfamilie, wenn eine Überprüfung oberflächlich ausfällt
Die Abrechnung erfolgt pro Token aus einem vorausbezahlten Guthaben ohne Monatsgebühr – siehe Abrechnung. Bei wiederholtem Kontext – dem Großteil dessen, was ein Editor oder Chat-Client sendet – verändert Prompt-Caching die Rechnung stärker als die Modellwahl.

Chat funktioniert. Autovervollständigung und Indexierung funktionieren nicht.

twinny verteilt die Arbeit auf drei Anbietertypen, die jeweils separat konfiguriert werden. Daher gilt „twinny funktioniert mit Kunavo“ nur für einen dieser Typen. Die anderen beiden sind keine Konfigurationen, die Sie noch finden müssen. Die dafür nötigen Routen bietet Kunavo nicht an.

AnbietertypWas twinny sendetMit api.kunavo.com
ChatPOST-Anfrage im OpenAI-Format an <API path>/chat/completionsPasst – darum geht es auf der obigen Seite.
Autovervollständigung (FIM)eine unformatierte Fill-in-the-Middle-Anfrage an /v1/completionsNein. Kunavo hat keine /v1/completions-Route und kein Basismodell oder Codemodell, das dafür verwendet werden kann.
Embeddingseine Anfrage an /v1/embeddingsNein. Kunavo bietet kein Einbettungsmodell an, daher kann der Arbeitsbereichsindex hier nicht erstellt werden.

Keine dieser beiden Einschränkungen verhindert die Einrichtung, denn twinny behält pro Anbietertyp einen aktiven Anbieter bei und die Typen sind voneinander unabhängig. Auf seiner Seite zu gehosteten APIs bezeichnet twinny diese Aufteilung als „gängige Konfiguration“: ein kleines lokales Basismodell für Vervollständigungen und daneben ein gehostetes Modell für Chat, Überprüfungen und Bearbeitungen. Beim Arbeitsbereichsindex gilt dasselbe Prinzip: Der Einbettungsschritt wird hier nicht unterstützt, und laut twinny-Dokumentation lässt er sich stattdessen mit einem lokalen Modell wie nomic-embed-text auf Ollama ausführen. Vektoren verschiedener Modelle lassen sich nicht miteinander mischen. Wenn Sie das Modell ändern, muss der Index daher neu erstellt werden.

Häufig gestellte Fragen

Wie richte ich twinny auf einen benutzerdefinierten API-Endpunkt aus?

Öffnen Sie die Registerkarte Providers über das Robotersymbol in der Seitenleiste von twinny, wählen Sie Add provider und anschließend unter „On your machine“ die allgemeine Voreinstellung „OpenAI-compatible server“. Laut twinny-Dokumentation akzeptiert das Anbieterformular beliebige Werte für Hostname, Port, Protokoll und Pfad. Setzen Sie daher Protocol auf https, Hostname auf den Host Ihres Endpunkts, lassen Sie Port für den Standardport des Protokolls leer und setzen Sie API path auf die API-Basis. Fügen Sie Ihren Schlüssel in das Feld API key ein. twinny sendet ihn als Authorization: Bearer-Header. Klicken Sie dann auf Test provider. Die Funktion sendet eine kleine Anfrage für die Aufgabe des Anbieters und meldet entweder Erfolg oder den vom Server zurückgegebenen Fehler samt aufgerufener URL.

Muss twinny's API-Pfad /v1 oder /v1/chat/completions lauten?

Für einen Chat-Anbieter lautet er /v1. Laut Anbietertabelle von twinny ist der Pfad für Chat die API-Basis; twinny fügt /chat/completions an. Die Erweiterung setzt also die vollständige Route selbst zusammen. Enthält der Pfad diese Route bereits, ergibt sich /v1/chat/completions/chat/completions. Das führt zu einem 404 statt zu einem Authentifizierungsfehler. Bei Autovervollständigung und Einbettungen gilt im selben Formular die umgekehrte Konvention: Dort ist der API-Pfad die vollständige Route. Die Standardwerte in der allgemeinen Voreinstellung lauten /v1/completions und /v1/embeddings.

Wo gehört der twinny-API-Schlüssel hin, und gibt es ein Feld für die Basis-URL?

Der Schlüssel gehört in das API-Schlüsselfeld des Anbieters und wird als Authorization: Bearer gesendet. Laut twinny-Dokumentation werden Schlüssel zusammen mit dem Anbieter im Speicher von VS Code gespeichert und in den twinny-Protokollen unkenntlich gemacht. Ein einzelnes Feld für die Basis-URL gibt es nicht. Der Endpunkt wird auf Protocol, Hostname, Port und API path aufgeteilt. Als Abkürzung können Sie die vollständige URL in Hostname einfügen: Laut Dokumentation wird eine eingefügte URL wie https://my-box:8080/v1 in Protokoll, Host, Port und Pfad aufgeteilt. Wenn Sie https://api.kunavo.com/v1 einfügen, werden also drei Felder auf einmal ausgefüllt.

Kann twinny die Autovervollständigung über ein gehostetes Gateway wie Kunavo ausführen?

Nein. Der Grund ist eine fehlende Route und keine Einstellung. Die allgemeine OpenAI-kompatible Voreinstellung von twinny sendet eine unformatierte Fill-in-the-Middle-Anfrage an eine Route im Stil von /v1/completions, doch api.kunavo.com bietet /v1/completions nicht an. Im Modellkatalog gibt es außerdem kein Basis- oder Codemodell, das für Fill-in-the-Middle trainiert wurde. Lassen Sie die Autovervollständigung auf einem lokalen Server laufen. In den FAQ empfiehlt twinny dafür qwen2.5-coder:1.5b-base auf Ollama und verwenden Sie den gehosteten Anbieter für den Chat. twinny bezeichnet diese Kombination als gängig. Da der aktive Anbieter pro Typ festgelegt wird, müssen Sie nicht zwischen Anbietern wechseln.

Kann Kunavo den Arbeitsbereichsindex von twinny bereitstellen?

Nein. Für den Arbeitsbereichsindex werden Ihre Dateien mit einem Embeddings-Anbieter eingebettet. Kunavo bietet kein Einbettungsmodell an. Kein Modell in seinem Katalog stellt diesen Endpunkt bereit, daher wird die Anfrage abgelehnt und nicht beantwortet. Für diesen Zweck empfiehlt die Dokumentation von twinny nomic-embed-text auf Ollama. Das Modell läuft auf Ihrem Rechner und ist unabhängig vom Anbieter für den Chat. Diese Aufteilung lässt sich einrichten. Wenn Sie das Einbettungsmodell später ändern, muss der Index neu erstellt werden, da Vektoren verschiedener Modelle nicht miteinander gemischt werden können.

Warum sollte ich nicht die OpenAI- oder Anthropic-Voreinstellung von twinny mit einem Kunavo-Schlüssel verwenden?

Weil diese Voreinstellungen die Anfrage nicht an den vermeintlichen Endpunkt senden. Laut der Seite zu gehosteten APIs von twinny laufen Chat-Anfragen mit gehosteten APIs über das SDK des Anbieters an dessen festen Endpunkt. Deshalb sind die Felder für Hostname, Port und Pfad ausgeblendet. Der eingefügte Schlüssel würde an den Endpunkt des jeweiligen Anbieters und nicht an Ihr Gateway gesendet. Nur bei der allgemeinen Voreinstellung „OpenAI-compatible server“ bleiben die Endpunktfelder bearbeitbar. Deshalb wird diese Voreinstellung oben empfohlen. Modell-IDs werden unverändert an den konfigurierten Endpunkt weitergegeben. Eine Claude-ID mit einem OpenAI-kompatiblen Anbieter ist also die vorgesehene Kombination und kein Widerspruch.

Hat Kunavo twinny getestet?

Nein. Kunavo hat diesen Client nicht zur Laufzeit getestet. Die obige Konfiguration stammt aus der Dokumentation von twinny, die am 21. September 2026 geprüft wurde, und aus der Routentabelle von Kunavo. Eine veröffentlichte Einrichtungsseite ist kein Test. Ohne Kosten können Sie mit der Schaltfläche Test provider von twinny prüfen, welche URL aufgerufen wird und was der Server zurückgibt. Ein curl-Aufruf an /v1/models zeigt, ob ein Fehler auf den Endpunkt, den Schlüssel oder das Formular zurückgeht.