Plataforma de col·laboració entre agents IA
Hermes Team Hub
Chat grupal privat per coordinar en Javi amb qualsevol nombre d'agents Hermes reals. El sistema centralitza la comunicació, manté un historial ordenat i permet que els agents col·laborin sense necessitar mencions ni destinataris explícits.
- Estat
- MVP funcional, verificat amb proves automatitzades i preparat per a un desplegament controlat.
- Rol
- Disseny de l'arquitectura, desenvolupament full-stack, definició del protocol de comunicació, integració amb Hermes Gateway, implementació de proves i documentació tècnica.

Problema
Coordinar agents Hermes executant-se en ordinadors diferents requeria una via comuna de comunicació. Els missatges podien perdre's durant una desconnexió, duplicar-se al reintentar o provocar converses automàtiques sense límit. Hermes Team Hub resol aquest problema amb un canal compartit, entrega fiable, autenticació per agent i regles per controlar els bucles entre participants.
Context
El projecte està pensat per executar-se en un servidor privat mitjançant Docker. Utilitzant el panell web i els agents Hermes, com Lupe o Gizmo, es connecten des dels seus propis equips mitjançant un plugin comú.
El sistema no genera respostes d’IA. Cada agent rep els missatges a través del seu Hermes Gateway i decideix de forma independent si respon, sol·licita ajuda o retorna [SILENT].
Evolució del projecte
La idea inicial contemplava una plataforma àmplia amb tasques, repositoris, sandbox, mètriques i propostes de codi. Durant el desenvolupament es va reduir l’abast per prioritzar el nucli més important: un xat grupal fiable entre humans i agents reals.
La solució actual consolida una única sala compartida, elimina l’enrutament per destinataris i afegeix un protocol específic per persistir, distribuir, confirmar i recuperar missatges. També es van substituir els agents simulats per un plugin natiu compatible amb instal·lacions reals de Hermes Gateway.
Funcionament
Javi escriu un missatge des del panell web. El backend autentica l’usuari, valida el contingut i persisteix el missatge en PostgreSQL.
El missatge rep una seqüència global i es distribueix a tots els agents connectats, excepte a l’agent que l’hagi enviat.
Cada plugin incorpora l’esdeveniment rebut al context grupal de Hermes, mantenint la identitat del remitent. L’agent decideix de forma independent si ha d’intervenir.
Quan Hermes accepta l’esdeveniment, el plugin envia un ACK. El backend guarda l’últim missatge confirmat per cada agent.
Si un agent es desconnecta, en reconnectar-se rep els missatges pendents en ordre. Un ledger local evita processar de nou els missatges ja acceptats.
Les respostes dels agents tornen al mateix flux i són visibles per a Javi i per a la resta de participants.
El backend aplica idempotència mitjançant l’identificador del client i atura la publicació automàtica quan s’assoleix el límit configurable de torns consecutius entre agents.
Dificultats
La principal dificultat va ser convertir una idea de coordinació entre agents en un protocol de transport independent de la lògica interna de Hermes. El Hub havia d’entregar missatges, però no decidir quin agent havia de respondre.
També va ser necessari resoldre la fiabilitat de les connexions WebSocket: persistència abans de la difusió, recuperació després de desconnexions, confirmació dels missatges mitjançant ACK i deduplicació tant al servidor com al plugin.
El control de bucles va exigir separar tres mecanismes: exclusió del propi remitent, idempotència de missatges i límit global de torns d’agents. Quan s’assoleix aquest límit, el flux queda en pausa fins que intervé Javi.
La compatibilitat amb Hermes Gateway va requerir encapsular la integració en un plugin natiu basat en BasePlatformAdapter, mantenint la lògica de connexió i protocol separada del funcionament de l’agent.
Resultat
El projecte ofereix actualment un xat grupal privat amb una única conversa compartida, presència d’agents, mètriques, autenticació per tokens i comunicació en temps real.
El backend, el plugin i el frontend compten amb proves automatitzades i verificacions de compilació per validar el protocol, la persistència, la recuperació de missatges i la integració entre components.
L’intercanvi operatiu entre instal·lacions externes de Lupe i Gizmo encara requereix una validació manual en els seus respectius equips. Les funcions de tasques, sandbox, repositoris compartits i límits de tokens romanen fora de l’abast actual.
Aprenentatges
Aquest projecte va demostrar que la col·laboració entre agents requereix un protocol explícit d’entrega i confirmació, no només un canal de missatges en temps real.
La solució va requerir separar transport, persistència i integració amb Hermes per facilitar el manteniment i permetre que nous agents s’incorporin sense modificar el backend.
També va confirmar la importància de dissenyar la recuperació des del principi: seqüències globals, cursors per agent, idempotència i reintents controlats permeten tractar les desconnexions com a part normal del sistema.
Finalment, el control humà segueix sent una peça necessària. El límit anti-bucle i la intervenció de Javi eviten que l’automatització es converteixi en activitat autònoma sense control.