Documentation Architecture
Sur cette page
Référence

Deux interfaces d’invocation, une seule squad

Ce plugin et son serveur MCP compagnon proposent deux façons d’accéder à la même squad — choisissez selon que votre hôte délègue directement aux agents ou appelle uniquement des outils.

Interface 1 — délégation directe aux agents (ce plugin)#

L’installation de hve-squad-plugin enregistre agents/squad/ et skills/squad/ directement auprès de l’hôte (Copilot CLI, VS Code ou l’application de bureau). Le mécanisme runSubagent/task propre à l’hôte délègue au coordinateur de la squad et à ses agents au sein du même processus, dans l’espace de noms hve-squad:squad-*. Aucun processus serveur, aucun appel réseau — tout s’exécute sous forme d’agents et de compétences que l’hôte sait déjà charger.

Interface 2 — invocation par appel d’outils via @hve-squad/mcp#

Le fichier .mcp.json de ce plugin enregistre également le serveur compagnon Peter-N91/hve-squad-mcp via stdio. Il s’agit du même hôte — Copilot CLI, VS Code et l’application de bureau prennent tous en charge nativement les appels d’outils MCP, en complément de leur propre interface de délégation aux agents, et non à sa place. L’interface 2 n’est pas réservée à un autre client dépourvu d’agents ; elle donne à la même session un point d’entrée supplémentaire : le modèle peut appeler de manière autonome squad_research, squad_plan, squad_review, squad_architect ou squad_run en cours de conversation, sans que personne ne désigne d’abord un agent.

En mode délégué (le modèle d’exécution actuel, en phase 0), chaque appel d’outil renvoie la persona du coordinateur de la squad, la ligne correspondante de la table de routage et une demande de délégation structurée ; c’est la boucle d’exécution des agents de l’hôte appelant qui exécute réellement runSubagent/task pour la traiter. Le serveur MCP lui-même n’appelle aucun modèle et ne détient aucun identifiant d’authentification — c’est un routeur, pas un environnement d’exécution.

Un hôte réellement différent — Copilot Studio ou M365 Copilot — accède en revanche à hve-squad-mcp par son mode embarqué/distant via HTTP distinct, un déploiement séparé hébergé dans Azure et documenté dans le fichier host/RUNBOOK.md de ce dépôt. Ce mode n’est aucunement configuré dans le fichier .mcp.json de ce plugin.

Source du schéma

flowchart TD
    subgraph Plugin["hve-squad-plugin (ce dépôt)"]
        A["agents/squad/*.agent.md<br/>(27 agents)"]
        S["skills/squad/ + invocations/<br/>(compétence squad, 7 compétences d’invocation)"]
        H["hooks.json<br/>(contrôles complémentaires)"]
        M[".mcp.json<br/>enregistre @hve-squad/mcp"]
    end

    subgraph Host["Copilot CLI / VS Code / application (une session, deux chemins)"]
        HD["Délégation directe aux agents<br/>(l’utilisateur ou l’agent désigne hve-squad:squad-*)"]
        HM["Appel autonome d’outils<br/>(le modèle appelle squad_* pendant la conversation)"]
    end

    subgraph MCPServer["Peter-N91/hve-squad-mcp (stdio, mode délégué)"]
        T["5 outils de haut niveau :<br/>squad_research, squad_plan,<br/>squad_review, squad_architect, squad_run"]
    end

    subgraph Remote["Copilot Studio / M365 (déploiement distinct, hors de ce plugin)"]
        R["hve-squad-mcp en mode intégré/HTTP"]
    end

    HD -- "délégation directe" --> A
    A --> S
    S --> H

    HM -- "appel d’outil" --> T
    T -- "renvoie le persona + la règle de routage<br/>+ la demande de délégation encadrée" --> HM
    HM -- "runSubagent/task du même hôte<br/>effectue la délégation réelle" --> A

    M -.->|"enregistre (stdio)"| T
      

Ce qui est réellement épinglé, et ce qui ne l’est pas#

Le serveur en mode délégué ne fournit ni n’utilise de copie intégrée des personas des agents de la squad — son propre code source le précise explicitement : le systemPrompt renvoyé par un appel d’outil est une courte reformulation rédigée à la main de la seule règle de discipline de délégation, et délibérément pas une copie du véritable contenu des fichiers .agent.md. L’hôte effectue ensuite sa propre délégation vers les véritables fichiers d’agents installés par ce plugin, épinglés sur un tag — la version de @hve-squad/mcp qui a répondu à l’appel d’outil n’a donc aucune incidence sur la persona réellement exécutée. Il n’y a ici aucun risque de « deux copies de l’ensemble des agents susceptibles de diverger ».

Ce qui manquait réellement (désormais corrigé) : .mcp.json référençait auparavant @hve-squad/mcp sans version, que npx résout vers la version actuellement désignée par @latest — deux installations effectuées à des dates différentes pouvaient donc exécuter silencieusement un code serveur différent, sans garantie de reproductibilité. Ce plugin épingle désormais une version exacte et testée (@hve-squad/mcp@0.7.0 au moment de la rédaction). La mise à jour de cette version épinglée est une action délibérée, distincte de la régénération du contenu des agents du plugin — le générateur (Build-SquadPlugin.ps1, paramètre -McpVersion) ne modifie jamais silencieusement cet épinglage lors d’une régénération de contenu sans rapport.

Ce qui reste un point d’attention, de moindre portée : les métadonnées de routage de haut niveau (tools.catalog.yml / generated/mcp-tools.schema.json, qui sont bien incluses dans le package npm) sont générées à partir de la copie propre à hve-squad-mcp du fichier squad-routing.instructions.md, lors de sa dernière publication. Si la table de routage de hve-squad change sans mise à jour correspondante de la version MCP épinglée, le niveau, le conseil et les points de contrôle indiqués par un appel d’outil peuvent devenir légèrement obsolètes par rapport aux agents actuels du plugin — il s’agit d’une table de routage obsolète, et non d’un décalage du contenu des agents. La mesure d’atténuation repose sur la même discipline que ci-dessus : refaire les tests et épingler délibérément une nouvelle version lorsque le routage a changé, plutôt que de suivre @latest.

Rechercher dans la documentation

Recherchez dans la documentation française. Appuyez sur Échap pour fermer.

Chargement de la recherche…