Documentation

Intelligence artificielle

Intégrer Claude, OpenAI ou Gemini avec le Vercel AI SDK — clés en .env, pas de vault par user.

Le boilerplate ne ship pas d'UI de gestion des clés AI par user (stocker des secrets utilisateurs sans vault chiffré crée plus de problèmes qu'autre chose). Tu configures ton AI globalement via les variables d'env.

Configuration

Dans .env :

ANTHROPIC_API_KEY="sk-ant-..."
OPENAI_API_KEY="sk-..."
GOOGLE_GENERATIVE_AI_API_KEY="AIza..."

Exemple — Réponse en streaming

import { streamText } from "ai";
import { anthropic } from "@ai-sdk/anthropic";

const result = streamText({
  model: anthropic("claude-sonnet-4-6"),
  prompt: "Explique Next.js en une phrase.",
});

return result.toDataStreamResponse();

Changer de provider

Remplace simplement le provider sans changer la logique :

import { openai } from "@ai-sdk/openai";

model: openai("gpt-4o"),

Gérer des clés par user (si vraiment nécessaire)

Le pattern recommandé si tu veux que chaque user fournisse sa clé :

  1. Stocke chiffrée — AES-GCM avec une clé d'app dans KMS / Vault / env
  2. Décrypte à l'usage, jamais en plain text dans la DB
  3. Ne jamais retourner la clé au client après save (read-only "Configurée ✓")
  4. Logger qui a fait quel call (pour quotas / facturation)

Le stub app/api/settings/ai/route.ts retourne 501 pour rappeler que ce n'est pas implémenté — branche-le quand tu auras choisi ton vault.

On this page