Intégration LLMs
Docus intègre nuxt-llms par défaut pour préparer votre contenu aux Large Language Models (LLMs). Toutes vos pages de documentation sont injectées et les fichiers /llms.txt et /llms-full.txt sont automatiquement générés et pré-rendus.
Valeurs par défaut
Voici les valeurs par défaut utilisées pour générer le fichier /llms.txt :
domain→ calculé en fonction de votre plateforme de déploiement (ou via la variable d'environnementNUXT_SITE_URL)title→ extrait de votrepackage.jsondescription→ extrait de votrepackage.jsonfull.title→ extrait de votrepackage.jsonfull.description→ extrait de votrepackage.json
Personnalisation
Vous pouvez surcharger vos données LLMs depuis le nuxt.config.ts :
export default defineNuxtConfig({
llms: {
domain: 'https://votre-site.com',
title: 'Nom de votre site',
description: 'Une brève description de votre site',
full: {
title: 'Nom de votre site',
description: 'Une brève description de votre site',
},
},
})
Accès au Markdown brut
Lorsque nuxt-llms est activé, Docus expose également un endpoint markdown brut permettant aux agents IA de récupérer les fichiers source prêts pour les LLMs sans passer par le pipeline de rendu complet. Cela réduit l'utilisation de tokens et améliore la vitesse de réponse pour les outils IA consommant votre documentation.
Fonctionnement
- Endpoint :
/raw/<chemin-contenu>.md— utilisez le même chemin que l'URL de la page, supprimez le/indexfinal et conservez l'extension.md - Content-Type :
text/markdown; charset=utf-8 - Enrichissement automatique : si le document demandé n'a pas de titre ou de description de premier niveau, la route ajoute automatiquement le titre et la description au début du corps markdown
- Intégration LLMs.txt : les liens des documents dans
llms.txtsont automatiquement réécrits vers l'endpoint/raw/...md, afin que les agents récupèrent du markdown compact au lieu du HTML complet
Configuration
Vous pouvez personnaliser le comportement du markdown brut depuis votre nuxt.config.ts :
export default defineNuxtConfig({
llms: {
contentRawMarkdown: {
// Empêcher l'exposition de certaines collections de pages
excludeCollections: ['blog'],
// Conserver les liens llms.txt pointant vers les pages rendues plutôt que le markdown brut
rewriteLLMSTxt: false,
},
},
})
Pour désactiver complètement l'accès au markdown brut :
export default defineNuxtConfig({
llms: {
contentRawMarkdown: false,
},
})
Redirection Markdown
Lorsqu'il est déployé sur Vercel, Docus configure automatiquement un routage intelligent pour servir du contenu markdown aux agents IA et aux outils en ligne de commande.
Pourquoi ?
Les agents comme Claude Code utilisent les en-têtes Accept: text/markdown par défaut, retourner du Markdown brut permet d'économiser beaucoup de transfert de données et de tokens dans le processus.
Comment ?
Docus détecte les requêtes provenant d'agents IA et d'outils en ligne de commande à l'aide des en-têtes HTTP :
- En-tête Accept : Les requêtes avec
Accept: text/markdownsont automatiquement redirigées - Détection du user-agent : Les requêtes
curlen tant qu'agents sont automatiquement redirigées
Règles de redirection
- Chemin racine :
/→/llms.txt - Pages de documentation :
/{chemin}→/raw/{chemin}.md
Exemple d'utilisation
# Obtenir llms.txt depuis la page d'accueil
curl -H "Accept: text/markdown" https://docus.dev/
# Obtenir llms.txt depuis la page d'accueil localisée
curl -H "Accept: text/markdown" https://docus.dev/fr
# Obtenir le markdown brut d'une page de documentation
curl -H "Accept: text/markdown" https://docus.dev/fr/ai/llms
Toutes ces commandes retourneront du contenu markdown au lieu de HTML.