> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# AI-functionaliteit

Chat, taken, modelbeleid en bring-your-own-key.

## Probeer nep-AI en kies vervolgens een echte provider

Voor uw eerste resultaat volgt u de taak /dashboard van de webtutorial: start de lokale stroom, zet een prompt in de wachtrij, voer deze uit en bekijk het resultaat. AI_PROVIDER=fake retourneert een herhaalbaar demonstratieantwoord zonder gegevens naar een extern model te sturen of een betaalde API-sleutel te gebruiken.

Voor echte generatie configureert u eerst de persistente accounts, kiest u een AI-provider en volgt u de AI-configuratie hieronder. Voeg een model en de bijbehorende prijs toe aan de databasecatalogus, kies de toegestane modellen voor elke alias en verleen de werkruimte de vereiste toegang. Een alias zoals snel is een vriendelijke keuze die aan de gebruiker wordt getoond; het is zelf niet de model-ID van een externe provider.

Een achtergrond AI task heeft ook de geconfigureerde banenservice nodig. Als er geen modelkeuzes worden weergegeven, controleer dan het catalogus- en aliasbeleid voordat u het opnieuw probeert. Als de toegang wordt geweigerd, controleer dan de rechten van de actieve werkruimte. Bewaar alle API-sleutels van de provider in de configuratie van de webserver, niet in het browser-, mobiele app- of desktopvenster.

[Probeer de AI-demonstratie zonder referenties](https://supastack.dev/nl/docs/web/ship-in-5-minutes.md)

[Configureer echte AI-generatie](https://supastack.dev/nl/docs/modules/ai-configuration.md)

[Toegestane modellen en prijzen toevoegen](https://supastack.dev/nl/docs/web/setup-ai.md)

[Uitvoering van achtergrondtaak configureren](https://supastack.dev/nl/docs/modules/jobs.md)


## Volg de taaklifecycle

De productietaak-API valideert de geauthenticeerde workspace en entitlement voordat een taak wordt gepersisteerd en de ai.generate Trigger.dev-workflow wordt gedispatched. De router past capability-eisen en geconfigureerd modelbeleid toe.

```
POST /api/ai/tasks
  → authenticated workspace + entitlement
  → durable task record
  → Trigger.dev ai.generate
  → model routing + generation
  → usage record + result
  → transactional completion delivery
```


## Configureer aliasen en budgetten

De gebruiker selecteert een ingeschakelde alias: cheap, fast of smart. De server beheerst de onderliggende model-ID's, providercredentials, workspacebeleid en budgethandhaving. Versleutelde bring-your-own-key-ondersteuning moet dezelfde server-only grens bewaren.


## Houd workflowsemantiek expliciet

JobRunner belooft alleen enqueue, status en cancel. Trigger.dev-workflowsemantiek is expliciet, inclusief duurzaam executiegedrag. Leid geen retries of schedulinggaranties af uit het generieke contract.

Het productie-submissionpad gebruikt idempotentie en opgeslagen taakrecovery om ambigue dispatch af te handelen. Voltooiing van generatie staat los van aflevering van de voltooiingsmail.


## Setup en configuratie

AI_PROVIDER=fake houdt de ontwikkeling deterministisch. Productieproviders configureren server-side (OpenAI, Anthropic of een OpenAI-compatibel endpoint) met sleutels die nooit in client-bundels terechtkomen. AI_MODEL_POLICY mapt de gebruikersgerichte aliassen — cheap, fast, smart — naar catalogusmodel-ids; een lege alias verwijdert de keuze uit de interface.

De modelcatalogus (ai-model-catalog) draagt capability- en onveranderlijke prijsmetadata zodat usage-records verklaarbaar blijven na prijswijzigingen.

```
POST /api/ai/tasks          → durable task + Trigger.dev dispatch
GET  /api/ai/tasks/{taskId}  → status + result
/chat                        → streaming assistant surface
```


## Implementatieworkflow

Het chatoppervlak houdt threads per workspace-lid bij en streamt tokens via chat-stream-runtime. Langere generaties draaien als taken: geautoriseerd aan de API-grens, uitgevoerd door de ai.generate-workflow en herstelbaar via de idempotente submission-store.

De bring-your-own-key-modus slaat provider-sleutels op als AES-GCM-envelopes (CREDENTIAL_ENCRYPTION_KEY, byok-key-vault.ts); decryptie gebeurt alleen binnen het server-executiepad. Verbruik en geschatte kosten worden per request gelogd voor workspace-budgetten.


## Verificatie en probleemoplossing

Verifieer dat een uitgeschakelde alias afwezig is uit de interface, dat entitlement- en budget-denials vóór de dispatch plaatsvinden, dat een opnieuw geprobeerde submission zijn taak hergebruikt en dat een opgeslagen BYOK-sleutel nooit naar de client terugkeert. Houd acceptatie met echte modellen op de gedocumenteerde provider-smoke-route.


## Volgende

[Achtergrondjobs](https://supastack.dev/nl/docs/web/jobs.md)
