Brancher vos applications au niveau utile
Les MCP sont configurés dans Galaris, avec des autorisations fines par agent, connexion et fonction. Le hub expose le catalogue autorisé aux moteurs configurés, dont Hermès, DSH, Codex, Claude et le harnais interne. Son chat et ses documents sont des solutions intégrées à cet écosystème.
Une application métier peut consommer les modèles configurés dans Galaris tout en conservant sa propre interface. La passerelle LLM apporte l’accès authentifié aux ressources et le suivi des appels ; la couche agentique ajoute une identité, des instructions et les capacités de l’agent.
| Besoin | Point d’entrée |
|---|---|
| Envoyer des messages à un modèle | POST /api/llm/openai/chat/completions |
| Utiliser le protocole Responses | POST /api/llm/openai/responses |
| Utiliser Messages au format Anthropic | POST /api/llm/anthropic/v1/messages |
| Appeler un agent identifié | POST /api/agent/openai/chat/completions |
| Choisir un agent depuis un frontal unique | POST /api/janus/openai/chat/completions |
Les formats OpenAI-compatibles ici sont Chat Completions et Responses. Le point d’entrée Messages relève du format Anthropic. Les options acceptées dépendent du protocole, du fournisseur et du modèle configurés. Le suivi conserve les inférences, tentatives, événements et informations d’usage et de coût disponibles ; la section sur les inférences durables détaille leur contrôle.
Pour parler à plusieurs agents depuis un client compatible, configurez une seule base API /api/janus/openai et le modèle janus avec votre token personnel. Sélectionnez un agent accessible avec @code : Janus lui passe la main et peut retrouver le choix dans l’historique. Vous pouvez aussi utiliser un alias déclaré sur votre instance.
Les passerelles Nextcloud Talk, Matrix, OneBot et Telegram offrent une autre entrée dans la couche agentique, avec leurs connexions et identités propres. Elles n’exigent pas de passer par le chat Galaris ni par Janus. Comprendre les canaux et outils.
Distinguer les trois façades
| Façade | Ce que le client appelle |
|---|---|
| Passerelle de modèles | Ressources IA via Chat Completions, Responses ou Messages Anthropic |
| Agents comme modèles | Une identité Galaris avec droits et exécution tâche |
| Serveur MCP par agent | Fonctions natives et connectées dans le périmètre de cet agent |
Janus présente les agents accessibles, accepte une sélection par @code ou #code, et peut retrouver ce choix dans l’historique. /reset ou /restart revient à la sélection. Les tokens personnels restent distincts des tokens MCP.
Les droits d’un abonnement personnel suivent son propriétaire humain et l’origine du travail ; une identité technique ne permet pas d’utiliser l’abonnement d’un autre utilisateur.
Choisir la bonne porte d’entrée
Créer une tâche pour un agent identifié
Utiliser l’identité, les outils, les instructions et le harnais de tâche configurés dans Galaris.
Orienter une conversation
Présenter les agents disponibles et router l’échange vers celui choisi avec son @code.
Utiliser une façade compatible
Intégrer certains clients existants sans confondre protocole compatible et équivalence totale.
Lancer un workflow durable
Créer, suivre, actualiser ou annuler un run avec événements et résultat.
Janus, la porte vers les agents
Janus expose les routes compatibles OpenAI /models et /chat/completions. Il peut présenter ses alias configurés et conserver un identifiant de conversation. Il ne remplace pas chaque API d’un fournisseur : il sert de guide vers les agents Galaris.
Exemple minimal Janus
curl https://votre-instance.example/api/janus/openai/models \
-H "Authorization: Bearer VOTRE_TOKEN"
Les exemples détaillés doivent être vérifiés contre la version déployée. Utilisez la documentation incluse dans le dépôt pour les payloads, le streaming et les autres façades.
Des tokens personnels et révocables
La page « Mes tokens API » permet de créer un secret nommé, de l’activer, le désactiver ou le supprimer. Le token hérite de l’autorité accordée à son propriétaire. Il doit être transmis uniquement sur HTTPS, stocké comme un secret et ne jamais apparaître dans une capture ou un journal.
API Process et n8n dans les deux sens
Le point d’entrée peut être une conversation : l’agent prépare les entrées et lance un processus affecté. Si une étape du workflow n8n a besoin d’un modèle, elle peut appeler POST /api/llm/openai/chat/completions avec le modèle configuré dans Galaris.
Cet appel exige un accès authentifié à l’API LLM, par exemple un token personnel dont le propriétaire possède le droit LLM_API_ACCESS. Transmettez l’en-tête X-Galaris-Process-Run-Id pour rattacher l’inférence au run autorisé et retrouver les appels et leurs coûts disponibles. Le token de callback du processus ne remplace pas cet accès aux modèles.
Un client peut lancer un Process et suivre son run. Lorsque n8n exécute le workflow, Galaris lui transmet une clé d’idempotence et, si nécessaire, une URL temporaire de fichier et une URL de callback protégées par un token limité à ce run.
Conserver et contrôler une inférence
L’API authentifiée /api/llm/openai/inferences permet de créer une requête texte ou structurée, puis de consulter son état, ses tentatives, ses résultats et ses coûts. Le flux SSE peut être relu depuis un curseur après déconnexion. Les commandes de pause, arrêt, reprise et rejeu possèdent une identité pour éviter une double application.
La reprise ouvre une nouvelle tentative depuis la requête figée ; le rejeu crée une inférence liée à l’originale. Les résultats antérieurs restent conservés. Une reprise peut appeler et facturer à nouveau le fournisseur : elle ne reprend pas son calcul token par token. Fermer l’abonnement d’une inférence autonome ne l’annule pas ; les appels HTTP ordinaires gardent leur propre contrat d’annulation.
Les requêtes de protocole entrent par les passerelles compatibles. Cette couche n’exécute pas les effets d’outils et ne généralise pas ce cycle aux médias. Les réponses Chat/Responses exposent X-Galaris-Inference-Id pour retrouver l’inférence associée.
Le SDK Dataset des applications documentaires
Les agents créent les documents HTML et JSON avec les outils fichiers existants. Le code exécuté dans une page déclare ses liaisons par data-dataset, data-dataset-alias et data-dataset-access, puis utilise galaris.datasets pour lire, ajouter une entrée à un tableau racine ou remplacer le JSON. Jusqu’à dix liaisons sont déclarables par application.
Cette interface navigateur est distincte du MCP de l’agent. Chaque opération vérifie page, Dataset, droits actuels du lecteur et accord personnel pour la version du document. Les mutations exigent la révision attendue et enrichissent l’historique. Un conflit est refusé sans rejeu automatique ; les accords se gèrent dans l’interface humaine et ne peuvent pas être donnés par MCP.
Le JSON applicatif est limité à 2 000 000 octets sérialisés, 20 000 nœuds et une profondeur de 32, avec nombres finis. Chaque couple utilisateur–Dataset partage 30 écritures et 4 000 000 octets résultants par fenêtre de 60 secondes, entre applications et onglets. Il s’agit de validation structurelle, pas d’un schéma métier. Parcours documentaire.


