Cosa sono gli AI Artifacts?
Gli AI Artifacts sono strumenti potenti che consentono agli utenti di creare, incorporare e interagire con componenti web dinamici direttamente all’interno di un post su Discourse. Questi componenti possono contenere HTML, CSS e JavaScript personalizzati, abilitando una varietà di casi d’uso come:
- Incorporare quiz o moduli interattivi.
- Visualizzare dati con grafici ricchi e animazioni.
- Integrare applicazioni o strumenti web leggeri.
- Uno strumento per apprendere framework web, librerie JavaScript e altro.
Gli AI Artifacts migliorano in modo fluido i post di Discourse aggiungendo interattività, garantendo al contempo un’esperienza di navigazione sicura.
Impostazioni del sito
Gli amministratori possono configurare diverse impostazioni:
1. Abilitazione della funzionalità
- Impostazione:
discourse_ai_enabled- Assicurati che questa impostazione globale sia abilitata affinché gli AI Artifacts funzionino.
2. Modalità di sicurezza
- Impostazione:
ai_artifact_security- Opzioni:
disabled: Disabilita il sistema degli artifacts.lax: Gli artifacts appaiono automaticamente nei post senza richiedere interazione dell’utente.hybrid: Gli artifacts richiedono un clic per essere eseguiti per impostazione predefinita, ma gli autori dei post possono aggiungeredata-ai-artifact-autorunal markup di incorporamento per far sì che specifici artifacts vengano eseguiti immediatamente.strict: Gli utenti devono attivare esplicitamente gli artifacts nel proprio browser cliccando un pulsante “Visualizza” o “Esegui”. Questa impostazione è consigliata per ambienti attenti alla sicurezza. (predefinito)
- Opzioni:
3. Accesso al creatore di artifacts
- Per impostazione predefinita, l’agente Artifact Creator è limitato esclusivamente agli utenti dello staff. Questa restrizione garantisce che solo individui fidati possano creare artifacts, minimizzando il rischio di utilizzi impropri o dannosi.
- Se è necessario un accesso più ampio, le autorizzazioni devono essere configurate manualmente da un amministratore del sito.
Utilizzo degli AI Artifacts nei post
Gli artifacts vengono creati automaticamente dall’agente Artifact Creator su richiesta.
L'artifact sopra è stato generato utilizzando GPT-4o e la libreria anime.jsUna volta creati, sono privati solo per te e per l’agente Artifact Creator. Gli utenti che possono condividere le conversazioni con l’IA (quelli che appartengono ai gruppi ai bot public sharing allowed groups) possono anche rendere pubblico un artifact condividendo la conversazione.
Una volta condiviso, puoi utilizzare il seguente markup HTML per renderizzarlo in un post:
<div class="ai-artifact" data-ai-artifact-version="3" data-ai-artifact-id="71"></div>
(dove la versione e l’ID dell’artifact corrispondono alla tua artifact versionata)
Considerazioni sulla sicurezza
Dato che gli AI Artifacts possono eseguire HTML, CSS e JavaScript scritti su misura, Discourse ha implementato robuste misure di protezione:
1. Sandboxing negli iframe
- Gli artifacts vengono renderizzati all’interno di contenitori
iframeisolati con attributisandboxper limitare operazioni potenzialmente pericolose come:- Cross-site scripting.
- Accesso a siti o API esterne.
2. Content Security Policy (CSP)
- Tutte le risorse negli artifacts (come le librerie JavaScript) sono limitate a domini sicuri e pre-autorizzati, come:
- https://cdn.jsdelivr.net
- https://cdnjs.cloudflare.com
- https://unpkg.com
- https://ajax.googleapis.com
- https://d3js.org
- https://code.jquery.com
- https://esm.sh
3. Modalità di sicurezza
- Modalità Strict: È consigliata per ambienti in cui gli artifacts non sono completamente attendibili. Gli utenti dovranno attivare manualmente gli artifacts nel proprio browser prima che vengano renderizzati.
4. Accesso e autorizzazioni
- Gli artifacts sono visibili solo a:
- Il loro creatore.
- Gli utenti con le autorizzazioni corrette per visualizzare il post associato (ad esempio, messaggi privati).
- Gli artifacts pubblici devono essere esplicitamente contrassegnati come tali condividendo la conversazione con l’IA.
5. Limiti di lunghezza
- La dimensione di HTML, CSS e JavaScript in un artifact è limitata a 64 KB ciascuno. Questo garantisce che i componenti rimangano leggeri e non appesantiscano gli utenti o i sistemi.
Archiviazione degli artifacts
Gli artifacts web possono opzionalmente archiviare dati per utente. Per farlo, indica al creatore dell’artifact di “utilizzare l’archiviazione utente” o qualcosa di simile.
Questo sistema permette di archiviare coppie chiave-valore:
- Private (visibili solo agli amministratori e a utenti specifici)
- Pubbliche (visibili a tutti gli utenti, inclusi quelli anonimi)
Le coppie chiave-valore sono protette rispetto al post da cui è originato l’artifact; tuttavia, se condividi pubblicamente un artifact, tutti potranno aggiungere chiavi.
Per controllare l’archiviazione puoi utilizzare le impostazioni nascoste:
ai_artifact_kv_value_max_length(gli elementi predefiniti possono essere lunghi al massimo 5000 caratteri)ai_artifact_max_keys_per_user_per_artifact(predefinito 100)
FAQ
Chi può creare AI Artifacts?
Per impostazione predefinita, solo gli utenti dello staff (ad esempio amministratori o moderatori) possono creare artifacts tramite l’agente Artifact Creator. Questo agente semplifica il processo di progettazione di widget web interattivi utilizzando HTML, CSS e JavaScript.
Cosa succede se clicco su un artifact?
- In modalità lax, gli artifacts appaiono automaticamente.
- In modalità hybrid, gli artifacts richiedono un clic per impostazione predefinita, ma possono essere eseguiti automaticamente se l’incorporamento include
data-ai-artifact-autorun. - In modalità strict, cliccando il pulsante “Esegui” si attiva l’artifact e si permette il caricamento nel proprio browser.
Gli AI Artifacts sono sicuri?
Sì. Gli AI Artifacts vengono eseguiti in ambienti strettamente controllati:
- Sono isolati in sandbox e non possono interagire direttamente con l’applicazione Discourse o il contesto dell’utente, ma solo tramite messaggi iframe.
- La modalità strict ti dà il controllo sull’attivazione.
- Gli artifacts sono privati per impostazione predefinita; è necessario condividerli attivamente per concedere l’accesso globale.
Posso vedere il codice sorgente degli artifacts?
Sì. Quando Discourse AI genera artifacts, includerà il markup completo, il CSS e il JavaScript.
Quali LLM sono supportati?
Gli artifacts possono essere generati utilizzando qualsiasi LLM configurato; tuttavia, alcuni LLM sono specializzati e meglio ottimizzati per la creazione di artifacts.
Abbiamo ottenuto buoni risultati con o3, Anthropic Claude Sonnet 3.7 - 4.0, GPT-4.1, Gemini Pro 2.5 e altri. In generale, i modelli più avanzati funzionano meglio.
La creazione di artifacts comporta un ampio processo di prova ed errore; la sperimentazione è fondamentale.