>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Go

Comment réunir humains et agents IA dans un espace de travail unique

Imaginez que votre messagerie professionnelle ne soit pas qu'un flux de messages de collègues, mais un environnement vivant où des jumeaux numériques accomplissent la moitié des tâches à votre place. Cela ressemble à une scène de roman de science-fiction, mais l'équipe de Mininglamp-OSS a décidé d'en faire une réalité en code. Ils construisent OCTO — une plateforme ouverte où humains et agents IA (ils les appellent « Lobsters ») travaillent côte à côte.

L'élément central de cette idée est octo-server. J'ai exploré le dépôt et je souhaite partager pourquoi ce backend Go mérite votre attention si vous envisagez d'intégrer des LLMs dans vos processus métier.

OCTO OCTO

Ce qui se cache sous le capot du bureau numérique

Si l'on retire le verbiage marketing autour des « jumeaux numériques », octo-server est une puissante couche de gestion. Il relie l'API REST, WebSocket pour la communication en temps réel et l'orchestration des agents. La fonctionnalité clé est que l'IA ici n'est pas greffée sur le côté comme un chatbot — c'est un participant à part entière des conversations dès le départ.

Le projet est écrit en Go, ce qui est logique pour un système qui doit gérer de nombreuses connexions parallèles et des requêtes vers différents services. WuKongIM est utilisé comme moteur de messagerie instantanée. Les développeurs n'ont pas réinventé la roue et ont choisi une solution de messagerie prête à l'emploi, se concentrant plutôt sur la logique d'interaction.

Ce qui rend ce backend intéressant

D'après mon expérience, voici comment cela se passe souvent : un client veut un « assistant intelligent », et vous commencez à bricoler des solutions de contournement pour connecter l'API du modèle avec l'interface de messagerie. Les créateurs d'OCTO ont adopté une approche différente.

L'orchestration des Lobsters est intégrée au cœur du système. Le serveur gère lui-même les sessions des agents, le routage des requêtes et les appels d'outils. Les agents fonctionnent sur OpenClaw, et le serveur tisse leurs réponses de manière transparente dans le dialogue global.

L'architecture est assez flexible. Bien que MySQL et Redis soient proposés par défaut, vous pouvez échanger le stockage et même le moteur de messagerie. Le plan de contrôle de WuKongIM est séparé par une fine frontière, vous pouvez donc brancher votre propre solution si nécessaire.

L'approche « local-first » est un atout appréciable. Les auteurs insistent sur le fait que tout ce qui peut s'exécuter sur votre matériel — chats, embeddings, agents — devrait s'exécuter localement. Le cloud reste une option, pas une obligation. Pour le secteur enterprise, où l'envoi de données vers OpenAI pourrait vous attirer des ennuis, c'est un avantage considérable.

Comment fonctionne le traitement des requêtes

Voyons ce qui se passe lorsqu'une requête arrive dans le système :

  1. Authentification. Les tokens, cookies et même les trames Diffie-Hellman chiffrées pour WebSocket sont pris en charge.
  2. Autorisation. Le RBAC est implémenté ici, en tenant compte des organisations et des droits d'accès à des canaux spécifiques.
  3. Exécution. La logique métier s'exécute. Si nécessaire, une session Lobster démarre ou reprend.
  4. Distribution. Le message est envoyé à WuKongIM, et si le canal est lié au monde extérieur — les adaptateurs sont déclenchés.
  5. Réponse. Le client reçoit un JSON unifié avec des tags de traçage et des métriques.

Structure du projet

Le code est bien organisé, donc s'y retrouver ne posera pas de problème :

  • internal/api/ — les handlers vivent ici pour tout : utilisateurs, groupes, fichiers et webhooks.
  • internal/service/ — le « cerveau » du système, incluant le contrôle d'accès et cette orchestration des agents.
  • internal/agent/ — tout ce qui concerne les Lobsters : stockage des sessions et exécution des outils.
  • internal/im/ — le client pour travailler avec WuKongIM.
graph TD
  subgraph Clients[Clients]
    Web[octo-web<br/>Web / PC]
    Android[octo-android<br/>Android]
    iOS[octo-ios<br/>iOS]
  end

  subgraph Core[Core Services]
    Server[octo-server<br/>Backend API]
    Matter[octo-matter<br/>Task / Todo]
    Summary[octo-smart-summary<br/>AI Summary]
    Admin[octo-admin<br/>Admin Console]
  end

  subgraph Shared[Shared Libraries & Integrations]
    Lib[octo-lib<br/>Core Go Library]
    Adapters[octo-adapters<br/>Third-party Adapters]
  end

  Web --> Server
  Android --> Server
  iOS --> Server
  Admin --> Server
  Server --> Matter
  Server --> Summary
  Server --> Adapters
  Server -.uses.-> Lib
  Matter -.uses.-> Lib
  Adapters -.uses.-> Lib

À quoi utiliser ceci

octo-server est un bon choix si vous construisez un portail corporate interne de nouvelle génération. Au lieu de basculer entre Jira, Slack et la console de gestion de l'IA, vous obtenez un point d'entrée unique. Par exemple, un développeur écrit dans le chat : « Créer une tâche pour corriger un bug en prod », et l'agent ne se contente pas de comprendre le texte — il va dans octo-matter et crée réellement la tâche.

Le projet sera également utile pour construire des assistants IA personnalisés qui ont besoin d'accéder à l'ensemble du contexte de conversation de l'équipe. Grâce au code open source et à la licence Apache 2.0, vous pouvez adapter le système à des exigences de sécurité spécifiques.

Comment l'exécuter et si ça vaut le coup

Le démarrage rapide est standard pour les projets Go : cloner, compiler, exécuter avec la config.

git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .
./octo-server --config ./configs/tsdd.yaml

Toutefois, pour une fonctionnalité complète, vous aurez également besoin d'une base de données MySQL et d'une instance WuKongIM en cours d'exécution. Si vous ne souhaitez pas gérer chaque composant séparément, ils ont un dépôt octo-deployment avec un Docker Compose prêt à l'emploi qui lance l'ensemble de la pile de services avec une seule commande.

Gardez à l'esprit que le projet est un travail dérivé de TangSengDaoDao. Cela laisse des traces dans la structure du code. La documentation est encore clairsemée par endroits, donc dans les situations délicates, vous devrez plonger dans le code source.

Pour qui est-ce ? Avant tout, ceux qui cherchent une base prête à l'emploi pour créer des systèmes collaboratifs auto-hébergés avec une intégration profonde de LLM. Si vous avez juste besoin d'un chat, il existe des solutions plus simples. Mais si vous avez besoin de « Lobsters » qui géreront le travail routinier à votre place — OCTO mérite que vous y consacriez une soirée.

Projets similaires