Skip to content

MelisAI

Le module d'IA exposé dans le backoffice Melis — agents, instances, modèles, outils et un inspecteur MCP. Paquet melisplatform/melis-ai.

Objectif

MelisAI est la couche d'interface et de gestion backoffice des fonctionnalités d'IA de Melis Platform. Il n'exécute pas les modèles lui-même : il fournit les outils pour configurer les modèles d'IA et les clés de plateforme, définir des instances (où les agents sont utilisés à travers la plateforme), construire des agents avec leurs scénarios (étapes) et leurs outils d'IA, suivre l'usage (tokens / requêtes) et inspecter les serveurs MCP. L'exécution réelle de l'IA est déléguée à melis-ai-engine. Voir le guide IA et le guide MCP.

Activation

MelisAI est un module Laminas standard. Ajoutez-le à config/melis.module.load.php (le squelette le liste déjà) :

php
'MelisAIEngine',
'MelisAIEngineClaude',
'MelisAIEngineGemini',
'MelisAI',

Il requiert melisplatform/melis-ai-engine (^5.3) et PHP ^8.1|^8.3 ; le moteur possède les tables et les table gateways de base de données que ce module consomme. Les modules fournisseurs (Claude / Gemini) apportent les modèles. Pour utiliser les agents basés sur MCP (Tool Creator, Minitemplate Creator…), définissez melis_platform, melis_project_root, melis_php_binary, melis_http_host et melis_request_scheme dans config/autoload/platforms.[env].php (voir le README du module).

Services principaux

Enregistrés en tant qu'alias service_manager dans config/module.config.php. Ils étendent MelisGeneralService et lisent/écrivent via les table gateways du moteur (par ex. MelisAIEngineAgentTable, MelisAIEngineInstanceTable).

Alias de serviceRôle
MelisAIAgentServiceCRUD sur les agents d'IA — getItemById(), getList(), saveItem(), deleteItem().
MelisAIInstanceServiceListe les instances et vérifie l'unicité — getList(), isInstanceExisting().
MelisAIModelServiceEnregistre les définitions de modèles d'IA — saveItem().
MelisAIPlatformKeysServiceStocke les clés d'API plateforme/fournisseur — saveItem($data, $keys).
MelisAIScenarioStepServiceÉtapes de scénario d'agent — saveItem(), deleteItem(), getScenario(), isCodeExisting().
MelisAIScenarioStepDataServiceDonnées par étape (params entrée/sortie) — saveItem(), deleteItem().
MelisAIScenarioStepFileServiceFichiers joints aux étapes — saveItem(), getFileByToken().
MelisAIToolServiceOutils d'IA disponibles pour les agents — getList(), isAiToolExisting().
MelisAIUsageServiceStatistiques d'usage — getTotalTokens(), getTotalQueries() (par modèle, durée, par instance).
php
// Depuis n'importe quel contrôleur / service
$agentSrv = $this->getServiceManager()->get('MelisAIAgentService');
$agent    = $agentSrv->getItemById($agentId);

Backoffice

MelisAI est un arbre d'outils backoffice (la section de menu de gauche Melis AI, melisai_toolstree_section). Ses outils et onglets sont déclarés dans config/app.toolstree.php sous l'interface melisai ; leur contenu provient de config/app.tools.php et config/app.agent.tools.php.

Outil (melisKey)Contrôleur / action
Admin (melisadmin_tool)MelisAI\Controller\Adminrender-tool
↳ Usage (melisai_usage)Adminrender-tool-usage
↳ Platform AI (melisai_platform_ai) — configurer les modèles et le modèle par défautAdminrender-platform-ai
↳ Instances (melisai_instances)Adminrender-instances
↳ Chat Dev Tool (melisai_chat_dev_tool) — inspecter les payloads des requêtes IAAdminrender-chat-dev-tool
AI Agents (melisagent_tool)MelisAI\Controller\Agentrender-tool
↳ Propriétés d'agent (onglets Scenario / Config / AI Tools)MelisAI\Controller\AgentProperties
MCP Inspector (melis_mcp_inspector_tool)MelisAI\Controller\McpInspectorrender-tool
Modale d'instanceMelisAI\Controller\Instance
Modale d'outil IAMelisAI\Controller\Tool

Le menu de gauche lui-même est rendu par MelisAI\Controller\AIMenu (left-menu) et l'arbre par MelisAI\Controller\AITreeTools (render-tree-tools). Les listeners backoffice (SavePropertiesListener, SaveAgentPropertiesListener, DeleteListener, MelisAIFlashMessengerListener) sont attachés dans src/Module.php pour persister les formulaires et les messages flash. Les fabriques de formulaires sous src/Form/Factory/ construisent les listes déroulantes modèle/agent/outil.

Un assistant de chat d'en-tête est injecté dans l'en-tête du backoffice via l'interface meliscore (meliscore_header_ai_main_chat_assistant), servi par MelisAI\Controller\GeneralChat (headerMainChatAssistant).

Front office

MelisAI est un module backoffice et ne fournit aucun plugin de templating front-office. Il expose toutefois deux view helpers backoffice (config/module.config.php) :

HelperRôle
melisAIIconAffiche les icônes MelisAI (src/View/Helper/MelisAIIconHelper.php).
CustomFormViewHelperAffiche le formulaire IA dynamique (src/View/Helper/MelisAICustomFormViewHelper.php).

Une route publique melis-backoffice/melisaifile (MelisAI\Controller\Fileview) sert les fichiers d'étape IA par token ; elle figure dans excluded_routes, aucune authentification n'est donc requise pour cette vue.

Tables de base de données

MelisAI n'a pas de SQL propre — le schéma est installé et versionné par melis-ai-engine (vendor/melisplatform/melis-ai-engine/install/dbdeploy/). Les tables qu'il lit/écrit via les gateways du moteur sont :

TableContenu
melis_ai_agentsAgents d'IA.
melis_ai_instances, melis_ai_instance_transInstances et leurs traductions.
melis_ai_modelsDéfinitions de modèles d'IA.
melis_ai_platform_keysClés d'API fournisseur/plateforme.
melis_ai_scenario_stepsÉtapes de scénario d'agent.
melis_ai_scenario_steps_datas, melis_ai_scenario_steps_datas_entryexitDonnées d'étape et params entrée/sortie.
melis_ai_filesFichiers joints aux étapes.
melis_ai_daily_usageCompteurs d'usage tokens/requêtes.
melis_ai_conversation_stateÉtat de conversation.

Serveurs MCP

Le module embarque deux serveurs MCP autonomes utilisés par les agents compatibles MCP et exposés via l'outil MCP Inspector :

CheminPaquetRôle
mcp/dbmcp/melisplatform/dbmanager-mcpServeur MCP gestionnaire de base de données.
mcp/filemcp/melisplatform/filemanager-mcpServeur MCP gestionnaire de fichiers.

Le composer.json annonce supports-mcp et allow-mcp-discovery. Voir MCP.

Fichiers clés

SujetChemin
Module + câblage des listenersvendor/melisplatform/melis-ai/src/Module.php
Alias de services, contrôleurs, view helpers, routesvendor/melisplatform/melis-ai/config/module.config.php
Arbre d'outils (menu, onglets, modales)vendor/melisplatform/melis-ai/config/app.toolstree.php
Tables et formulaires admin / instance / outilvendor/melisplatform/melis-ai/config/app.tools.php
Tables d'outils d'agentvendor/melisplatform/melis-ai/config/app.agent.tools.php
Assets backoffice, plugin chat d'en-têtevendor/melisplatform/melis-ai/config/app.interface.php
Servicesvendor/melisplatform/melis-ai/src/Service/
Contrôleursvendor/melisplatform/melis-ai/src/Controller/
Listenersvendor/melisplatform/melis-ai/src/Listener/
Serveurs MCP embarquésvendor/melisplatform/melis-ai/mcp/dbmcp/, vendor/melisplatform/melis-ai/mcp/filemcp/

Voir aussi

Le moteur d'IA et les fournisseurs sont documentés dans la Référence des modules ; les workflows sont dans le guide IA et le guide MCP.