Introduzione
Smart Site Search System (SSS) è una piattaforma modulare progettata per potenziare siti web con una funzione di ricerca intelligente basata su intelligenza artificiale. A differenza dei classici motori di ricerca interni che si basano solo su parole chiave, SSS utilizza un sistema semantico che comprende il significato delle domande dell’utente.
Attraverso una combinazione di web scraping distribuito, indicizzazione vettoriale e AI conversazionale, il sistema consente di creare un assistente virtuale che conosce ogni pagina del sito e può restituire risposte pertinenti in linguaggio naturale.
SSS è pensato per essere facilmente integrabile in qualsiasi progetto web, con un widget leggero e personalizzabile, un’API ben documentata e un pannello di controllo che permette di monitorare le interazioni in tempo reale.
Questa documentazione descrive il funzionamento del sistema, i requisiti di installazione, la configurazione degli agenti AI, l’analisi dei dati raccolti e le best practice per ottenere il massimo da ogni progetto basato su SSS.
Jobs di Scraping
I Jobs di scraping sono il cuore del sistema di raccolta dati di SSS. Un job rappresenta un’operazione automatizzata che parte da un URL di riferimento e segue i link presenti nella pagina per raccogliere contenuti testuali e immagini da un sito web.
La creazione di un nuovo job avviene attraverso una form strutturata che consente di personalizzare a fondo il comportamento del crawler. Ogni job può essere configurato con regole precise su quali percorsi seguire, quante pagine visitare e fino a che profondità scendere nella struttura del sito.
Parametri principali
- Site Name: etichetta interna per identificare il sito (es.
nytimes
,ilsole24ore
). - Starting URL: URL iniziale da cui il sistema comincia la scansione.
- Allowed Path (opzionale): limita la scansione a una porzione del sito (es.
/blog/
o/category/
). - Maximum Pages: numero massimo di pagine da scaricare (default: 100, massimo: 1000).
- Maximum Depth: profondità massima di navigazione rispetto all’URL iniziale (0 = illimitata).
Gestione dei parametri URL
- Respect URL Parameters: se attivo, considera diversi parametri nella URL come pagine distinte.
- Ignore Tracking Parameters: ignora parametri traccianti come
utm_source
,ref
, ecc.
Configurazione avanzata dei percorsi
È possibile includere o escludere determinati path usando una sintassi semplice. Ogni riga definisce una regola:
+/blog/ // Includi questo path
-/admin/ // Escludi questo path
+/products/ high // Includi con priorità alta
-/archive/ low // Escludi con priorità bassa
Le priorità disponibili sono: high, medium (default) e low.
Opzione: Allow External Domains
Attivando questa opzione, il crawler può uscire dal dominio iniziale e seguire link esterni (funzionalità avanzata, da usare con cautela).
Comportamento del sistema
Il sistema esegue i job in modo asincrono e distribuito:
- Parte dall’URL specificato
- Segue i link nella pagina, rispettando le regole definite
- Estrae contenuti testuali e immagini da ogni pagina
- Termina quando raggiunge il limite di pagine o non trova altri link validi
Ogni job completato fornisce un riepilogo con le pagine acquisite, eventuali errori e un collegamento al materiale indicizzato.

Agenti AI
Gli Agenti AI rappresentano l’interfaccia conversazionale tra il sito web e il visitatore. Ogni agente è collegato a uno specifico job di scraping e utilizza i contenuti raccolti per rispondere in modo coerente e pertinente alle domande degli utenti.
Il comportamento di un agente può essere personalizzato attraverso un’interfaccia di configurazione che permette di definire l’aspetto visivo, il tono delle risposte e le istruzioni operative (prompt). Una volta attivato, l’agente diventa un widget integrabile nel sito web tramite uno snippet JavaScript.
Parametri principali
- Agent Name: nome interno dell’agente (es.
SupportBot
,Tazgurt Helper
). - Site (Scraped Content): seleziona da quale job di scraping l’agente deve attingere i contenuti.
- Primary Color: colore principale del widget, usato per pulsanti e sfondi (es.
#4a90e2
). - Temperature: livello di creatività della risposta (0 = risposta più precisa, 1 = risposta più creativa). Il valore consigliato è compreso tra
0.5
e0.9
.
Personalizzazione del comportamento
- Response Format: formato delle risposte (es.
markdown
per risposte con grassetto, elenchi, link, ecc.). - Avatar URL: link a un’immagine (formato quadrato) da usare come avatar nel widget dell’agente.
- System Prompt: prompt che definisce il comportamento e la personalità dell’agente. Esempio:
You are a helpful AI assistant that answers questions based on the content from our website…
- Welcome Message: messaggio iniziale mostrato quando l’utente apre la chat per la prima volta.
Funzionamento
Quando un utente digita una domanda, l’agente:
- Effettua una ricerca semantica tra i contenuti del sito indicizzato.
- Recupera i frammenti più rilevanti.
- Costruisce una risposta in linguaggio naturale, includendo se necessario i link alle pagine del sito da cui ha tratto il contenuto.
Se l’agente non trova contenuti pertinenti, è progettato per comunicarlo chiaramente, evitando allucinazioni o risposte errate.
Il risultato è un assistente AI contestuale, specifico per ciascun sito, in grado di fornire informazioni aggiornate, precise e accessibili direttamente dal browser dell’utente.

Integrazione
Una volta creato un agente AI, puoi integrarlo facilmente nel tuo sito web. L’integrazione è immediata e non richiede modifiche strutturali: è sufficiente copiare lo snippet fornito nella pagina dell’agente e incollarlo nel codice del tuo sito.
Assicurati che il dominio del tuo sito sia abilitato nelle impostazioni dell’agente, quindi scegli una delle seguenti modalità:
Popup Widget
Aggiunge un pulsante fluttuante in basso a destra. Al clic, apre una finestra di chat. Ideale per supporto clienti e navigazione assistita.
<!-- Required libraries -->
<script src=\"https://cdn.jsdelivr.net/npm/marked/marked.min.js\"></script>
<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css\">
<!-- Widget script -->
<script src=\"[CODICE_WIDGET_POPUP.js]\"></script>
Iframe Embed
Inserisce il chatbot direttamente dentro un’area specifica della pagina. Utile per pagine dedicate all’assistenza o interazioni continuative.
<iframe
src=\"https://web-scraper-pro-outsideritc.replit.app/agents/widget_iframe/[ID_AGENTE]?api_key=[API_KEY]\"
width=\"100%\" height=\"600px\" frameborder=\"0\"
style=\"border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\"></iframe>
Container Embed
In questa modalità, il widget viene caricato all’interno di un div esistente della pagina. Offre massima flessibilità per layout custom o integrazioni in webapp.
<div id=\"ai-chat-container\" style=\"width: 100%; height: 600px;\"></div>
<script src=\"https://cdn.jsdelivr.net/npm/marked/marked.min.js\"></script>
<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css\">
<script src=\"[CODICE_WIDGET_CONTAINER.js]\"></script>
Personalizzazione
Puoi modificare i colori, le dimensioni, il comportamento iniziale e i testi dell’agente direttamente dallo script, oppure intervenire tramite le impostazioni nella dashboard (messaggio di benvenuto, prompt, temperatura, avatar, ecc.).
Ogni aggiornamento effettuato nelle impostazioni dell’agente si riflette automaticamente sul widget, senza necessità di reinstallare lo script.

Statistiche e Analytics
Il sistema SSS include una dashboard di analytics per monitorare in tempo reale l’attività degli agenti AI. Ogni conversazione viene tracciata in modo anonimo per fornire metriche quantitative e qualitative sull’utilizzo, la frequenza e l’efficacia degli assistenti virtuali.
Panoramica Generale
- Conversazioni Totali: numero complessivo di sessioni registrate
- Messaggi Totali: numero complessivo di interazioni (utente + AI)
- Media Messaggi: numero medio di messaggi scambiati per conversazione
- Conversazioni per Giorno: distribuzione temporale su base giornaliera
- Distribuzione Oraria: picchi di utilizzo per fascia oraria
Ogni agente dispone di una scheda con le metriche dedicate e l’accesso al dettaglio completo delle interazioni.
Elenco Agenti Monitorati
Coorpi NEW
Coorpi IV
Coorpitest
Pippo
Cane Fiorito
Tazgurt
Conversazioni Recenti
Per ogni sessione vengono registrati:
- Nome dell’agente
- Dominio d’origine
- Prima domanda posta dall’utente
- Numero di messaggi totali
- Data e ora della conversazione
Esempio di Dettaglio Conversazione
Agente: Cane Fiorito
Dominio: canefiorito.eu
ID: 6bdafc14-d4f5-49b1-81ae-f726e055dec5
Inizio: 21/05/2025 10:53:21
Trascrizione:
Utente (10:53:23): ciao, chi sei?
Bot (10:53:26): Ciao! Sono Cane Fiorito, il cane più colto, ironico e dissacrante del mondo letterario. Sono il curatore della collana “Libri Scritti da Cani”…
Utente (10:53:45): sei un cane quindi… fammi sentire come abbai…
Questi dati aiutano a identificare pattern di comportamento, testare nuovi prompt e migliorare l’esperienza conversazionale offerta agli utenti.
Le metriche possono essere filtrate per agente, intervallo temporale o dominio, e in futuro sarà possibile esportare i dati in formato CSV o PDF.

Roadmap & Sviluppi Futuri
SSS è un progetto in costante evoluzione. Ogni versione introduce miglioramenti, nuove funzionalità e una visione sempre più raffinata dell’interazione tra intelligenza artificiale e contenuti web. Di seguito una panoramica delle direzioni su cui stiamo lavorando:
In Arrivo
- Supporto multi-modello: compatibilità con provider AI alternativi come Claude, Mistral, Gemini e LLaMA.
- Dashboard avanzata: grafici interattivi, filtri temporali dinamici, analisi del sentiment e tracciamento per canale.
- Esportazione dati: download di log conversazioni, analytics e performance in CSV, PDF e JSON.
- Notifiche in tempo reale: integrazione con Slack, Telegram o webhook per ricevere alert sulle attività degli agenti.
Obiettivi Futuri
- Estensione del widget: nuovi componenti come barra di ricerca semantica autonoma, agenti senza input utente (risposte pre-generate stile Gemini), e widget adattivo per dispositivi mobili.
- Plugin ufficiale WordPress: installazione e configurazione rapida in ambiente WP, con shortcode e admin panel dedicato.
- Integrazione con WhatsApp e Telegram: attivazione degli agenti conversazionali anche su canali di messaggistica istantanea, mantenendo il contesto di scraping e risposte personalizzate.
- Knowledge base diretta: possibilità di alimentare l’agente con PDF, file, pagine statiche e repository senza job di scraping.
Ogni nuova funzionalità sarà sviluppata tenendo conto della compatibilità con l’infrastruttura esistente e della massima semplicità di utilizzo da parte degli utenti. Se vuoi contribuire con idee, feedback o proposte, saremo felici di ascoltarti.