Aller au contenu principal
Version: Cible · roadmap

Anatomie d'une config

station: {...}        # STATION — qui elle est : id, kind (product | process), guidance, délégation,
# et ses fournisseurs d'identité (`station.identity.providers`)
global: {...} # ce qui vaut partout : langue, devise, fuseau
texts: {...} # les phrases de refus et de retenue de Convoy, réécrites par langue

apis: [...] # SOURCES — les outils, et pour chaque opération : lecture ou écriture, risque

# CONTEXTE — les rooms et les sessions : la plateforme les tient, sans clé

profiles: {...} # AUTH — QUI agit : visiteur, client vérifié, agent d'entreprise, manager

policies: {...} # POLITIQUES — réutilisables : rule (déterministes, budgets compris)
# ou smart (un modèle et un seuil), citées partout
inboxes: {...} # où une PERSONNE est appelée à décider, dans quel délai

skills: [...] # CAPACITÉS — les compétences : invoke, kinds, present, select, submit
playbooks: [...] # les parcours : des tâches, leur ordre, leur submit
events: {...} # inbound (les faits reçus), emits (ceux qu'elle publie), outbound
automations: [...] # quand un événement arrive, si une condition tient, alors démarrer

tests: [...] # VÉRIFIER — TESTER LA STATION : les comportements promis, sans modèle,
# rejoués avant chaque mise en production

agent: {...} # AGENT — l'agent que Convoy déploie, un client de la station comme un autre,
# et ses portails (web, Teams, Slack, WhatsApp)
evals: [...] # TESTER L'AGENT : ce qu'il fait d'une demande, mesuré sur plusieurs essais

Le plan du guide​

pagece qu'on y règle
1Anatomiela forme du fichier
2Stationstation, global, texts
3Sourcesapis : les APIs et les intégrations
4Contextece que la plateforme tient pour vous : rooms, sessions, sélection, historique
5Authl'identité, les profils
6Politiquespolicies, les gardes, les permissions, inboxes, les données, les budgets
7Capacitésskills, playbooks, events, automations, et les politiques possibles sur chacune
8Agent et portailsagent
9Vérifier et publiertests, evals, la mise en production

Trois portées dans un fichier​

  • global s'applique partout : la devise de global est celle de tous les champs de type price, la langue celle de toutes les réponses.
  • La station — de station à tests — vaut pour tout agent : Claude, ChatGPT, l'agent d'une entreprise, et le nôtre. Une règle que tout agent doit respecter s'écrit ici : c'est une politique.
  • agent décrit notre agent : sa voix, ses consignes, ses portails. Il consomme la station par la même porte et sous les mêmes règles que les autres. Ses evals le suivent : ils testent notre agent, pas la station. Voir L'agent et ses portails et Vérifier et publier.

Il n'y a pas de bloc storefront : la station n'est pas une boutique, et le site d'un tenant n'est qu'un des portails de son agent.

Tout est facultatif sauf station, global, apis et skills. Sans agent, la station n'est joignable que par les agents des autres, par MCP. Une station qui ne déclare ni profils, ni politiques, ni playbooks se comporte comme aujourd'hui : un humain soumet, pas de modèle.

Les règles du fichier​

  • Chaque clé est lue, chaque référence vérifiée au chargement. Voir Vérifier et publier.
  • Tout est fermé par défaut : une opération du tenant n'est appelée que pour les profils qui l'ont reçue dans grants.
  • Ce qui est en dessous de la station ne peut que resserrer : une skill, un playbook, une tâche, un profil, une sous-identité ajoutent des règles ; ils n'en retirent jamais. Seuls les grants ouvrent.
  • Les références nomment des choses de la config, jamais les opérations du tenant : $read[facture] (une tâche), $submitted[geste.pay] (une tâche et l'appel nommé de sa skill), $submitted[order] (un appel du playbook). Un renommage chez le tenant ne casse rien.

L'ordre d'écriture​

station et global → apis → skills → playbooks → profiles et policies → events et automations → tests → agent. On écrit d'abord ce que la station sait faire, puis qui a le droit de le faire.