Saltar al contenido principal

Adaptadores incluidos

NeoTavern incluye un conjunto de adaptadores de proveedor listos para usar. Viven en packages/provider-sdk/src/adapters/, un archivo por adaptador, y se registran en el ProviderRegistry del núcleo por su tipo de proveedor.

Compatible con OpenAI

Archivo: openaiCompatible.ts — tipo openai-compatible.

Apunta a cualquier servidor que exponga la API de OpenAI /v1/chat/completions y /v1/models: OpenAI en sí, OpenRouter, LM Studio, servidor llama.cpp, Ollama con el endpoint /v1, vLLM y similares. Usa solo el fetch global y el analizador SSE del SDK; la clave de API se envía pero nunca se registra.

Anthropic

Archivo: anthropic.ts — tipo anthropic.

Apunta a la API nativa de Messages de Anthropic. Esta es la única excepción documentada a la regla de no usar SDK de proveedores: usa @anthropic-ai/sdk porque la API — pensamiento extendido y soporte de encabezados beta — se maneja con más precisión con el SDK oficial. Soporta el caché de prompts y el pensamiento adaptativo, y declara la capacidad de cable assistantPrefill.

Finalización de Texto

Archivo: textCompletion.ts — tipo text-completion.

Apunta a backends locales o autoalojados que exponen el endpoint heredado /v1/completions de OpenAI: text-generation-webui ("ooba"), koboldcpp, vLLM, Ollama, servidor llama.cpp y similares. A diferencia de los adaptadores de chat, consume un prompt serializado: el pipeline de prompt renderiza el formato de instrucciones y le entrega al adaptador un único mensaje de usuario cuyo contenido es el prompt terminado, y el adaptador lo publica en /completions. La clave de API es opcional para servidores locales y nunca se registra.

NovelAI

Archivo: novelai.ts — tipo novelai.

Apunta a la API de generación de texto de NovelAI (POST {baseUrl}/ai/generate con una clave Bearer). La generación no es en streaming — un único delta más el evento terminal done, que coincide con el contrato de flujo unificado. El descubrimiento de modelos no lo ofrece la API, por lo que listModels devuelve el modelo configurado. El adaptador está marcado como experimental porque la superficie de parámetros de NovelAI evoluciona; solo se mapean los samplers bien establecidos.

KoboldAI

Archivo: koboldai.ts — tipo koboldai.

Apunta a la API nativa del servidor KoboldAI/Kobold (POST {baseUrl}/api/v1/generate). La generación no es en streaming; el modelo cargado se lee de /api/v1/model para el descubrimiento. Las instalaciones locales típicas no necesitan clave de API.

AI Horde

Archivo: aiHorde.ts — tipo ai-horde.

Apunta a AI Horde (stablehorde.net), un clúster asíncrono de crowdsourcing. Un trabajo se envía con /api/v2/generate/text/async y luego se sondea a través del endpoint de estado hasta que termina; el bucle de sondeo vuelve a verificar la señal del llamador y un plazo de inactividad, por lo que un trabajo atascado aborta en lugar de sondear para siempre. El uso anónimo está permitido con menor prioridad; una clave de API se envía como encabezado apikey cuando está configurada.

Echo

Archivo: echo.ts — tipo echo.

Un proveedor totalmente sin conexión usado para pruebas, demostraciones y verificación del pipeline de streaming sin red ni clave de API. Transmite el último mensaje del usuario de vuelta palabra por palabra. También implementa los métodos opcionales de voz, imagen y transcripción, lo que lo convierte en una referencia útil para escribir un adaptador que cubra todas las modalidades.

Helper de Prompt

Archivo: prompt.ts — exporta promptFromMessages, un helper compartido que serializa matrices de mensajes en las formas de prompt que envían los adaptadores. No es un adaptador en sí.

Para la interfaz exacta ProviderAdapter que todos estos implementan, consulta Contrato de adaptador y la referencia del Provider SDK generada.