Produits › DoliAI Assistant › Documentation
Documentation de DoliAI Assistant
Installer, configurer et utiliser DoliAI Assistant 1.0.0 dans Dolibarr.
DoliAI Assistant ajoute un assistant IA en lecture seule à Dolibarr. Il apparaît sous le nom « DoliAI Assistant » et dans le menu « DoliAI ». Son nom technique est dolibarrai : dossier du module, paquet module_dolibarrai-1.0.0.zip et constantes DOLIBARRAI_*. Le module ne modifie pas le cœur de Dolibarr.
Installation
Prérequis
- Dolibarr 20.0 ou plus, avec le mécanisme natif des modules externes. Versions testées : 20.0.4, 21.0.4, 22.0.5, 23.0.4 et 24.0.1.
- Entité principale seulement : seules les données de l’entité 1 sont lues, liées et conservées. Le module Multisociété n’est pas pris en charge ; l’activation depuis une autre entité est refusée avec un message.
- PHP 7.4 ou plus, en 64 bits, avec les sessions et les extensions
json,curl,mbstring,iconvetzlib. - Un répertoire de documents privé, accessible en écriture par PHP, strictement hors de la racine web. Un dossier sous la racine web simplement protégé par
.htaccessne suffit pas. - Un compte chez un fournisseur d’IA qui propose une API compatible Chat Completions (OpenAI). Voir Configurer le fournisseur d’IA.
Aucun cron, worker permanent, Redis, Composer ni accès SSH n’est requis. Le parseur PDF est livré avec le module. L’hébergeur doit toutefois permettre la durée d’exécution, la mémoire et les requêtes simultanées nécessaires.
Déployer le module
- Dans Accueil → Configuration → Modules/Applications, ouvrir l’onglet Déployer/Installer un module externe et envoyer le fichier
module_dolibarrai-1.0.0.zip. - Activer DoliAI Assistant dans Configuration → Modules/Applications.
- Ouvrir la configuration du module, renseigner le budget mensuel, puis le fournisseur d’IA (voir ci-dessous).
- Fixer la durée de conservation dans la carte Confidentialité et durée de conservation, et vérifier le répertoire privé effectif et son espace disponible.
- Attribuer le droit Accéder au chat de l’assistant IA aux utilisateurs internes ou aux groupes concernés.
- Lancer le test de connexion, puis poser une première question.
Installation manuelle : décompresser le dossier dolibarrai dans le répertoire custom configuré par Dolibarr, puis suivre les étapes 2 à 6. Avant de remplacer un module existant, sauvegarder ses fichiers.
Configurer le fournisseur d’IA
Le module ne contient pas de modèle d’IA. Il se connecte au fournisseur que l’administrateur global choisit. Ce fournisseur doit proposer une API compatible Chat Completions (OpenAI) avec :
- la réponse en flux progressif (streaming) ;
- les appels d’outils pour le chat ;
- l’usage des tokens renvoyé dans la réponse.
DeepSeek et OpenAI en sont des exemples. L’usage est facturé par votre fournisseur ; il n’est pas inclus avec le module.
Dans la configuration du module, renseigner pour le chat l’URL, la clé API, le modèle, les limites et les tarifs. Les tarifs doivent être exprimés dans la devise du budget. Les clés enregistrées sont chiffrées par le chiffrement natif de Dolibarr et restent masquées ; si ce chiffrement est indisponible, la clé n’est pas enregistrée.
Le juge, qui évalue les réponses à la demande de l’administrateur, se configure de la même façon. L’option de paramètres communs lui permet de reprendre les réglages du chat.
Le test de connexion de chaque rôle est une action manuelle. Comme les réponses réelles, il peut être facturé par le fournisseur.
Connexions HTTPS
La section Connexions HTTPS du chat et du juge s’applique au chat, au juge et aux tests de connexion :
- Vérifier le certificat HTTPS est activé par défaut.
- Autorité de certification (fichier PEM, optionnel) : pour un fournisseur signé par une autorité interne.
- Clés publiques épinglées (optionnel) : de 1 à 5 empreintes
sha256//…séparées par « ; ». - Autoriser un fournisseur sur réseau privé : à cocher seulement pour un modèle auto-hébergé (Ollama, vLLM). Sinon, l’appel est refusé avant tout envoi.
- Proxy sortant (
http(s)://hôte:port) : le fournisseur doit alors être en HTTPS. - Liens vers d’autres sites dans les réponses : demander confirmation, ou afficher en texte seulement.
Les redirections ne sont pas suivies.
Droits des utilisateurs
- Le droit Accéder au chat de l’assistant IA donne accès à l’assistant. L’attribuer aux seuls utilisateurs internes qui en ont besoin.
- Les utilisateurs externes (rattachés à un tiers) n’ont pas accès à l’assistant.
- La configuration, le corpus des conversations, le juge et la suppression sont réservés à l’administrateur global.
- L’assistant lit seulement ce que l’utilisateur a le droit de voir dans Dolibarr. Chaque nouvelle recherche respecte ses droits actuels.
Budget mensuel
Un budget mensuel commun couvre le chat, le juge et les tests de connexion. Le module réserve le coût maximal avant chaque appel, puis suit l’usage. Un budget à zéro bloque les nouveaux appels facturables.
Lorsqu’une limite de budget est atteinte, l’assistant doit le signaler clairement. Les réservations dont l’usage n’a pas pu être connu de façon fiable restent comptées de façon prudente ; ne les régulariser qu’après contrôle chez le fournisseur.
Utiliser l’assistant
Ouvrir l’assistant
Le menu DoliAI ouvre une page d’aide avec un bouton pour ouvrir l’assistant en plein écran. Le bouton DoliAI Assistant, en bas à droite de chaque page, ouvre le chat compact. Réduire le chat garde son widget ; le fermer ramène à l’aide. La conversation et le brouillon sont conservés dans les deux cas.
Poser une question
Poser une question de gestion en précisant la période, les clients ou les fournisseurs concernés. Exemples :
- « Quelles factures clients de septembre restent impayées ? Présente les montants et les liens pour que je puisse les vérifier. »
- « Compare le chiffre d’affaires facturé en août et en septembre, devises séparées. »
- « Résume la commande fournisseur que je consulte. »
- « Quelles conditions de paiement figurent dans le PDF de cette facture ? »
Ctrl+Entrée ou Cmd+Entrée envoie le message ; Entrée seule insère un retour à la ligne. Pendant une réponse, vous pouvez suivre sa progression ou l’arrêter.
Parler de la fiche affichée
Sur une fiche prise en charge, choisir Utiliser cette fiche, vérifier son libellé, puis poser la question. Ce choix sert à cette seule question.
Aide à l’utilisation de Dolibarr
Demander par exemple « Comment créer un devis ? » ou « Où retrouver mes factures clients ? ». Les parcours couvrent tiers, factures clients, devis, commandes clients, commandes et factures fournisseurs, produits et services. L’assistant indique les étapes et les liens ; vous remplissez et soumettez vous-même le formulaire. Un formulaire de création n’est proposé qu’avec les droits nécessaires. Validation, envoi, règlements et suppression ne font pas partie de ces parcours.
Lire et vérifier les réponses
- Les réponses renvoient vers les documents sources. Lire les sources et le périmètre annoncé avant de reprendre les chiffres.
- Une liste paginée ou un tableau croisé couvre les données réellement lues, pas forcément l’ensemble des documents.
- Les devises restent séparées ; aucune conversion implicite n’est faite.
- Les champs non autorisés, ou dont la règle n’est pas prise en charge, restent indisponibles.
- Le texte d’un PDF joint à un document autorisé peut compléter la réponse. L’assistant peut le lire de lui-même si la question le demande.
Les réponses de l’IA doivent être vérifiées. Elles ne remplacent ni les documents sources ni une vérification comptable. Un PDF scanné sans texte n’est pas lu, car aucun OCR n’est effectué. L’assistant conseille et calcule ; il ne crée ni ne modifie les documents métier.
Historique des conversations
L’historique permet de retrouver et de poursuivre vos conversations. Le bouton + démarre une nouvelle conversation, sans reprendre l’ancienne. Archiver une conversation la retire définitivement de votre accès personnel ; l’administrateur global la conserve dans son corpus jusqu’à sa suppression.
La durée de conservation des échanges est fixée par l’administrateur et rappelée au début de chaque nouvelle conversation. Sans durée fixée, les échanges sont conservés jusqu’à une suppression administrative. Les anciens échanges gardent les informations reçues à leur date, même après un retrait de droits.
Évaluation par le juge
L’administrateur global peut faire évaluer une conversation par le juge, à la main. Le juge note de 0 à 5 les informations, les sources et les calculs, et produit un rapport daté. Il signale les erreurs et les améliorations possibles sans modifier les échanges ni les données. Une note ne remplace pas la vérification comptable des documents sources.
Données, confidentialité et sécurité
Cette section résume le fonctionnement du module installé chez vous. Elle ne concerne pas ce site web, dont les traitements sont décrits sur la page Confidentialité.
Vous restez responsable du traitement. DoliAI Assistant fonctionne dans votre installation Dolibarr ; l’éditeur ne reçoit aucune donnée du module. Le module ne contient aucune télémétrie et ne contacte aucun serveur de l’éditeur. Il envoie des requêtes seulement aux fournisseurs d’IA configurés pour le chat et pour le juge.
Ce qui est envoyé au fournisseur
- la question et les messages précédents de la même conversation ;
- les données Dolibarr lues pour répondre, dans la limite des droits de l’utilisateur au moment de la question ;
- le prénom et le nom de l’utilisateur, tels que saisis dans son profil Dolibarr ;
- le genre de l’utilisateur, sauf si l’administrateur décoche Transmettre le genre de l’utilisateur au fournisseur ;
- l’adresse de base de votre installation, pour construire les liens, et la date du jour.
L’identifiant de connexion, l’adresse e-mail et l’ID interne de l’utilisateur ne sont pas envoyés. Lors d’une évaluation, le fournisseur du juge reçoit la conversation et les données lues pour elle.
PDF joints
L’assistant peut lire les PDF joints aux devis, commandes, factures clients, commandes fournisseurs et factures fournisseurs. Seul le texte extrait est envoyé, jamais le fichier. Les scans, images, écritures manuscrites et PDF protégés par mot de passe ne sont pas lus. Limites par défaut : 2 Mio par fichier, 200 pages et 120 000 octets de texte extrait ; au-delà, aucun texte du PDF n’est envoyé.
Ce qui n’est jamais fait
- L’assistant ne crée, ne modifie et ne supprime aucune fiche Dolibarr. Ses lectures passent par une transaction en lecture seule, et il n’exécute jamais de SQL écrit par le modèle.
- Les champs complémentaires de type mot de passe ne sont jamais lus, ni ceux dont le nom ou le libellé évoque un mot de passe, un secret, une clé API, un jeton, un IBAN, un BIC, un RIB ou un compte bancaire.
Stockage et conservation
Le module ne crée aucune table métier ; ses réglages sont des constantes Dolibarr. Conversations, preuves (données lues pour répondre), rapports du juge et registre du budget sont des fichiers privés, dans le répertoire des documents de Dolibarr, avec les droits 0700 sur les dossiers et 0600 sur les fichiers.
Par défaut, la conservation est illimitée et la configuration affiche un avertissement. La carte Confidentialité et durée de conservation fixe deux durées en jours (0 = illimité) : l’une pour les conversations inactives, l’autre pour les résultats d’outils et les rapports du juge. Le contrôle s’exécute au plus une fois par jour pendant l’utilisation normale. Pour un site peu utilisé, activer la tâche planifiée DoliAI Assistant : appliquer la durée de conservation, désactivée par défaut. L’administrateur global peut aussi supprimer d’anciennes conversations à la main, après un aperçu.
Chaque nouvelle conversation affiche une mention d’information : hôte du fournisseur (et du juge s’il est distinct) et durée de conservation. Le module n’enregistre pas sa lecture ; si votre politique exige un consentement tracé, le recueillir hors du module. La suppression n’atteint pas vos sauvegardes externes.
Liste de contrôle
- Choisir un fournisseur dont les conditions répondent à vos exigences de confidentialité, et signer avec lui un accord de sous-traitance si besoin.
- Inscrire DoliAI Assistant dans votre registre des traitements : finalité, données envoyées, fournisseur, durée de conservation.
- Fixer les deux durées de conservation.
- Décider si le genre de l’utilisateur est transmis.
- Donner le droit d’accès au chat aux seuls utilisateurs qui en ont besoin.
- Aligner vos sauvegardes sur votre durée de conservation.
Mise à jour
Sauvegarder le module, sa configuration et son stockage privé, puis remplacer les fichiers par le nouveau paquet. Si la déclaration des hooks a changé, désactiver puis réactiver le module.
Depuis une préversion (avant la 1.0.0), désactiver puis réactiver le module une fois après la mise à jour. Le module prend alors son identifiant officiel ; le droit d’accès au chat déjà accordé aux utilisateurs et aux groupes est repris automatiquement.
FAQ et dépannage
Le module fonctionne-t-il avec Multisociété ?
Non. Seule l’entité principale est servie. Depuis une autre entité, l’activation est refusée avec un message, et les pages du module répondent « accès interdit ».
La réponse apparaît d’un bloc au lieu de s’afficher progressivement
Un intermédiaire (CDN, pare-feu applicatif, HAProxy, Apache mod_proxy avec mod_deflate) retient probablement le flux jusqu’à la fin. La réponse reste juste et enregistrée. Désactiver la mise en tampon et la compression pour /custom/dolibarrai/ajax/chat.php, et garder un délai de lecture du proxy d’au moins 30 secondes. Apache avec mod_php, nginx avec PHP-FPM, et Apache derrière un proxy inverse nginx ont été testés.
Ma question reste en attente
Chaque réponse occupe un processus PHP. Par défaut, un utilisateur lance au plus 2 générations à la fois et le site au plus 5. Au-delà, le navigateur réessaie seul pendant 5 minutes au plus, puis vous pouvez relancer. L’administrateur peut ajuster les constantes DOLIBARRAI_MAX_USER_GENERATIONS et DOLIBARRAI_MAX_GENERATIONS (Configuration → Divers, de 1 à 64), en gardant la limite du site nettement sous le nombre de processus PHP disponibles.
Fermer l’onglet arrête-t-il la réponse ?
Non. Fermer l’onglet ou couper le flux n’arrête pas la génération : elle se termine côté serveur. Pour l’arrêter, utiliser l’arrêt pendant la réponse.
Une erreur ambiguë s’est produite
Consulter l’état de la conversation avant de relancer. Il n’y a aucune nouvelle demande automatique au fournisseur : une relance est toujours une action explicite et peut consommer du budget.
Erreur de certificat HTTPS
Corriger la chaîne de certificats avec l’hébergeur, ou indiquer une autorité de certification interne dans la configuration. La vérification ne peut pas être désactivée depuis l’interface seule : pour un diagnostic court, l’administrateur du serveur doit d’abord ajouter define('DOLIBARRAI_ALLOW_INSECURE_TLS', true); dans conf/conf.php. Un bandeau rouge signale alors ce mode, qui expose la clé API et les échanges à une interception. Réactiver ensuite la vérification et retirer la constante.
L’assistant ne lit pas un PDF
Les scans sans texte, les images, l’écriture manuscrite et les PDF protégés par mot de passe ne sont pas lus. Un PDF qui dépasse les limites (2 Mio, 200 pages, 120 000 octets de texte) n’est pas envoyé.
La tâche planifiée de conservation n’existe pas
Sur une installation existante, désactiver puis réactiver le module pour la créer, dans le module Travaux planifiés.
Assistance
Pour signaler un problème, utiliser le formulaire de contact. Indiquer les versions de Dolibarr, de PHP et du module, les étapes suivies et le message d’erreur. N’envoyez jamais de clé API ni de données confidentielles.
Voir aussi la présentation de DoliAI Assistant et l’historique des versions.