AIsuru Docs
AIsuru
AIsuru
  • 0. Introduzione ad AIsuru
    • Cos'è AIsuru
    • Per chi è AIsuru?
    • Panoramica delle funzionalità principali
    • Che differenza c'è con ChatGPT?
    • Requisiti di sistema
  • 1. Primi passi
    • Creazione di un account
    • Navigazione dell'interfaccia utente
    • Creazione del primo Agente
      • Come creare un Agente
      • Importazione rapida di un documento
      • Condivisione
    • Video riassuntivo
    • Gestione account
  • 2. Istruzione dell'Agente e gestione dei contenuti
    • Come istruire un Agente: panoramica dei metodi
    • Istruiscimi: insegna nuove informazioni all'Agente chiacchierando
    • Contenuti
      • Cosa sono i contenuti e perché sono importanti
      • Creazione manuale dei contenuti
      • Validazione e correzione dei contenuti
      • Modifica e aggiornamento dei contenuti
    • Importazione di documenti
      • Come funziona l'importazione di documenti
      • Importare documenti testuali
      • Gestione delle immagini nei documenti
    • Dizionario
    • Istruzione: sezione avanzata
      • Personalizzazione dei contenuti
        • Come attribuire contenuti a persone o ruoli specifici
        • Personalizzare le risposte in base a data e luogo dell'utente
        • Gestione dei suggerimenti
        • Contesto: argomenti ed etichette
        • Gestione dei testi preformattati (snippet di codice)
        • Utilizzo del timeout
      • Importazione avanzata di documenti
        • Creare una gerarchia dei documenti
        • Importare un documento non supportato
      • Messaggio di benvenuto
      • Risposte predefinite
      • Formattazione dei messaggi: HTML e formule matematiche
      • Metodi avanzati di istruzione
  • 3. Modelli linguistici e IA generativa
    • Attiva l'IA generativa e cambia il modello
    • Istruzioni IA
      • Istruzioni IA: cosa sono e come modificarle
      • Come scrivere istruzioni efficaci
      • Esempi di istruzioni efficaci
    • Provider e modelli di IA generativa
    • IA generativa: sezione avanzata
      • Altre impostazioni dell'IA generativa
      • Crea e gestisci le configurazioni dei modelli
      • Cosa fare in caso di problemi
  • 4. Condivisione e pubblicazione
    • Crea e gestisci i layout di condivisione
    • Codice di embed
    • Condividi i tuoi Agenti
      • Condividi un link al tuo Agente
      • Incorpora l'Agente sul tuo sito web
      • Scarica una pagina HTML con il tuo Agente
      • Integra l'Agente con il tuo blog WordPress
      • Inserisci l'Agente all'interno di totem e dispositivi fisici
      • Aggiungi l'Agente al tuo spazio virtuale (VR e AR)
      • Integrazione con WhatsApp Business
    • Visibilità in homepage
    • Condivisione: sezione avanzata
      • Domanda iniziale
      • Personalizzazione avanzata dell'interfaccia utente
      • Analisi del codice di embed
      • Modificare il nome dell'Agente
  • 5. Funzionalità avanzate
    • Backup dell'Agente
    • Trasferimento e cancellazione dell'Agente
    • Integrazioni
      • Funzioni
        • Cosa sono le funzioni
        • Funzioni di AIsuru
        • Funzioni avanzate
          • Come configurare una funzione personalizzata
          • Funzioni avanzate: best practice e casi d'uso
            • Caso d'uso - Aggiornamento automatico: il tuo Agente sempre connesso al web
            • Caso d'uso - Prendere dati live da un servizio esterno
          • Problemi comuni con le funzioni avanzate
          • Cache delle funzioni
      • Intenti dinamici
        • Cosa sono e come configurare gli intenti dinamici
        • Come usare gli slot
        • Tunneling: esempio di una live chat su AIsuru
      • Intenti dinamici o funzioni, cosa usare?
      • Copia gli intenti dinamici, gli slot e le funzioni da un altro Agente
    • Gestione degli utenti
      • Differenza tra autori e persone
      • Invito e gestione degli autori
      • Creazione e gestione delle persone
    • Fine-tuning
      • Cos'è il fine-tuning e a cosa serve
      • Come fare fine-tuning in maniera semplice con AIsuru
      • Come sfruttare modelli fine-tuned su AIsuru
    • Interfacce web: come creare esperienze interattive
  • 6. Consumi e Analytics
    • Consumi
      • Come funzionano i consumi?
      • Monitora i tuoi consumi
      • Come ricaricare i crediti
    • Analisi e ottimizzazione dell'Agente
      • Statistiche
      • Storico delle conversazioni
      • Velocità di risposta
      • Preferenze notifiche
  • 7. Estensioni
    • Gruppo di esperti
      • Cosa sono i gruppi di esperti
      • Creare un gruppo di esperti
      • Come aggiungere Agenti al gruppo e descriverli
      • Come sfruttare i contenuti nel gruppo di esperti
      • Gruppo di esperti: best practice e casi d'uso
    • Pensiero Profondo
      • Cosa è Pensiero Profondo
      • Attivazione e configurazione
      • Gestione delle memorie
      • Best practices e casi d'uso
      • Analytics
        • Ricerca interessi degli utenti
        • Ricerca di segmenti di pubblico in linguaggio naturale
    • Spazi Virtuali (VR e MR)
      • Cosa è uno spazio virtuale
      • Creazione di uno spazio virtuale
      • Aggiungere Agenti agli spazi virtuali
      • Aggiungere oggetti agli spazi virtuali
      • Entrare in uno spazio virtuale
      • Casi d'uso
    • Open Badge
  • 8. Platform as a Service (PaaS)
    • Vantaggi della PaaS
    • Come attivare e configurare la PaaS
    • Come collegare la PaaS al tuo dominio
    • Gestione degli utenti nella PaaS
    • Come controllare i consumi della piattaforma
    • Personalizzazione dell'ambiente PaaS
    • Sicurezza e privacy
    • Supporto e manutenzione
  • 9. Documentazione Frontend
    • ⚛️ Componente React
    • 🌐 Web Component
    • 🎨 Stile e Personalizzazione
    • 🔌 Client API
  • 10. Risorse aggiuntive
    • Glossario dei termini
    • Link utili e supporto
    • API Engine
      • ChatLogs
      • ContextVars
      • CorrelationPairs
      • CustomDictionary
      • Dialog
      • EventLogs
      • ExpertReferences
      • Functions
      • Intents
      • LocalizationKeys
      • Media
      • Memories
      • NLP
      • People
      • Search
      • Session
      • Stats
      • Topics
      • UnansweredQuestions
      • User
      • WebHooks
      • Models
Powered by GitBook
On this page
  • Panoramica
  • Variabili CSS
  • Layout Personalizzati
  • Personalizzazione Responsiva
  • Override dei Componenti
  • Best Practices
  • Demo
  1. 9. Documentazione Frontend

🎨 Stile e Personalizzazione

Panoramica

Memori offre diverse possibilità di personalizzazione dell'aspetto e del comportamento del widget, permettendo di adattarlo perfettamente al design del proprio sito web o applicazione. Le personalizzazioni possono essere applicate attraverso variabili CSS, layout personalizzati e override dei componenti.

Variabili CSS

Il sistema di personalizzazione si basa principalmente su variabili CSS che controllano colori, dimensioni, spaziature e altri aspetti visivi del widget.

Variabili Base

:root {
  /* Colori principali */
  --memori-primary: rgb(102, 103, 171);
  --memori-primary-text: #fff;
  --memori-text-color: #000;
  
  /* Sfondo e contenitori */
  --memori-inner-bg: transparent;
  --memori-chat-bubble-bg: #ffffff60;
  --memori-blur-background: 0px;
  
  /* Pulsanti */
  --memori-button-bg: #fff;
  --memori-button-text: #000;
  --memori-button-radius: 5px;
  --memori-button-padding: 0.5rem 1.5rem;
  --memori-button-border-color: #d9d9d9;
  --memori-button-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
  
  /* Drawer e Modal */
  --memori-drawer--width: 100%;
  --memori-drawer--width--md: 80%;
  --memori-drawer--width--lg: 60%;
  --memori-modal--width: 100%;
  --memori-modal--width--md: 80%;
  
  /* Stati */
  --memori-error-color: #ff4d4f;
}

Esempi di Personalizzazione

Tema Scuro

memori-client,
#headlessui-portal-root,
.memori-widget {
  --memori-primary: #2d3748;
  --memori-primary-text: #ffffff;
  --memori-inner-bg: #1a202c;
  --memori-chat-bubble-bg: #2d3748;
  --memori-text-color: #e2e8f0;
  --memori-button-bg: #4a5568;
  --memori-button-text: #ffffff;
  --memori-blur-background: 8px;
}
.memori-button {
  background-color: #4a5568;
  color: #ffffff;
}
.memori--title {
  color: #ffffff;
}
.memori-chat--bubble {
  background-color: #ffffff;
  color: #1a202c;
}
.memori-button-icon {
  color: #fff;
}
.memori-chat-inputs--mic svg {
  fill: #fff;
}

Tema Chiaro

i-client,memori-client,
#headlessui-portal-root,
.memori-widget {
  --memori-primary: #6366f1;
  --memori-primary-text: #ffffff;
  --memori-inner-bg: #f8fafc;
  --memori-chat-bubble-bg: #f1f5f9;
  --memori-text-color: #1e293b;
  --memori-button-bg: #ffffff;
  --memori-button-text: #1e293b;
  --memori-button-radius: 12px;
  --memori-blur-background: 0px;
}
.memori-button {
  background-color: #ffffff;
  color: #1e293b;
}
.memori--title {
  color: #1e293b;
}
.memori-chat--bubble {
  background-color: #ffffff;
  color: #1e293b;
}
.memori-chat-inputs--mic svg {
  fill: #1e293b;
}

Layout Personalizzati

È possibile definire layout completamente personalizzati utilizzando il componente React.

Esempio Base

const CustomLayout: React.FC<LayoutProps> = ({
  Avatar,
  Chat,
  StartPanel,
  sessionId,
  hasUserActivatedSpeak,
  avatarProps,
  chatProps,
  startPanelProps
}) => (
  <div className="custom-layout">
    <div className="avatar-section">
      <Avatar {...avatarProps} />
    </div>
    <div className="main-content">
      {sessionId && hasUserActivatedSpeak ? (
        <Chat {...chatProps} />
      ) : (
        <StartPanel {...startPanelProps} />
      )}
    </div>
  </div>
);

Stili Specifici per Layout

.custom-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 20px;
  padding: 20px;
  height: 100%;
}

.avatar-section {
  background: var(--memori-inner-bg);
  border-radius: 10px;
  padding: 20px;
}

.main-content {
  background: var(--memori-chat-bubble-bg);
  border-radius: 10px;
  overflow: hidden;
}

Personalizzazione Responsiva

@media (max-width: 768px) {
  .memori-widget {
    --memori-drawer--width: 100%;
    --memori-modal--width: 100%;
  }
  
  .custom-layout {
    grid-template-columns: 1fr;
  }
}

Override dei Componenti

È possibile sovrascrivere i componenti predefiniti per una personalizzazione ancora più profonda.

Esempio: Chat Bubble Personalizzata

const CustomChatBubble: React.FC<ChatBubbleProps> = ({
  message,
  isUser,
  timestamp
}) => (
  <div className={`custom-bubble ${isUser ? 'user' : 'bot'}`}>
    <div className="message">{message}</div>
    <div className="timestamp">{timestamp}</div>
  </div>
);

Best Practices

  1. Mantenere la Coerenza

    • Utilizzare colori e stili coerenti con il brand;

    • Mantenere la stessa palette in tutto il widget.

  2. Accessibilità

    • Assicurare sufficiente contrasto tra testo e sfondo;

    • Mantenere dimensioni dei caratteri leggibili;

    • Considerare utenti con difficoltà visive.

  3. Responsive Design

    • Testare su diversi dispositivi e dimensioni dello schermo;

    • Utilizzare breakpoint appropriati;

    • Adattare layout e dimensioni per dispositivi mobili.

  4. Performance

    • Evitare animazioni pesanti;

    • Ottimizzare immagini e assets;

    • Minimizzare l'uso di filtri e effetti CSS complessi.

Demo

Abbiamo realizzato una demo che mostra un esempio di personalizzazione del tema utilizzando l'Agente di "Giuseppe Verdi". Puoi provare a modificare lo stile a tuo piacimento.

Previous🌐 Web ComponentNext🔌 Client API

Last updated 5 months ago

https://jsfiddle.net/8rw6mpy1/jsfiddle.net