LLM Proxy Worker
Risorse progetto
Tecnologie
Funzionalita
Panoramica
LLM Proxy Worker è un backend serverless sviluppato in TypeScript per girare davanti a un sito web come livello intermedio. Il Worker riconosce browser tradizionali, crawler di ricerca e crawler AI, poi decide se restituire la pagina originale, una versione markdown più leggibile per LLM, HTML arricchito con metadata SEO generati dinamicamente o una versione prerenderizzata per pagine JavaScript. L'obiettivo è migliorare leggibilità, SEO tecnica e compatibilità con crawler senza riscrivere il sito origine.
Ruolo
Progettazione e sviluppo del Worker end-to-end: classificazione delle richieste, conversione HTML in markdown, generazione SEO con provider AI, prerender con Chromium/Puppeteer, cache KV, fallback e route di debug.
Cosa ho fatto
Progettazione del flusso principale del Worker per distinguere browser, crawler AI, crawler di ricerca e route di debug. Implementazione della conversione HTML in markdown, rimuovendo elementi rumorosi come script, navigazione, footer, form e banner. Sviluppo della generazione dinamica di metadata SEO usando dati SERP, OpenAI come provider primario e Claude come fallback. Validazione dell'output AI prima dell'iniezione di title, meta description, Open Graph, canonical e JSON-LD nel documento HTML. Integrazione di Cloudflare Browser Rendering con Puppeteer per servire HTML prerenderizzato ai crawler quando la pagina dipende da JavaScript. Uso di Cloudflare KV, timeout configurabili e fallback locali per ridurre costi, latenza e dipendenze dai provider esterni.
Problemi risolti
Risposte diverse per client diversi
Il Worker classifica le richieste usando route tecniche, query di debug, User-Agent e header di purpose. In questo modo browser, crawler AI e crawler di ricerca ricevono il percorso più adatto senza appesantire ogni visita.
Uso controllato dei token AI
La generazione SEO usa dati SERP e prompt vincolati, poi salva i risultati in KV. Le richieste successive riusano la cache, evitando chiamate ripetute a DataForSEO, OpenAI e Claude.
Prerender senza bloccare il sito
Chromium e Puppeteer vengono usati solo per crawler o debug esplicito. Se il rendering fallisce, se manca il binding browser o se la cache non è disponibile, il Worker torna alla pagina originale.
Altri progetti
Una selezione di altri lavori utili a capire meglio il mio approccio tecnico.