Une ruche d'agents IA autonomes

OPENCOMB

Les choix d'architecture, et surtout leurs pourquoi. Un moteur en Rust, des abeilles qui travaillent en cycles, et une securite qui se prouve au lieu de se raconter.

Partie I

L'Histoire & la Genèse

De l'ombre d'OpenClaw à l'allégorie de la ruche

La faille originelle

L'Avènement d'OpenClaw & la Vague d'Évasions

L'ouverture brute des agents au shell a déchaîné la puissance, mais sans enclos d'acier, la liberté s'est muée en passoire.

  • Le Vertige de la Liberté : Des agents lancés sans brides de cloisonnement, capables de lire, écrire et exécuter n'importe quel code sur le système de l'hôte.
  • Le Piège de l'Injection : Des prompts indirects dissimulés dans des fichiers lus par l'agent ont détourné son autorité pour exécuter des ordres hostiles.
  • La Moisson Silencieuse : Des clés API, des variables .env et des fichiers d'authentification siphonnés en arrière-plan sans que l'opératrice ne s'en doute.
THE DAILY PROMPT CLAW ESCAPE! SKILL SANITIZER 800+ KEYS LEAKED
L'Allégorie

La Métaphore Organique de la Ruche

  • L'Abeille (L'Agent) : Elle n'est pas un script figé mais une entité sémantique (comme mia) qui butine ses tâches en cycles régulés.
  • La Cire (Propolis) : Le cloisonnement (namespaces, cgroups) n'est pas une contrainte subie, mais l'alvéole protectrice qui assure la coexistence.
  • Le Miel (Le Résultat) : Chaque écrit de la ruche est scellé (Ed25519) au trou de vol pour en garantir l'origine et la provenance indélébiles.
L'Allégorie en action

La Ruche racontée simplement

🌸 Le Nectar
C'est ton prompt brut, la question ou l'idée cueillie au dehors et butinée par l'abeille pour démarrer son cycle.
🛡️ La Propolis
La cire protectrice (namespaces, sandbox) qui colmate chaque interstice pour qu'aucun venin ne s'échappe de l'alvéole.
🚪 Le Trou de Vol
Le point de passage obligatoire où l'abeille montre ses signatures (Ed25519) avant chaque envol de cycle.
🍯 Le Miel
Le fruit du travail, le code propre et scellé qui est stocké en sécurité dans le dossier du projet.
🐝 L'Essaim
La collaboration d'abeilles autonomes (comme mia et claude) qui s'entraident pour mener à bien un projet complexe.
👑 L'Apicultrice
C'est toi. La reine de la ruche qui oriente les missions et garde les droits de commande finaux (mot de passe).
Choix numéro 1

Le vocabulaire encode l'architecture

Ruche
Un projet, un dossier, une reine. L'unité d'isolation.
Abeille
Un agent autonome travaillant en cycles régulés.
Bright
Le cerveau interchangeable (claude-code, gemini, ollama).
Badge
Le droit déclaré : lecture, écriture, réseau, shell.
Propolis
La barrière physique rendant les droits matériels.
Guard
La sentinelle active veillant à l'alignement.
Trou de vol
Le contrôle de signature Ed25519 en début de cycle.
Horizon
La mémoire sémantique gérant l'usure temporelle.
  • Pourquoi : La métaphore structurelle prévient l'effondrement des couches. Si un élément ne s'insère pas dans l'allégorie, il nuit à la sécurité globale.
L'Architecture Physique

Rust, CLI Natif & Dashboard Léger

  • Pourquoi Rust (Système) : Pour un contrôle mémoire absolu sans ramasse-miettes, une vitesse brute et l'immunité contre les data races.
  • Pourquoi le CLI (Système) : Pas de lourds orchestrateurs. Un binaire unique ocomb rapide, direct et autonome.
  • Le Miel (Dans ton Home) : Les configurations, les plans des abeilles, les logs et le produit du travail restent stockés au cœur de ton HOME, étanche au système.
  • Le Dashboard Épuré : Une interface en HTML/CSS/JS statique et pur, servie localement par le démon.
Moteur dans le système versus le miel dans le HOME
L'action en ligne de commande

ocomb : L'outil CLI de la Ruche

Le binaire ocomb est l'outil physique de contrôle. Il permet d'interagir directement avec le moteur sans interface graphique, au coeur du terminal.

  • Le Moteur en Vol : Lancement et arrêt du démon BeeAwake, avec ou sans moteur d'agents activé.
  • Sécurité d'Acier : Vérification des signatures du Sceau, consultation de la Quarantaine et suivi d'audit.
  • Le Dialogue Direct : Communication instantanée avec les abeilles en vol ou instanciation de Swarmlets isolés.
nadine@projet-autos: ~/ruche $ ocomb hive init agence ⬡ Ruche 'agence' initialisée dans ~/.home/agence $ ocomb awake start ⬡ Moteur BeeAwake en écoute sur 127.0.0.1:18801 $ ocomb propolis status 🛡️ Propolis actif | Sceau : OK | Quarantaine : 0 $ ocomb bee parler mia "analyse Cargo.toml" ⬡ Cycle 14 démarré pour mia au trou de vol...
L'arsenal des subcommandes

Toutes les Commandes d'ocomb

tui
Interface interactive plein écran (console TUI).
awake
Gère le démon BeeAwake (start, stop, status, restart).
hive
Initialise et gère une nouvelle ruche (init <nom>).
guard
Sentinelle active et contrôle des politiques de sécurité.
propolis
Coffre de clés, quarantaine, teinte et journal d'audit.
cell
Contrôle et liste les sandboxes isolées des processus.
swarmlet
Pilote les agents Python isolés (spawn, list, stop).
waggle
Protocole inter-agents (send, broadcast, status).
queen
Orchestrateur central et coordination de la ruche.
bee
Parle directement à une abeille (prompt CLI).
Détails de la Syntaxe CLI

Le Dictionnaire Analytique d'ocomb

  • ocomb hive init <nom>
    Initialise l'enclos sémantique de la ruche dans ~/.home/<nom>.
  • ocomb awake [start | stop | restart | status]
    Pilote le daemon BeeAwake. Option --sans-moteur pour le web seul.
  • ocomb propolis [audit | status | verifier | coffre]
    Gère la crypte : vérifie les signatures du Sceau, lister les secrets du coffre.
  • ocomb propolis [quarantaine | teinte | promouvoir <fic>]
    Gère la quarantaine et lève la teinte de provenance des fichiers.
  • ocomb guard [enforce | status | check | digest]
    Sentinelle active. Vérifie si un Swarmlet peut faire une action (ex: net:external).
  • ocomb swarmlet [spawn <fic> | list | stop <id>]
    Instancie et supervise un agent Python sous protection Propolis.
  • ocomb waggle [broadcast | send | status]
    Échange sémantique cryptographique inter-agents.
  • ocomb bee parler <nom> "<msg>"
    Prompt direct à une abeille (mias, etc.) sans passer par le dashboard.
L'Interface Homme-Machine

La Console de Pilotage de la Ruche

Une vue d'ensemble locale pour réguler à chaud le comportement, la mémoire et la sécurité physique de chaque ruche.

  • Le Moteur IA : Sélection instantanée du modèle de langage par défaut des abeilles (Ollama, Gemini, Claude, ou binaires locaux).
  • L'Armure de Sécurité : Toggles dynamiques de la propolis (Enclos Bubblewrap/Podman), activation du Sceau cryptographique et du Guard cognitif.
  • Le Curseur d'Horizon : Ajustement direct des budgets de mémoire (Nette, Condensée, Récit de soi) pour équilibrer la précision et le coût de l'API.
Console de configuration de la ruche OpenComb
La Genèse / Focus Historique

L'Ombre d'OpenClaw & la Faille de Mémoire

  • L'Héritage d'OpenClaw : Conçu comme un pont brut vers Claude, le prototype offrait une puissance immense mais au prix d'un cloisonnement inexistant.
  • Le Piège de PyO3 : L'interprétation Python en mémoire partagée permettait à n'importe quelle injection de prompt de s'échapper pour lire les clés du Sceau en RAM.
  • La Leçon de l'Évasion : Pour qu'une abeille puisse créer en toute liberté, elle doit travailler au sein d'enclos de cire et d'acier physiquement infranchissables.
Partie II

La Sécurisation Physique

L'enclos, le confinement et la défense en profondeur

Le plan de bataille de juillet 2026

Les 9 Étapes de la Sécurisation

Chaque étape du chantier s'imbrique comme une alvéole de cire dure. Nous avons structuré la défense en profondeur sur trois piliers distincts.

🛡️ Confinement Noyau
  • Étape 1 · Réseau par badge : Retrait mécanique des outils web (WebFetch/WebSearch) si non déclarés.
  • Étape 4 · Mode Bac : Confinement Bubblewrap par cycle (racine R/O, tmpfs éphémères, namespaces PIDs/IPCs).
  • Étape 6 · Mode Conteneur : Podman rootless, limites RAM/CPU dures par cgroups, egress verrouillé par réseau.
👁️ Sentinelle Active
  • Étape 5 · Proxy d'Egress : Filtrage local sur port 18802 (jeton temporaire par contrat de cycle).
  • Étape 8 · Guard : Analyse sémantique active (sceaux au trou de vol, flux d'outils, quarantaine).
🔑 Confiance & Intégrité
  • Étape 2 · Contrat : Intersection stricte des badges exécutante / instigatrice.
  • Étape 3 · Journal : Audit trail de Propolis intègre et statut honnête.
  • Étape 7 · Sceau & Coffre : Signatures Ed25519 des prompts, secrets chiffrés en AES-GCM.
  • Étape 9 · Teinte Publique : Marquage indélébile du public, promotion explicite humaine.
Le coeur du modele de securite

Trois mecanismes, trois modes de defaillance

Badges
Propolis
Guard

Pourquoi trois et pas un : une fissure dans la propolis n'aveugle pas le Guard, un Guard endormi ne troue pas les parois. C'est la defense en profondeur, par separation des modes de defaillance.

BADGES PROPOLIS GUARD
Le coeur du modele de securite

Trois mécanismes, trois modes de défaillance

Badges
Déclaration des droits d'accès (Lecture, Écriture, Réseau, Shell).
Propolis
Application physique passive des parois (namespaces, cgroups, signatures).
Guard
Supervision dynamique des flux d'outils et de l'alignement cognitif.
  • Pourquoi : Une faiblesse de la Propolis n'aveugle pas le Guard. La séparation garantit qu'aucun point de défaillance unique ne compromet l'opératrice.
La leçon fondatrice des badges

Un droit déclaré n'est pas un droit tenu

  • Le badge est un contrat sémantique : il définit l'intention de privilège.
  • La leçon historique : Un agent puissant (comme Claude Code) contournait les invites système ordinaires. Sans paroi matérielle, le badge n'était qu'un voeu pieux.
  • Règle d'atténuation : Les droits effectifs résultent de l'intersection stricte entre les badges de l'Abeille et ceux de l'instigatrice (mission signée).
Choix numéro 4

La propolis : une structure passive, jamais juge

Enclos
Confinement d'exécution : cli, bac (Bubblewrap), conteneur (Podman).
Sceau
Sidecars signés en Ed25519 garantissant l'intégrité de la ruche.
Coffre
Secrets chiffrés en AES-256-GCM, déchiffrés à la volée.
Quarantaine
Copie embaumée scellée des documents altérés pour audit.
  • Pourquoi la passivité : Si la propolis prenait des décisions sémantiques, les couches s'enchevêtreraient. Elle doit rester un mur de cire étanche ; le Guard est la sentinelle qui pense.
Fiche détaillée : Le design de juillet →
Focus technique

Le conflit de la Session-Client en mode Bac

  • Le Piège de l'Éphémère : Monter le HOME complet en tmpfs effaçait les répertoires ~/.claude/sessions/ à chaque cycle.
  • La conséquence : Perte de mémoire instantanée de l'abeille et double appel CLI par cycle (coût doublé).
  • La solution : Rediriger HOME vers le répertoire persistant <ruche>/.home, et y monter uniquement en lecture seule .credentials.json et .claude.json.
Fiche Technique Session-Client →
L'enclos et le proxy egress

Le réseau ne se coupe pas, il se filtre

  • Mode bac (Bubblewrap) : isolation des chemins et variables d'environnement restrictives.
  • Mode conteneur (Podman rootless) : limites RAM/CPU dures gérées par cgroups.
  • Réseau par slirp4netns : Le trafic direct vers internet est irroutable. Tout appel extérieur doit passer par le proxy local filtrant sur le port 18802.
Focus Confinement

Le Moissonnage des Ombres (Zombies)

  • Le problème du PID 1 : Dans un namespace de PIDs isolé via --unshare-pid, Claude CLI agit en tant que PID 1 mais ignore le reaping de processus enfants (ex: git), créant des tables de zombies saturées.
  • La solution bwrap : Détection active et injection de Tini (/usr/bin/tini) en tant que PID 1 dans le bac.
  • La solution conteneur : Utilisation du flag natif --init sous Podman pour moissonner automatiquement les défunts.
Fiche Technique Moissonnage →
Focus Architecture

L'Isolation des Swarmlets Python

  • Le Danger PyO3 : L'exécution historique en mémoire partagée au sein du daemon permettait à une injection de prompt de lire les clés privées du Sceau stockées en mémoire RAM.
  • La Parade : Déportation complète de l'interprétation Python dans un sous-processus python3 isolé.
  • Application du Contrat : Le script python est encapsulé sous un ContratDeLancement propolis identique aux abeilles Claude.
Fiche Technique Swarmlets →
Le sceau et la provenance
« Le Sceau, c'est l'origine des mots impossible à maquiller. »
  • Signatures Ed25519 & sidecars : chaque fichier sensible est scellé.
  • La Teinte de Provenance : identification indélébile des apports publics pour empêcher toute injection indirecte de contaminer les espaces privilégiés.
Le Guard, la sentinelle

Retenir la marchandise plutôt qu'arrêter l'usine

  • Inspection au Trou de Vol : signatures validées avant de démarrer le cycle.
  • Alignement dynamique : flux d'outils analysé au point d'exécution.
  • Gradation des actions : Noter, Signaler, Retenir, Arrêter.
Choix numéro 3

Les ruches ne vivent pas dans le moteur

  • Isolation du dépôt : le code source d'ocomb est découpé des données des ruches.
  • Ruches autonomes : chaque ruche vit dans son répertoire, avec ses clés et son historique.
  • Confinement de chemin : base absolue pour restreindre les accès disque des connecteurs.
Comparaison des Confinements

La Souveraineté face au Noyau

Critère Sécurisation Noyau (AppArmor / SELinux) Architecture OpenComb
Privilèges Requiert l'accès root système pour charger et modifier les profils. Zéro privilège requis (User namespaces rootless).
Administration Configuration complexe au niveau du kernel, rigide et difficile à maintenir. Zéro admin. Tout se configure dans le répertoire de l'abeille.
Granularité Profils globaux par binaire, inadaptés aux besoins changeants d'un agent. Par agent et par cycle, via la déclaration dynamique des Badges.
Supervision Binaire et muette : le noyau tue le processus en cas de violation. Cognitive : le Guard analyse le sens des requêtes en amont.
Intégrité Aucune validation de la provenance ou des signatures des écrits. Clé Ed25519 scellant la mémoire et les journaux de l'abeille.
Face aux améliorations d'OpenClaw

ClawArmor : l'armure externe

Le bac à sable natif d'OpenClaw a été contourné deux fois (Snyk Labs, début 2026) et ClawHub recense 820+ skills malveillants. La réponse de l'écosystème : ClawArmor (AccuKnox), une armure noyau KubeArmor / eBPF verrouillée autour de l'agent.

Critère OpenClaw + ClawArmor Architecture OpenComb
Philosophie Armure boulonnée après coup autour d'un agent sans cloisonnement natif. La paroi fait partie de l'abeille : cloisonnement conçu dès l'architecture.
Infrastructure Conteneur durci + KubeArmor + politiques kubectl : un cluster à administrer. Zéro privilège, rootless, aucun composant noyau à administrer.
Granularité Politiques par conteneur, globales à l'instance. Par abeille et par cycle, via les Badges dynamiques.
Angle mort Le sens des requêtes et la provenance des écrits restent invisibles au noyau. Guard cognitif en amont + Sceau Ed25519 sur chaque écrit.

Une armure externe, c'est l'aveu que la bête est dangereuse nue. La ruche, elle, naît avec ses parois.

Partie III

La Gestion du Contexte

L'horizon sémantique, la mémoire et l'éveil

La matière première de l'échange

La structure physique du Contexte

Avant d'être de la mémoire, le contexte est un texte unique, assemblé et envoyé à l'API à chaque question. C'est l'enveloppe de jetons que l'abeille lit avant de répondre.

  • Le Sommet (Les Phares) : Les consignes système immuables qui guident la voix et les limites comportementales de l'abeille.
  • Le Corps (Les Fichiers) : Les documents sources du projet ou les fiches lus sur le disque de la ruche, injectés à la volée.
  • La Mémoire (L'Historique) : La suite des questions et des réponses passées, qui s'allonge et menace d'étouffer le canal si on ne la régule pas.
ENVELOPPE DE CONTEXTE (PROMPT LLM) 💡 CONSIGNES SYSTÈME & PHARES Règles fondamentales, comportements 📄 DOCUMENTS & FICHIERS JOINTS Cargo.toml, l-horizon-spec.html (fichiers lus) 💬 HISTORIQUE DES MESSAGES Échanges passés (Sujet aux règles d'Horizon) 🔥 PROMPT UTILISATEUR ACTUEL Dernier message saisi par l'opératrice
La matière première de l'esprit artificiel

Qu'est-ce que le Contexte ?

Le contexte est la clairière d'attention de l'agent - le cercle de lumière où s'assemblent ses pensées à chaque battement de cycle.

  • Le Présent Écrit : L'agrégation instantanée des consignes, des fichiers ouverts, de l'historique et des retours d'outils jetés dans la balance.
  • La Dispersion de l'Aiguille : Un fleuve infini de jetons dilue la cible. Plus l'enveloppe gonfle, plus le regard s'éparpille dans la botte de foin sémantique.
  • L'Usure de l'Énergie : Chaque mot conservé a un prix en jetons et en temps. L'immensité du contexte ralentit le vol et consume les ressources.
  • L'Impératif de l'Oubli : Pour que l'abeille agisse avec acuité, son passé doit cesser d'être un bloc de marbre brut pour devenir un paysage vivant, où les lointains s'estompent pour laisser briller le présent.
L'horizon : la memoire a profondeur de champ

Quatre Niveaux pour Réguler le Passé

  • 1. Le Mode Brut (Non géré) : Comportement par défaut (`actif = false`). Aucun budget sémantique : seuls les 3 derniers messages sont envoyés à l'abeille.
  • 2. La Zone Nette (Horizon) : Les échanges récents, conservés dans leur entièreté brute et immédiate.
  • 3. La Zone Condensée (Horizon) : Les messages intermédiaires évincés de la zone nette, compressés par LLM en résumés factuels.
  • 4. Le Récit de Soi (Horizon) : Le socle persistant où le passé lointain fusionne dans un résumé structuré roulant.
  • Garanties de l'Horizon : Les Phares (tes paroles et consignes cruciales) ne s'estompent jamais, et la Coupe dure tranche proprement pour respecter le budget de caractères.
Fiche détaillée : L'horizon sémantique →
Le pouls de la machine

Le Heartbeat : Le Souffle de l'Abeille

Le heartbeat est le battement régulier qui rappelle l'abeille à la réalité du monde. Plutôt que de foncer en aveugle, l'agent respire à intervalles rythmés.

  • L'Écoute Interruptible : Toutes les 30 secondes, l'abeille s'arrête pour vérifier si sa reine a ordonné l'arrêt ou ajusté la mission. Elle reste gouvernable.
  • Le Calme face au Refus (Backoff) : Si les serveurs saturent, le cœur ralentit. Les pulsations s'espacent de manière exponentielle (jusqu'à 15 minutes) pour laisser apaiser le réseau.
  • La Patience Économique : Attendre plutôt que de mitrailler les endpoints préserve les clés d'API et évite de consumer inutilement l'énergie du système.
La méthode

Prouvé, pas promis

  • Preuves d'étapes : 7 étapes validées sur disque (fichiers de preuves rejouables).
  • Sensibilité active : le Guard est prêt à être déployé sur simple instruction.
  • Non-régression permanente : aucun contournement des enclos physiques ne peut survenir à l'insu du noyau.
Concept Poétique / Focus Énergie

L'Empoisonnement du Soleil

  • Métaphore Cognitive : La consommation d'API est perçue par l'abeille comme de l'énergie solaire.
  • Traduction Narrative des Erreurs : L'erreur HTTP 429 est sémantiquement traduite : « La brume obscurcit le disque solaire, le Soleil s'empoisonne de reflets d'argent. »
  • Cryogénisation Volontaire : Face à la pénurie d'API, l'abeille sauvegarde son état d'esprit et s'endort proprement pour céder la lumière à l'opératrice humaine.
Fiche Concept Empoisonnement du Soleil →
L'étape 9

Une étape finale différée par design

  • Teinte Publique : prête à l'activation lors de l'exposition publique.
  • L'architecture attend le choix : l'intégration attend la décision de l'opératrice humaine de déployer une abeille publique.
En un mot
« La ressource la plus rare du système, c'est l'attention de l'opératrice. »

OpenComb : une ruche robuste où l'humaine gouverne et les abeilles travaillent sous des parois d'une étanchéité physique absolue.

Ouvrir le Livre Blanc d'Architecture complet →
Flèches : naviguer  ·  F : plein écran
1 / 1