Créer votre propre agent IA comme OpenClaw
Découvrez comment construire un agent IA auto-hébergé capable d’exécuter des commandes, et pourquoi le durcissement doit passer avant chaque intégration.
Qu'est-ce qu'OpenClaw réellement
OpenClaw est un agent IA personnel auto-hébergé. Vous l'exécutez sur votre propre serveur, vous le connectez aux applications de messagerie que vous utilisez déjà, et il peut exécuter des commandes shell, contrôler un navigateur, lire et écrire vos fichiers, et agir sur les messages que vous lui envoyez. Il est sous licence MIT, privilégie le local, et compte plus de 380 000 étoiles sur GitHub à la mi-2026, ce qui en fait l'un des projets les plus étoilés de la plateforme. Derrière le bruit médiatique, il s'agit d'un ensemble assez restreint de composants assemblés de manière logique. Cet article détaille ces composants pour vous permettre de comprendre comment un tel outil est construit et où se situent les risques.
Un avertissement préalable, car il influence chaque choix de conception ci-dessous. En mars 2026, les mainteneurs d'OpenClaw ont publié une vague d'avis de sécurité : 22 rien que le 13 mars et cinq autres le 16 mars, tandis que la National Vulnerability Database a enregistré 199 CVE OpenClaw publiées ce mois-là. Le lot du 13 mars comprenait deux failles critiques notées 9,9 sur 10, dont un bug d'élévation de privilèges (CVE-2026-32922) permettant à un appareil ne possédant que des droits d'appairage de générer des jetons administrateur complets. Le projet est conçu pour être durci par vous, l'opérateur. Un agent capable d'exécuter n'importe quelle commande n'est aussi sûr que la machine sur laquelle il tourne et les limites que vous lui imposez. Gardez cela à l'esprit pendant votre lecture.
Le démon passerelle : un processus unique, maintenu privé
Au centre se trouve un processus unique à exécution longue, généralement appelé la passerelle (gateway). C'est le plan de contrôle. Il reçoit les messages, décide des actions à mener, exécute les outils et renvoie les réponses. Tout le reste s'y connecte.
Le fait le plus important concernant la passerelle est son point d'écoute. Sur une installation hôte classique, OpenClaw le lie à l'adresse de bouclage (loopback), 127.0.0.1, afin qu'il ne soit pas accessible depuis Internet, sauf si vous faites l'effort de l'exposer. Les images de conteneurs font exception : la documentation de sécurité d'OpenClaw indique qu'elles sont configurées par défaut avec une liaison exposée. Si vous exécutez le conteneur, maintenez l'authentification activée et ne publiez pas son port sur Internet. Dans tous les cas, gardez-le privé. Il s'agit du processus unique qui exécute des commandes en permanence ; une passerelle exposée offre à quiconque la trouve un point d'entrée distant sur votre serveur. Lorsque vous devez y accéder depuis votre ordinateur portable, passez par un VPN ou un tunnel SSH plutôt que d'ouvrir un port. Personne ne peut attaquer un port qu'il ne peut pas atteindre.
Connecteurs de canaux : recevoir un message et renvoyer une réponse
Un agent personnel n’est utile que si vous pouvez lui parler depuis les applications que vous utilisez déjà. C’est le rôle des connecteurs de canaux. Chacun d’eux communique avec une plateforme donnée, comme Telegram, WhatsApp, Slack ou Discord, via l’API de bot ou les webhooks de cette plateforme.
Le fonctionnement est identique pour tous. Le connecteur enregistre un bot auprès de la plateforme, reçoit votre message entrant (en interrogeant la plateforme ou en recevant un webhook qu’elle lui envoie), transmet ce message à la gateway, puis renvoie la réponse de la gateway via la même API. Le connecteur est une fine couche de traduction. Il transforme « un message Telegram est arrivé » en « voici le texte à transmettre à l’agent », puis effectue la conversion inverse. Créer votre propre connecteur consiste principalement à consulter la documentation des bots de la plateforme et à faire correspondre son format de message à celui de la gateway.
Le cerveau et la boucle d’outils
Dans la gateway se trouve la partie qui en fait un agent plutôt qu’un chatbot. C’est une boucle.
Un message arrive. La gateway l’envoie à un modèle de langage avec la liste des outils que le modèle est autorisé à utiliser. Le modèle lit le message et décide : répondre directement ou appeler un outil. S’il appelle un outil, la gateway exécute cet outil, récupère le résultat, puis renvoie ce résultat au modèle. Le modèle examine le résultat et prend une nouvelle décision. Le processus se répète jusqu’à ce que le modèle n’ait plus rien à faire et produise une réponse finale.
Cette boucle constitue le principe d’un agent. Elle est identique, que l’agent fonctionne dans une application de chat ou dans un terminal. Pour savoir comment connecter les outils à cette boucle de manière standard, consultez connecter les outils avec le Model Context Protocol. Pour la partie consacrée au modèle, exécuter le modèle sur votre propre matériel présente l’autre moitié du fonctionnement.
L’ensemble d’outils est le principe central, et le danger
Les outils sont ce qui rend OpenClaw puissant. Un outil peut exécuter une commande shell, piloter un navigateur, ou lire et écrire des fichiers. Donnez-y accès à la boucle décrite plus haut, et elle pourra presque tout faire comme vous au clavier. Cette capacité constitue l’intégralité du produit, mais aussi l’intégralité du risque.
Un agent capable d’exécuter n’importe quelle commande à partir d’instructions reçues dans une application de chat présente une vaste surface d’attaque. Une instruction malveillante, une attaque par prompt injection dissimulée dans une page web consultée par l’outil de navigateur, ou un bug comme les failles de mars 2026 peut transformer « lire mon calendrier » en « supprimer mes fichiers ». Les restrictions ne sont donc pas des options supplémentaires. Exécutez l’agent avec un utilisateur dédié et non privilégié, sans sudo, afin qu’une compromission ne puisse pas être exploitée pour obtenir davantage de privilèges. Placez les outils dangereux derrière une étape d’approbation afin que l’agent demande votre confirmation avant toute opération destructive. Exécutez les outils dans une sandbox afin qu’une commande incontrôlée reste confinée. Isolez la clé API du modèle afin qu’une fuite ne permette pas à un attaquant de prendre le contrôle de votre compte. Pensez aussi aux autres secrets présents sur le même serveur : les véritables points faibles de Vaultwarden sont son jeton d’administration et son fichier de sauvegarde, pas son chiffrement, et un agent disposant d’un accès shell peut atteindre ces deux éléments.
Avant d’exposer quoi que ce soit qui exécute des commandes shell, passez méthodiquement en revue les bases. Générez ici une checklist adaptée à votre serveur, puis suivez-la de haut en bas :
L’exécution avec un utilisateur non privilégié est expliquée en détail dans exécuter des services avec un utilisateur non privilégié, et la procédure complète de configuration sécurisée du projet réel se trouve dans exécuter OpenClaw en toute sécurité sur un VPS.
La mémoire sous forme de fichiers texte
La plupart des gens s'attendent à ce que la mémoire d'un agent réside dans une base de données. Ce n'est pas le cas d'OpenClaw. Il stocke la mémoire sous forme de fichiers Markdown simples sur le disque, et ce choix mérite d'être imité. Les fichiers constituent la source de vérité ; le moteur de mémoire par défaut conserve un index de recherche SQLite à côté d'eux, et cet index peut être reconstruit à partir des fichiers.
Les fichiers sont simples. Il n'y a pas de schéma à migrer, pas de service à maintenir en fonctionnement et aucun langage de requête à apprendre. Ils sont inspectables : vous pouvez ouvrir le dossier et lire exactement ce que l'agent pense de vous, corriger une note erronée en modifiant un fichier, ou supprimer un souvenir en en supprimant un. Ils sont également portables, car déplacer l'agent vers un nouveau serveur revient simplement à copier un répertoire. Pour un agent personnel mono-utilisateur, un dossier de fichiers texte suffit, et cela rend l'ensemble du système facile à appréhender.
Compétences : un moyen portable d’ajouter des fonctionnalités
Au-delà des outils intégrés, OpenClaw utilise un format de compétence portable afin que la communauté puisse étendre ses fonctionnalités sans modifier son cœur. Une compétence est un ensemble autonome d’instructions et, parfois, de code, qui apprend à l’agent à effectuer une nouvelle tâche. L’agent charge une compétence lorsque la tâche l’exige. La recherche web est généralement la première compétence ajoutée. Diriger cette compétence vers votre propre instance SearXNG évite d’envoyer vos requêtes à une API de recherche commerciale et montre clairement où se situe la limite de confiance d’une compétence, puisque tout ce qu’elle renvoie est du texte écrit par un tiers.
L’intérêt d’un tel format est de rendre les fonctionnalités partageables. Une personne écrit une compétence pour une tâche précise, la publie, puis d’autres l’installent. Cette simplicité a aussi un revers : une compétence contient du code provenant d’un tiers que votre agent exécutera sans hésiter. Il est donc préférable de soumettre tout ce que vous n’avez pas écrit à un scanner de sécurité que vous hébergez vous-même avant de le charger. Si vous développez votre propre agent, définir tôt un format d’extension petit et clair vous évitera d’intégrer ultérieurement chaque fonctionnalité directement dans le cœur.
Votre propre modèle
OpenClaw est indépendant du modèle utilisé. Il ne fournit pas son propre modèle de langage. Il se connecte à celui que vous choisissez, qu’il s’agisse d’une API hébergée ou d’un modèle que vous exécutez vous-même.
Cette séparation a des conséquences sur le coût, la confidentialité et le contrôle. Une API hébergée donne accès aux modèles les plus performants sans matériel à administrer, avec une facturation par token et l’envoi de vos prompts en dehors de votre serveur. Un modèle auto-hébergé, servi avec un outil comme Ollama, conserve chaque message sur votre propre serveur et ne coûte que le matériel et l’électricité, au prix d’un modèle plus petit ou plus lent. Beaucoup de personnes combinent les deux. Si vous voulez conserver un agent totalement privé, auto-héberger le modèle sur votre VPS est ce qui permet de supprimer cette dernière faille, et Hermes Agent est un autre agent auto-hébergé qu’il peut être utile de comparer.
En construire un ?
Vous pouvez construire tout cela. Les composants ne sont pas exotiques : un daemon, quelques connecteurs de chat, une boucle modèle-outils, un dossier de fichiers Markdown et un format de plugin. Il est réellement utile de les comprendre, car cela démystifie chaque agent que vous utiliserez et vous indique précisément où se situe le danger.
Mais pour la plupart des utilisateurs, la réponse honnête consiste à exécuter le logiciel réel et à le sécuriser, plutôt qu’à le réinventer. OpenClaw a déjà résolu la gestion des connecteurs, la boucle d’exécution et le format des skills, et a fait l’objet d’un véritable examen de sécurité. Vous avez intérêt à consacrer vos efforts à ce qui relève réellement de votre responsabilité : installer et sécuriser le service sur votre propre serveur. Si vous préférez d’abord apprendre en suivant cette approche, progresser par étapes dans les concepts est plus efficace que de lire directement le code source de l’agent, car chaque étape vous laisse avec un élément que vous avez réellement construit. Construisez-en un petit pour apprendre. Exécutez ensuite le système réel et sécurisez-le pour l’utiliser.
Les bases générales sont présentées dans construire votre propre agent IA sur un VPS, et construire un agent avec Claude reprend les mêmes idées avec un modèle spécifique comme cerveau.
FAQ
Est-il difficile de construire un agent comme OpenClaw ?
Les composants individuels ne sont pas complexes. Un processus de passerelle, un connecteur de messagerie, une boucle modèle-outils et un dossier de fichiers sont chacun simples pris isolément. La difficulté réside dans la sécurité. Un agent qui exécute des commandes shell à partir de messages de chat représente une surface d'attaque sérieuse. Mettre en place correctement le sandboxing, les permissions et l'exécution par un utilisateur sans privilèges demande plus de travail que l'assemblage des fonctionnalités.
Pourquoi OpenClaw stocke-t-il la mémoire sous forme de fichiers Markdown plutôt que dans une base de données ?
Parce que pour un agent personnel mono-utilisateur, les fichiers suffisent et sont beaucoup plus simples. Il n'y a pas de service de base de données à gérer, la mémoire est facile à lire et à corriger manuellement, et déplacer l'agent vers un autre serveur consiste simplement à copier un répertoire. Une base de données justifie son utilité à plus grande échelle, pas ici.
Quelle est la partie la plus dangereuse d'un agent IA personnel ?
Les outils qui lui permettent d'agir : l'exécution de commandes shell, le contrôle d'un navigateur et l'écriture de fichiers. Ce sont les raisons pour lesquelles on le construit, mais aussi les raisons pour lesquelles il peut vous nuire. La vague d'avis de sécurité d'OpenClaw de mars 2026, avec 27 avis publiés entre le 13 et le 16 mars, dont deux failles critiques notées 9,9, est l'argument le plus clair pour traiter la couche d'outils avec précaution : exécutez-les avec un utilisateur sans privilèges, limitez les actions destructrices et utilisez le sandboxing pour l'exécution.
Ai-je besoin de mon propre modèle de langage pour en construire un ?
Non. Les agents comme OpenClaw sont agnostiques vis-à-vis des modèles ; vous connectez celui de votre choix. Il peut s'agir d'une API hébergée pour les modèles les plus puissants, ou d'un modèle que vous exécutez vous-même pour une confidentialité totale. L'auto-hébergement avec Ollama permet de garder chaque message sur votre propre serveur, au prix de l'exécution d'un modèle plus modeste.