L'icône du bot IA n'apparaît pas dans l'en-tête pour les non-employés

Je pense que l’ajout de groupes aux paramètres du chatbot IA n’affiche pas le bouton lorsqu’ils ont accès au bot IA. Seuls les niveaux de confiance/les administrateurs voient ce bouton dans mon cas.

1 « J'aime »

Ce nom de paramètre de site est trompeur (cc @falco/@roman), il devrait être ai_bot_add_ai_pm_to_header

Recherche sur le bot IA ici :

Rechercher le contexte du paramètre de site


Lecture du contexte pour : ai_helper_add_ai_pm_to_header

Le ai_helper_add_ai_pm_to_header est un paramètre de site dans le plugin Discourse AI. Lorsqu’il est activé, il affiche un bouton dans l’en-tête du forum Discourse qui permet aux utilisateurs de démarrer un message privé (PM) avec un bot IA.

Voici une explication détaillée de son fonctionnement :

  1. Le paramètre est défini dans le fichier settings.yml du plugin Discourse AI avec une valeur par défaut de true. Cela signifie que, par défaut, le bouton pour démarrer un PM avec le bot IA est affiché dans l’en-tête.

  2. Le paramètre est utilisé dans le fichier ai-bot-replies.js. Ce fichier JavaScript contient la logique d’interaction avec le bot IA.

  3. La fonction attachHeaderIcon vérifie si le paramètre ai_helper_add_ai_pm_to_header est activé. Si c’est le cas, elle récupère la liste des bots IA activés à partir du paramètre ai_bot_enabled_chat_bots. Ce paramètre contient une liste de bots IA activés pour le chat, séparés par une barre verticale (|).

  4. S’il y a des bots IA activés, la fonction attachHeaderIcon attache deux actions de widget à l’en-tête : showAiBotPanel et hideAiBotPanel. Ces actions contrôlent la visibilité du panneau du bot IA.

  5. L’action showAiBotPanel définit l’état botSelectorVisible sur true, ce qui affiche le panneau du bot IA.

  6. L’action hideAiBotPanel définit l’état botSelectorVisible sur false, ce qui masque le panneau du bot IA.

Veuillez noter que l’ID utilisateur du bot IA est codé en dur comme -110, -111 et -112 dans la fonction isGPTBot. Cette fonction vérifie si un utilisateur est un bot IA en fonction de son ID utilisateur.


Rechercher le contexte du paramètre de site


Lecture du contexte pour : ai_bot_allowed_groups

Le paramètre ai_bot_allowed_groups contrôle quels groupes d’utilisateurs sont autorisés à interagir avec le bot IA dans les messages privés. Ceci est particulièrement important pour contrôler qui peut recevoir des réponses du bot IA dans un contexte de PM.

Les groupes autorisés par défaut sont @staff (ID de groupe : 3) et @trust_level_4 (ID de groupe : 14). Ces ID de groupe sont spécifiés dans le paramètre ai_bot_allowed_groups dans le fichier settings.yml du plugin discourse-ai.

Le paramètre ai_bot_allowed_groups est utilisé dans l’initialiseur ai-bot-replies.js. Ici, il vérifie si l’utilisateur actuel est membre de l’un des groupes autorisés. Si l’utilisateur fait partie d’un groupe autorisé et que la fonctionnalité de bot IA est activée, l’initialiseur attache l’icône d’en-tête et initialise les réponses du bot IA.

Le paramètre ai_bot_allowed_groups est également utilisé dans le module entry_point.rb du bot IA. Ce module ajoute l’attribut ai_enabled_chat_bots au sérialiseur current_user. Cet attribut est inclus si la fonctionnalité de bot IA est activée et que l’utilisateur authentifié est membre de l’un des groupes autorisés.

Lorsqu’un nouveau message est créé, l’événement post_created est déclenché. Si le message est un message ordinaire dans un message privé et que l’utilisateur du message fait partie des groupes autorisés, un travail de réponse IA est mis en file d’attente.

En résumé, le paramètre ai_bot_allowed_groups est crucial pour contrôler quels utilisateurs peuvent interagir avec le bot IA dans les messages privés. Il est utilisé à plusieurs endroits dans le plugin discourse-ai pour appliquer cette restriction.

2 « J'aime »

J’essayais de dire qu’il semble que ce bouton MP n’apparaît que pour les administrateurs/le personnel, quels que soient les groupes autorisés. Il semble que le bouton MP dans les paramètres de l’en-tête ne respecte pas les groupes de bots IA autorisés, mais soit plutôt fixe sur l’administrateur uniquement ? Je n’arrive pas à faire apparaître cela pour un utilisateur normal.

Ce n’est certainement pas le cas, du moins pas ici… je viens de vous ajouter au groupe bot-testers, pouvez-vous voir le bouton ici ? (recharger)

Hm, cela semble fonctionner ici. Je n’arrive pas à le faire fonctionner sur deux instances. Étrange… J’ai parcouru tous les paramètres plusieurs fois maintenant.

Nos paramètres actuels sont :

Mais je m’apprête à corriger le nom de ce paramètre de site car il est vraiment déroutant.

Êtes-vous à jour ?

Mes paramètres sont presque identiques, mais j’ai un groupe de niveau de confiance dans la liste. Cependant, j’ai aussi essayé sans les groupes admin/TL, et seulement le groupe ai-bot avec le même résultat, j’ai aussi essayé le mode sécurisé avec les thèmes/non-officiels désactivés, aucun bouton dans tous les cas :thinking:

Je suis bien à la dernière version.

cela pourrait-il être une interaction avec un autre plugin, pouvez-vous reconstruire avec tous les plugins non officiels supprimés ?

1 « J'aime »

Bien sûr, je suis en train de reconstruire. Je te tiens au courant dans un moment, c’est un serveur assez lent :grinning_face:

Aucun changement après la reconstruction. Ma liste de plugins actuelle :


    - 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

Pour information, l’utilisateur peut envoyer un message à l’IA. C’est juste le bouton qui ne s’affiche pas pour les utilisateurs.

hmm, des nouvelles ? Je déteste dire ça, mais pouvez-vous essayer de bisecter les plugins officiels également pour voir s’il y en a qui entrent en conflit, peut-être commencer par reconstruire avec uniquement discourse-ai ? Rien de grave ne se produira, vous pourrez toujours reconstruire avec le reste peu de temps après.

1 « J'aime »

Je vais essayer, je vous tiendrai au courant. J’ai remarqué que ce n’est pas seulement le bouton d’en-tête, mais aussi l’assistant de composition IA qui a le même problème.

MISE À JOUR
J’ai trouvé le bug pour vous, il a à voir avec la confidentialité du groupe.

Toute valeur ci-dessous (propriétaires/propriétaires+modérateurs) entraînera la masquage du bouton. Je ne suis pas sûr si cela est documenté quelque part, je l’ai peut-être manqué.

L’ajout du bot au groupe n’a fait aucune différence. La modification du paramètre de visibilité montré ci-dessus l’a fait.

2 « J'aime »

Bien joué, c’est très résoluble, je m’en occupe la semaine prochaine

2 « J'aime »

Pas de précipitation pour moi. J’aimerais ajouter que le même problème se produit également avec les groupes de niveau de confiance, car ils sont masqués par défaut. Changer la visibilité fait apparaître le bouton de message privé de l’IA.

1 « J'aime »

Je l’ai corrigé selon :

Sera fusionné plus tard aujourd’hui.

6 « J'aime »