Zum Hauptinhalt springen

Mitgelieferte Adapter

NeoTavern wird mit einem Satz Anbieter-Adapter ausgeliefert. Sie liegen in packages/provider-sdk/src/adapters/, eine Datei pro Adapter, und sind im Kern-ProviderRegistry nach ihrer Anbieterart registriert.

OpenAI-kompatibel

Datei: openaiCompatible.ts — Art openai-compatible.

Spricht jeden Server an, der die OpenAI-/v1/chat/completions- und /v1/models-API exponiert: OpenAI selbst, OpenRouter, LM Studio, llama.cpp-Server, Ollama mit dem /v1-Endpunkt, vLLM und Ähnliches. Er verwendet nur das globale fetch und den SSE-Parser des SDKs; der API-Schlüssel wird gesendet, aber nie protokolliert.

Anthropic

Datei: anthropic.ts — Art anthropic.

Spricht die native Anthropic-Messages-API an. Das ist die eine dokumentierte Ausnahme von der Regel „keine Anbieter-SDKs": Er verwendet @anthropic-ai/sdk, weil die API — erweitertes Denken und Beta-Header-Unterstützung — vom offiziellen SDK genauer behandelt wird. Er unterstützt Prompt-Caching und adaptives Denken und deklariert die Wire-Fähigkeit assistantPrefill.

Text Completion

Datei: textCompletion.ts — Art text-completion.

Spricht lokale oder selbst gehostete Backends an, die den Legacy-OpenAI-/v1/completions-Endpunkt exponiert haben: text-generation-webui („ooba"), koboldcpp, vLLM, Ollama, llama.cpp-Server und Ähnliches. Anders als Chat-Adapter konsumiert er einen serialisierten Prompt: Die Prompt-Pipeline rendert das Instruct-Format und übergibt dem Adapter eine einzelne Benutzernachricht, deren Inhalt der fertige Prompt ist, und der Adapter postet ihn an /completions. Der API-Schlüssel ist für lokale Server optional und wird nie protokolliert.

NovelAI

Datei: novelai.ts — Art novelai.

Spricht die NovelAI-Textgenerierungs-API an (POST {baseUrl}/ai/generate mit einem Bearer-Schlüssel). Die Generierung ist nicht gestreamt — ein einzelnes delta plus das terminale done-Ereignis, passend zum einheitlichen Stream-Vertrag. Die Modellerkennung wird von der API nicht angeboten, daher gibt listModels das konfigurierte Modell zurück. Der Adapter ist als experimentell markiert, weil sich die Parameteroberfläche von NovelAI weiterentwickelt; nur die etablierten Sampler sind abgebildet.

KoboldAI

Datei: koboldai.ts — Art koboldai.

Spricht die native KoboldAI/Kobold-Server-API an (POST {baseUrl}/api/v1/generate). Die Generierung ist nicht gestreamt; das geladene Modell wird von /api/v1/model für die Erkennung gelesen. Typische lokale Installationen benötigen keinen API-Schlüssel.

AI Horde

Datei: aiHorde.ts — Art ai-horde.

Spricht die AI Horde (stablehorde.net) an, einen asynchronen Crowdsourcing-Cluster. Ein Auftrag wird mit /api/v2/generate/text/async eingereicht und dann über den Status-Endpunkt abgefragt, bis er fertig ist; die Abfrageschleife prüft das Aufrufersignal und eine Leerlauf-Deadline erneut, sodass ein festhängender Auftrag abbricht, statt endlos abzufragen. Anonyme Nutzung ist mit niedrigerer Priorität erlaubt; ein API-Schlüssel wird als apikey-Header gesendet, wenn einer konfiguriert ist.

Echo

Datei: echo.ts — Art echo.

Ein vollständig offline arbeitender Anbieter für Tests, Demos und die Verifizierung der Streaming-Pipeline ohne Netzwerk oder API-Schlüssel. Er streamt die letzte Benutzernachricht Wort für Wort zurück. Er implementiert auch die optionalen Sprach-, Bild- und Transkriptionsmethoden, was ihn zu einer nützlichen Referenz für das Schreiben eines Adapters macht, der jede Modalität abdeckt.

Prompt-Helfer

Datei: prompt.ts — exportiert promptFromMessages, einen gemeinsamen Helfer, der Nachrichtenarrays in die Prompt-Formen serialisiert, die die Adapter senden. Er ist selbst kein Adapter.

Für die exakte ProviderAdapter-Schnittstelle, die alle diese implementieren, siehe Adaptervertrag und die generierte Provider-SDK-Referenz.