LLM Proxy Worker
Ressources du projet
Technologies
Fonctionnalites
Vue d'ensemble
LLM Proxy Worker est un backend serverless développé en TypeScript pour se placer devant un site web comme couche intermédiaire. Le Worker reconnaît navigateurs traditionnels, crawlers de recherche et crawlers IA, puis décide s'il doit renvoyer la page originale, une version markdown plus lisible pour les LLM, du HTML enrichi avec des métadonnées SEO générées dynamiquement ou une version prérenderisée pour les pages JavaScript. L'objectif est d'améliorer lisibilité, SEO technique et compatibilité avec les crawlers sans réécrire le site d'origine.
Role
Conception et développement end-to-end du Worker : classification des requêtes, conversion HTML vers markdown, génération SEO avec fournisseurs IA, prerender avec Chromium/Puppeteer, cache KV, fallbacks et routes de debug.
Ce que j'ai fait
Conçu le flux principal du Worker pour distinguer navigateurs, crawlers IA, crawlers de recherche et routes de debug. Implémenté la conversion HTML vers markdown en supprimant les éléments bruyants comme scripts, navigation, footer, formulaires et bannières. Développé la génération dynamique de métadonnées SEO avec données SERP, OpenAI comme fournisseur principal et Claude comme fallback. Validé l'output IA avant l'injection de title, meta description, Open Graph, canonical et JSON-LD dans le document HTML. Intégré Cloudflare Browser Rendering avec Puppeteer pour servir du HTML prérenderisé aux crawlers quand une page dépend de JavaScript. Utilisé Cloudflare KV, timeouts configurables et fallbacks locaux pour réduire coûts, latence et dépendance aux fournisseurs externes.
Problemes resolus
Risposte diverse per client diversi
Le Worker classifie les requêtes avec routes techniques, query de debug, User-Agent et headers de purpose. Navigateurs, crawlers IA et crawlers de recherche reçoivent ainsi le parcours le plus adapté sans alourdir chaque visite.
Uso controllato dei token AI
La génération SEO utilise des données SERP et des prompts contraints, puis sauvegarde le résultat dans KV. Les requêtes suivantes réutilisent la cache et évitent des appels répétés à DataForSEO, OpenAI et Claude.
Prerender senza bloccare il sito
Chromium et Puppeteer sont utilisés uniquement pour les crawlers ou le debug explicite. Si le rendu échoue, si le binding browser manque ou si la cache n'est pas disponible, le Worker revient à la page originale.
Autres projets
Une selection d'autres travaux utiles pour mieux comprendre mon approche technique.