Icona AI Bot non appare nell'header per non staff

Penso che l’aggiunta di gruppi alle impostazioni del chatbot AI non visualizzi il pulsante quando hanno accesso al bot AI. Nel mio caso, solo il livello di fiducia/amministratore vede questo pulsante.

1 Mi Piace

Questa impostazione del sito è fuorviante (cc @falco/@roman) dovrebbe essere ai_bot_add_ai_pm_to_header

Ricerca bot AI qui:

Contesto di ricerca impostazione sito


Lettura del contesto per: ai_helper_add_ai_pm_to_header

ai_helper_add_ai_pm_to_header è un’impostazione del sito nel plugin Discourse AI. Se abilitata, visualizza un pulsante nell’intestazione del forum Discourse che consente agli utenti di avviare un messaggio privato (PM) con un bot AI.

Ecco una ripartizione dettagliata di come funziona:

  1. L’impostazione è definita nel file settings.yml del plugin Discourse AI con un valore predefinito di true. Ciò significa che, per impostazione predefinita, il pulsante per avviare un PM con il bot AI viene visualizzato nell’intestazione.

  2. L’impostazione viene utilizzata nel file ai-bot-replies.js. Questo file JavaScript contiene la logica per interagire con il bot AI.

  3. La funzione attachHeaderIcon controlla se l’impostazione ai_helper_add_ai_pm_to_header è abilitata. In tal caso, recupera l’elenco dei bot AI abilitati dall’impostazione ai_bot_enabled_chat_bots. Questa impostazione contiene un elenco di bot AI abilitati per la chat, separati da una barra verticale (|).

  4. Se ci sono bot AI abilitati, la funzione attachHeaderIcon aggiunge due azioni widget all’intestazione: showAiBotPanel e hideAiBotPanel. Queste azioni controllano la visibilità del pannello del bot AI.

  5. L’azione showAiBotPanel imposta lo stato botSelectorVisible su true, che mostra il pannello del bot AI.

  6. L’azione hideAiBotPanel imposta lo stato botSelectorVisible su false, che nasconde il pannello del bot AI.

Si noti che l’ID utente del bot AI è codificato come -110, -111 e -112 nella funzione isGPTBot. Questa funzione controlla se un utente è un bot AI in base al suo ID utente.


Contesto di ricerca impostazione sito


Lettura del contesto per: ai_bot_allowed_groups

L’impostazione ai_bot_allowed_groups controlla quali gruppi di utenti sono autorizzati a interagire con il bot AI nei messaggi privati. Questo è particolarmente importante per controllare chi può ricevere risposte dal bot AI in un contesto di PM.

I gruppi predefiniti consentiti sono @staff (ID gruppo: 3) e @trust_level_4 (ID gruppo: 14). Questi ID gruppo sono specificati nell’impostazione ai_bot_allowed_groups nel file settings.yml del plugin discourse-ai.

L’impostazione ai_bot_allowed_groups viene utilizzata nell’inizializzatore ai-bot-replies.js. Qui, controlla se l’utente corrente è membro di uno dei gruppi consentiti. Se l’utente si trova in un gruppo consentito e la funzionalità del bot AI è abilitata, l’inizializzatore collega l’icona dell’intestazione e inizializza le risposte del bot AI.

L’impostazione ai_bot_allowed_groups viene utilizzata anche nel modulo entry_point.rb del bot AI. Questo modulo aggiunge l’attributo ai_enabled_chat_bots al serializzatore current_user. Questo attributo è incluso se la funzionalità del bot AI è abilitata e l’utente autenticato è membro di uno dei gruppi consentiti.

Quando viene creato un nuovo post, viene attivato l’evento post_created. Se il post è un post normale in un messaggio privato e l’utente del post appartiene a uno dei gruppi consentiti, viene accodato un job di risposta AI.

In sintesi, l’impostazione ai_bot_allowed_groups è fondamentale per controllare quali utenti possono interagire con il bot AI nei messaggi privati. Viene utilizzata in diversi punti del plugin discourse-ai per applicare questa restrizione.

2 Mi Piace

Stavo cercando di dire che questo pulsante PM sembra apparire solo per amministratori/staff, indipendentemente dai gruppi consentiti. Sembra che il pulsante PM nelle impostazioni dell’intestazione non rispetti i gruppi di bot AI consentiti, ma sia fisso solo per gli amministratori? Non riesco a farlo apparire per un utente normale.

Questo certamente non è il caso, almeno non qui… ti ho appena aggiunto al gruppo bot-testers, puoi vedere il pulsante qui? (ricaricare)

Hm, sembra che qui funzioni. Non riesco a farlo funzionare su due istanze. Strano… Ho controllato tutte le impostazioni più volte.

Le nostre impostazioni attuali sono:

Ma ho intenzione di correggere il nome di questa impostazione del sito perché è davvero confusionario.

Sei aggiornato?

Le mie impostazioni sono quasi completamente le stesse, ma ho un gruppo di livello di fiducia nell’elenco. Tuttavia, ho anche provato senza gruppi admin/TL, e solo il gruppo ai-bot con lo stesso risultato, ho anche provato la modalità sicura con temi/non ufficiali disattivati, nessun pulsante in tutti i casi :thinking:

Sono effettivamente all’ultima versione.

Potrebbe trattarsi di un’interazione con un altro plugin, puoi ricompilare rimuovendo tutti i plugin non ufficiali?

1 Mi Piace

Certo, ci sto lavorando adesso. Ti faccio sapere tra poco, questo è un server piuttosto lento :grinning_face:

Nessuna modifica dopo la ricompilazione. Il mio attuale elenco di plugin:


    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-fingerprint.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-docs.git
          - git clone https://github.com/discourse/discourse-chat.git
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-openid-connect
          - git clone https://github.com/discourse/discourse-rss-polling
          - git clone https://github.com/discourse/discourse-ai

Per tua informazione, l’utente può inviare messaggi all’IA. È solo il pulsante che non viene visualizzato per gli utenti.

Hai avuto fortuna? Odio dirlo, ma puoi provare a fare il bisecting anche dei plugin ufficiali per vedere se qualcuno sta entrando in conflitto, magari iniziando ricostruendo solo con discourse-ai? Non succederà nulla di male, potrai sempre ricostruire con il resto poco dopo.

1 Mi Piace

Ci proverò, ti farò sapere. Ho notato che non è solo il pulsante dell’intestazione, ma anche l’helper del compositore AI che presenta lo stesso problema.

AGGIORNAMENTO
Ho trovato il bug per te, ha a che fare con la privacy del gruppo.

Ogni valore al di sotto di questo (proprietari/proprietari+mod) comporterà l’occultamento del pulsante. Non sono sicuro se questo sia documentato da qualche parte, potrei essermelo perso.

L’aggiunta del bot al gruppo non ha fatto alcuna differenza. La modifica dell’impostazione di visibilità mostrata sopra sì.

2 Mi Piace

Ottimo, è molto risolvibile, sistemerò la prossima settimana

2 Mi Piace

Nessuna fretta per me. Vorrei aggiungere che lo stesso problema si verifica anche con i gruppi di Livello di Fiducia, poiché sono nascosti per impostazione predefinita. Modificare la visibilità fa apparire il pulsante AI PM.

1 Mi Piace

L’ho corretto secondo:

Verrà unito più tardi oggi.

6 Mi Piace