Pular para o conteúdo principal

Adaptadores Incluídos

O NeoTavern inclui um conjunto de adaptadores de provedor de fábrica. Eles ficam em packages/provider-sdk/src/adapters/, um arquivo por adaptador, e são registrados no ProviderRegistry do núcleo pelo seu kind de provedor.

Compatível com OpenAI

Arquivo: openaiCompatible.ts — kind openai-compatible.

Atende a qualquer servidor que exponha a API OpenAI /v1/chat/completions e /v1/models: a própria OpenAI, OpenRouter, LM Studio, servidor llama.cpp, Ollama com o endpoint /v1, vLLM e similares. Ele usa apenas o fetch global e o parser de SSE do SDK; a chave de API é enviada, mas nunca registrada em logs.

Anthropic

Arquivo: anthropic.ts — kind anthropic.

Atende à API Messages nativa da Anthropic. Esta é a única exceção documentada à regra de não usar SDKs de fornecedores: ela usa @anthropic-ai/sdk porque a API — extended thinking e suporte a beta headers — é tratada com mais precisão pelo SDK oficial. Ela suporta prompt caching e adaptive thinking e declara a capacidade de wire assistantPrefill.

Text Completion

Arquivo: textCompletion.ts — kind text-completion.

Atende a backends locais ou auto-hospedados que expõem o endpoint legado OpenAI /v1/completions: text-generation-webui ("ooba"), koboldcpp, vLLM, Ollama, servidor llama.cpp e similares. Diferente dos adaptadores de chat, ele consome um prompt serializado: o pipeline de prompt renderiza o formato instruct e entrega ao adaptador uma única mensagem user cujo conteúdo é o prompt final, e o adaptador o envia para /completions. A chave de API é opcional para servidores locais e nunca é registrada em logs.

NovelAI

Arquivo: novelai.ts — kind novelai.

Atende à API de geração de texto do NovelAI (POST {baseUrl}/ai/generate com uma chave Bearer). A geração não é em streaming — um único delta mais o evento terminal done, correspondendo ao contrato de stream unificado. A descoberta de modelos não é oferecida pela API, então listModels retorna o modelo configurado. O adaptador é marcado como experimental porque a superfície de parâmetros do NovelAI evolui; apenas os samplers bem estabelecidos são mapeados.

KoboldAI

Arquivo: koboldai.ts — kind koboldai.

Atende à API nativa do servidor KoboldAI/Kobold (POST {baseUrl}/api/v1/generate). A geração não é em streaming; o modelo carregado é lido de /api/v1/model para descoberta. Instalações locais típicas não precisam de chave de API.

AI Horde

Arquivo: aiHorde.ts — kind ai-horde.

Atende ao AI Horde (stablehorde.net), um cluster assíncrono crowdsourced. Um trabalho é submetido com /api/v2/generate/text/async e então consultado pelo endpoint de status até terminar; o loop de consulta re-checa o sinal do chamador e um prazo ocioso, de modo que um trabalho travado aborta em vez de consultar para sempre. O uso anônimo é permitido em prioridade mais baixa; uma chave de API é enviada como header apikey quando configurada.

Echo

Arquivo: echo.ts — kind echo.

Um provedor totalmente offline usado para testes, demos e verificação do pipeline de streaming sem qualquer rede ou chave de API. Ele transmite a última mensagem do usuário de volta palavra por palavra. Ele também implementa os métodos opcionais de fala, imagem e transcrição, o que o torna uma referência útil para escrever um adaptador que cobre todas as modalidades.

Helper de Prompt

Arquivo: prompt.ts — exporta promptFromMessages, um helper compartilhado que serializa arrays de mensagens nas formas de prompt que os adaptadores enviam. Não é um adaptador em si.

Para a interface exata ProviderAdapter que todos estes implementam, veja Contrato de Adaptador e a Referência do Provider SDK gerada.