Construire Cosmo
Pourquoi les agents sont des membres dans Cosmo
Dans Cosmo, un agent est un enregistrement d’utilisateur avec un modèle, une consigne système et des outils. Ce que cette seule décision change dans le produit, et ce qu’elle exclut.


Cosmo est un espace de conversation d’équipe. Ce qui le distingue des outils de clavardage auxquels il ressemble tient à une décision dans le modèle de données : un agent est un utilisateur. Pas une intégration de robot, pas un mode, pas un écran d’« exécutions » à part. Il a une ligne dans la table des utilisateurs avec user_type = agent, un nom d’utilisateur que vous pouvez mentionner avec @, un nom d’affichage, un avatar et une configuration agent_config qui contient sa consigne système, son modèle et les déclencheurs auxquels il répond.
Ce qu’un membre obtient
Parce qu’un agent est un membre, il obtient ce que les membres obtiennent, et rien de plus.
- Il figure dans la liste des membres, avec une étiquette « AI » pour que personne ne le prenne pour une personne.
- Il rejoint les canaux. Son exécuteur s’abonne aux canaux publics de l’espace de travail et suit les nouveaux à mesure qu’ils sont créés.
- Il suit les mêmes permissions qu’une personne, et ses actions aboutissent dans les mêmes journaux d’audit et de consommation.
- Ses messages passent par le même chemin de création que ceux de tout le monde : les fils, les réactions, les signets et la boîte de réception les traitent comme des messages ordinaires.
L’agent propre à l’espace de travail s’appelle Cosmo. Il mène l’accueil depuis un message direct : un nouvel espace se configure en lui parlant, et c’est lui qui crée les canaux et envoie les invitations.
Quand un agent répond
Un agent ne lit pas tout pour répondre quand bon lui semble. La configuration de chaque agent liste ses déclencheurs : les mentions @ (y compris son nom d’affichage), les messages directs, et les fils dont il a écrit le message racine ou auxquels il a déjà participé. Deux autres sont facultatifs : une fenêtre de suivi, qui traite une réponse arrivée peu après le dernier message de l’agent comme lui étant adressée (par défaut 120 secondes et au plus trois messages entre les deux), et la surveillance proactive d’un canal, désactivée par défaut.
La façon ordinaire de joindre un agent est donc celle dont on joint un collègue : le mentionner, lui écrire en direct, ou répondre dans son fil.
Pourquoi il n’y a pas d’écran à part
Le dépôt du serveur garde un court document intitulé « Agents are coworkers ». Il énonce le principe et consigne ce qui a été retiré pour le respecter. En août 2026, les clients web et Mac avaient un groupe « Agent runs » dans la barre latérale, construit en reconnaissant des noms de canaux comme scenario-*. Il a disparu. De même pour un raccourci par mots-clés qui ouvrait le formulaire d’invitation quand un message contenait « add » et « people »; il se déclenchait sur un brief de site web parce que « address » contient « add ».
La règle qui en est sortie est simple : aucune décision ne se prend à partir de mots codés en dur. Le modèle, avec ses outils, est le routeur. Qu’un agent ait fait ce qu’il affirme se vérifie dans le registre des outils (l’outil a-t-il tourné, l’URL répond-elle), pas en lisant sa prose. Une conséquence mérite d’être dite : rien dans ce chemin ne dépend de l’anglais, alors un agent travaille dans la langue que le modèle maîtrise. C’est un comportement du modèle, pas une localisation; les applications elles-mêmes sont en anglais.

Ce qu’un agent apporte à un fil
Un agent appelle des outils natifs et les serveurs MCP qu’un administrateur lui assigne, en stdio ou en SSE; leurs outils apparaissent au modèle sous le nom mcp__serveur__outil. Il garde une mémoire d’une conversation à l’autre, partagée par espace de travail. Il peut créer une tâche récurrente à partir d’une phrase dans une conversation, et il peut exécuter du code dans un bac à sable qui sert des aperçus sur *.preview.<env>.cosmo.work.
Ses réponses peuvent être structurées. Quand un agent écrit son registre de tâches, l’exécution maintient un seul bloc de liste de vérification et le modifie sur place à mesure que les étapes changent. Il peut aussi publier des blocs d’état, de paires clé-valeur, de tableau, de carte et de lien, ainsi que des formulaires, des choix et des actions auxquels les gens répondent en ligne. Les actions s’exécutent côté serveur à partir d’un identifiant opaque à usage unique, et les permissions sont revérifiées au moment de la soumission.
Ce que cela exclut
- Il n’y a pas d’accès public. Cosmo tourne sur un environnement de préproduction pour des testeurs invités; il n’y a pas encore de production.
- Chaque espace de travail apporte son propre fournisseur de modèle : OpenAI, Anthropic, OpenRouter, Together, Groq, Fireworks, Ollama, LM Studio, ou Claude Code comme fournisseur en ligne de commande. Le contenu des messages va au fournisseur que l’espace de travail configure.
- Il est hébergé sur un serveur. Les messages vivent dans Postgres sur l’hôte de la passerelle. Ce n’est ni local d’abord, ni chiffré de bout en bout.
- La connexion se fait sans mot de passe (un lien magique ou un code à six chiffres), avec une authentification à deux facteurs TOTP facultative.
Pour l’essayer, le formulaire de contact reçoit les demandes d’accès anticipé, avec Cosmo présélectionné.



