Aller au contenu

Guide

Comment ajouter un chatbot de support IA et un agent SSH à un cloud CloudStack

NexCMP est une solution auto-hébergée de facturation et de portail client pour Apache CloudStack et Proxmox VE, et la version 1.2.0 intègre deux modules d'IA : AI Chat, un assistant intégré au portail client, et AI Agent, qui exécute des tâches sur la VM du client via SSH. Ce guide explique comment configurer les deux avec une clé API compatible OpenAI, à l'aide de captures d'écran du portail client et de la console d'administration.

Temps requis : environ 15 minutes sur une installation NexCMP existante.

La stack

Quatre éléments, dont trois que vous utilisez probablement déjà.

  • NexCMP 1.2.0

    Le panneau que vos clients utilisent déjà, installé sur Ubuntu 22.04 ou 24.04. AI Chat et AI Agent font partie de la licence — sans frais supplémentaires.

  • Un endpoint compatible OpenAI

    Toute API chat-completions prenant en charge l'appel d'outils (fonctions) : un fournisseur hébergé ou un proxy que vous exploitez devant plusieurs fournisseurs.

  • Une clé avec un plafond de dépenses

    Attribuez au panneau sa propre clé et définissez un budget mensuel auprès du fournisseur ou dans votre proxy afin d'éviter tout dépassement imprévu.

  • Vos VM CloudStack

    AI Agent se connecte à la VM d'un client via SSH depuis le serveur du panneau, à l'aide des identifiants enregistrés par le client pour cette VM.

Étape par étape

  1. Mettre à jour le panneau vers la version 1.2.0

    Dans la console d'administration, ouvrez License et cliquez sur Update, ou exécutez sudo nexcmp update sur le serveur. La mise à jour est signée et vérifiée avant son installation.

  2. Créer une clé API avec plafond

    Chez votre fournisseur d'IA (ou dans votre proxy), créez une clé dédiée à ce panneau et attribuez-lui un budget mensuel. Un modèle rapide et économique suffit amplement pour le chat de support.

  3. Saisissez-la dans Admin › Settings › AI provider

    Collez l'URL de l'endpoint, la clé et le nom du modèle, puis cliquez sur Test connection. La clé est stockée chiffrée dans la base de données du panneau et ne sera plus jamais affichée.

  4. Activer le module IA

    Dans Licence › Modules, activez l'IA. AI Chat et AI Agent apparaissent dans le menu du portail client après le rechargement de la page ; désactiver le module les masque à nouveau.

  5. Les clients interrogent AI Chat

    AI Chat répond aux questions sur vos offres et tarifs ainsi que sur les services du client. Lorsqu'une question nécessite une intervention humaine, le client peut transférer la conversation à votre équipe de support.

    Portail client, AI Chat répondant à une question sur les serveurs du client
  6. Les clients exécutent AI Agent sur une VM

    Le client choisit l'une de ses VM et décrit la tâche en langage naturel. L'agent exécute les commandes via SSH et affiche chaque commande ainsi que son résultat.

    Portail client, AI Agent exécutant des commandes sur une VM et affichant leur résultat
  7. Surveiller l'utilisation

    L'utilisation est facturée par votre fournisseur d'IA, et non par NexCMP. Suivez vos dépenses sur le tableau de bord du fournisseur ou du proxy et ajustez le budget de la clé à mesure que vos clients adoptent la fonctionnalité.

Prérequis avant de commencer

  • NexCMP 1.2.0 ou ultérieur, avec le module IA dans Licence › Modules.
  • Un fournisseur d'IA disposant d'un endpoint chat/completions compatible OpenAI et d'un modèle prenant en charge l'appel d'outils (fonctions) : OpenAI, OpenRouter, une passerelle LiteLLM ou votre propre serveur vLLM conviennent parfaitement.
  • Pour AI Agent, openssh-client sur le serveur du panel (l'installateur l'ajoute) et une route réseau depuis le serveur du panel vers le port SSH de chaque VM, 22 par défaut.
  • Pour AI Agent, une VM Linux appartenant au client, en cours d'exécution et non verrouillée, avec un identifiant enregistré (sauvegardé lors de la création de la VM ou de la réinitialisation de son mot de passe) ou la clé d'exploitation du panel. Les VM Windows sont refusées.
  • Facultatif pour le transfert à l'équipe via AI Chat : un bot Telegram et un chat ID sous Paramètres › Alertes admin.
ssh -V
nc -vz 198.51.100.10 22

Testez d'abord l'endpoint depuis le serveur du panel

NexCMP ajoute /chat/completions à une URL se terminant par /v1, et /v1/chat/completions à toute autre URL ; une URL se terminant déjà par /chat/completions est utilisée telle quelle. Avant de renseigner l'endpoint, envoyez-lui une requête depuis le serveur NexCMP. Une réponse JSON contenant choices[0].message.content indique que l'endpoint et le modèle fonctionnent.

curl -s https://ai.example.com/v1/chat/completions \
  -H "Authorization: Bearer XXXX" -H "Content-Type: application/json" \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Reply with one word: OK"}]}'

Comment AI Agent exécute les commandes, et ce qu'il n'exécutera pas de lui-même

  • Les commandes sont exécutées depuis le serveur du panel avec son propre client ssh, une commande non interactive à la fois. La cible est toujours l'adresse IP de la VM issue de la base de données, jamais une adresse issue de la requête.
  • Le mot de passe enregistré est transmis via un helper SSH_ASKPASS à usage unique dans l'environnement du processus : il n'est ni écrit sur le disque ni passé en ligne de commande.
  • La sortie de chaque commande est limitée à 200 KB, un tour prend fin après 10 étapes au maximum, et un client peut avoir au plus 2 exécutions de l'agent simultanées.
  • En mode Confirm, chaque commande attend que le client clique sur Run. En mode Auto, seules les commandes figurant sur une liste stricte en lecture seule, par exemple df -h, ps ou journalctl, s'exécutent automatiquement.
  • Les commandes qui écrasent ou suppriment des fichiers, modifient des comptes ou des SSH Keys, envoient des données vers un serveur externe, téléchargent et exécutent un script, ou arrêtent ou redémarrent la machine affichent toujours Needs confirmation, même en mode Auto.
  • La sortie des commandes est présentée au modèle comme une donnée non fiable, et les instructions qui y figurent ne sont pas suivies.

Dépannage

Les messages les plus fréquents et les points à vérifier.

  • Test connection échoue avec 401

    Cause probable
    La clé est incorrecte pour cet endpoint.
    Que faire
    Vérifiez la clé et l'endpoint, puis saisissez à nouveau la clé si vous avez modifié l'URL de base.
  • Test connection échoue avec 404 ou model not found

    Cause probable
    Chemin ou identifiant de modèle incorrect.
    Que faire
    Vérifiez que l'URL de base se termine par /v1 et utilisez l'identifiant exact du modèle du fournisseur.
  • Le portail n'affiche aucun menu IA

    Cause probable
    Le module est désactivé, ou le fournisseur n'est pas activé comme étant utilisé.
    Que faire
    Activez le module IA dans Licence › Modules et activez le fournisseur.
  • L'agent n'a pas pu se connecter

    Cause probable
    Aucun mot de passe enregistré et aucune clé d'exploitation pour cette VM.
    Que faire
    Réinitialisez le mot de passe de la VM dans le portail pour qu'il soit à nouveau enregistré.
  • Le serveur n'a pas répondu à temps

    Cause probable
    Un pare-feu, SSH qui n'écoute pas ou une VM surchargée.
    Que faire
    Exécutez nc -vz <vm-ip> 22 depuis le serveur du panel et démarrez sshd sur la VM.
  • L'IA répond trop lentement

    Cause probable
    Le fournisseur ou le modèle est lent.
    Que faire
    Utilisez un modèle plus rapide ou réduisez le Reasoning effort dans Settings › AI provider.
  • Connectez-vous pour utiliser AI Chat

    Cause probable
    Le visiteur n'est pas connecté.
    Que faire
    Comportement attendu : AI Chat est réservé aux clients connectés.

Confidentialité et coûts

Les questions des clients et les données consultées par l'IA pour ce client (en lecture seule) sont envoyées à votre fournisseur d'IA. Précisez-le dans votre politique de confidentialité.

NexCMP ne comptabilise pas les coûts d'IA. Utilisez les fonctions de budget de votre fournisseur et réduisez le paramètre d'échanges IA par jour et par client (40 par défaut, sous Customers › Support › Ticket › AI settings) pour plafonner les dépenses.

Pour aller plus loin

AI Chat et AI Agent restent désactivés jusqu'à l'enregistrement d'une clé de fournisseur, rien ne vous est donc facturé ni envoyé avant votre décision. Consultez la vue d'ensemble ou découvrez les autres modules.

Questions sur les modules IA

Quels modèles d'IA sont compatibles ?
Tout modèle accessible via un endpoint chat-completions compatible OpenAI prenant en charge l'appel d'outils (fonctions). Vous configurez l'endpoint, la clé et le modèle dans Admin › Settings › AI provider.
L'agent peut-il accéder aux serveurs d'autres clients ?
Non. AI Agent fonctionne uniquement sur les VM appartenant au compte du client connecté, en utilisant les identifiants enregistrés pour cette VM.
NexCMP facture-t-il l'utilisation de l'IA ?
Non. Les modules IA sont inclus dans la licence. Vous réglez directement votre fournisseur d'IA pour l'utilisation de la clé que vous configurez.
Comment tester la connexion au fournisseur d'IA ?
Dans Admin › Settings › AI provider, cliquez sur Save, puis sur Test connection. Le système envoie une courte question et affiche Connected avec le nom du modèle et le temps de réponse, ou l'erreur retournée par le fournisseur.
AI Agent nécessite-t-il une passerelle SSH dédiée ?
Non. Dans l'installation par défaut, le panel utilise son propre client ssh. Le terminal web optionnel ssh-proxy n'est utilisé que lorsque la fonctionnalité web SSH est activée.
Les visiteurs non connectés peuvent-ils utiliser AI Chat ?
Non. AI Chat est réservé aux clients connectés ; un visiteur non connecté est invité à se connecter d'abord.
AI Agent fonctionne-t-il sur les VM Windows ?
Non. Il fonctionne sur les VM Linux en cours d'exécution ; les VM Windows sont refusées.
Puis-je le désactiver ?
Oui. Désactivez le module IA dans License › Modules ; AI Chat et AI Agent disparaissent du portail et leur API indique que le module est désactivé.

Ajoutez l'IA à votre cloud

AI Chat et AI Agent sont inclus dans chaque licence NexCMP — gratuits la première année, ou $499 en achat unique avec le code source.

Dernière mise à jour :