Preferenze interfaccia utente: includere impostazione per disabilitare i suggerimenti AI

Volevo disabilitare tutte le integrazioni AI sul mio sito e sono molto soddisfatto che sia sufficiente una singola impostazione. Una risposta a ciò che l’OP sta cercando potrebbe essere l’equivalente di discourse_ai_enabled, ma applicato a livello di singolo utente. In questo modo, l’AI non sarebbe semplicemente attivata o disattivata per l’intero sito. Anche le funzionalità AI attive a livello di sito potrebbero essere disattivate su base individuale. La logica di discourse_ai_enabled sarebbe quindi: sito-wide == true e per-utente == true.

Sebbene sia generalmente vero che si tende a evitare nuove impostazioni di personalizzazione per non complicare eccessivamente il sistema, l’AI è la funzionalità con il maggior numero di opzioni configurabili. Nel breve lasso di tempo in cui l’AI è esistita, sembra essere diventata la funzionalità più personalizzabile di Discourse.[1]

Ecco un’analisi rapida e approssimativa. Sono relativamente nuovo qui, quindi mostro il mio lavoro nel caso abbia commesso un errore.

su discourse -c 'bundle exec rails runner "SiteSetting.defaults.all.keys.sort.each { |k| puts k }"' > keys.txt
wc -l keys.txt
1663 keys.txt
cut -d _ -f 1 keys.txt | sort | uniq -c | sort -rn > counts.txt

Se questo è il modo corretto per contarle, ci sono 1663 possibili impostazioni di sito. Di queste, 104 iniziano con ai_ e 3 impostazioni AI non lo fanno (composer_ai_helper_allowed_groups, discourse_ai_enabled e post_ai_helper_allowed_groups). Quindi, secondo il mio calcolo, l’AI è il gruppo più numeroso di impostazioni personalizzate, e di gran lunga (107 su 1663, ovvero il 6,4% di tutte le impostazioni di sito). Ecco le prime 10:

  • 107 ai
  • 84 discourse
  • 83 chat
  • 71 max
  • 65 enable
  • 48 default
  • 30 dfp
  • 28 oauth2
  • 28 amazon
  • 28 allow

Da un lato, la disattivazione delle funzionalità AI su base individuale è solo una in più tra 1663. Dall’altro, potrebbe essere difficile verificarla a livello di singolo utente quando molti percorsi di codice la controllano a livello di intero sito. È un compromesso su cui non sono qualificato a speculare.


  1. È anche una funzionalità piuttosto ben definita e autonoma, relativamente giovane, quindi la sua denominazione coerente con il prefisso ai_ rende più semplice contare le sue impostazioni rispetto ad altri componenti. Per questo motivo dico che si tratta di un’analisi rapida e approssimativa. ↩︎