Accéder au contenu principal

Tutoriel Nanobot : une alternative légère à OpenClaw

Découvrez Nanobot, l’alternative légère à OpenClaw. Créez un agent IA Python sécurisé et traçable en moins de 10 minutes avec ce guide d’installation complet.
Actualisé 22 avr. 2026  · 6 min lire

Nanobot est un assistant IA personnel léger, une alternative à OpenClaw. Il est 98 % plus petit qu’OpenClaw tout en offrant les mêmes fonctionnalités essentielles d’agent.  Comme OpenClaw, il peut tourner sur votre machine, se connecter à vos applications préférées et, grâce à sa petite taille, vous pouvez facilement inspecter le code. 

Nanobot connecte vos modèles propriétaires et open source préférés pour exécuter un agent de codage local. Une fois que vous lui envoyez des messages via Telegram, WhatsApp ou le terminal, l’agent répond en exécutant des commandes sur votre machine, comme la lecture de journaux, l’exécution de scripts ou la recherche de fichiers. 

Dans ce tutoriel, je vais vous montrer comment configurer Nanobot de A à Z et comment créer en quelques minutes un agent IA complet. J’aborderai aussi quelques écueils à connaître lorsque vous utilisez cette technologie. 

Qu’est-ce que Nanobot ?

Nanobot est une alternative à OpenClaw qui a gagné en popularité très rapidement, totalisant déjà plus de 21 000 étoiles GitHub au moment d’écrire ces lignes. Comme OpenClaw, il prend en charge des plateformes de messagerie populaires comme Discord, Slack et Telegram. 

Tout comme l’agent OpenClaw, votre agent Nanobot peut aussi rejoindre la fête sur les réseaux sociaux avec Moltbook, comme nous le montrons dans notre tutoriel premiers pas avec Moltbook

Fonctionnalités clés de Nanobot

Malgré sa légèreté, Nanobot couvre trois besoins essentiels d’un agent performant : 

  • Mémoire avec état : Nanobot construit un graphe local de votre historique. Concrètement, si vous travaillez aujourd’hui sur un projet d’analyse de données en Python, il s’en souviendra encore dans une semaine. 
  • Agnostique au modèle : vous n’êtes pas enfermé chez un fournisseur. Vous pouvez utiliser les modèles d’OpenAI, d’Anthropic, ou même des modèles locaux sur votre propre matériel. 
  • Interface instantanée : Nanobot s’utilise dans vos applications de messagerie préférées : vous conservez donc les interfaces auxquelles vous êtes habitué. 

Prérequis pour exécuter Nanobot

Pour suivre ce tutoriel, prévoyez les éléments suivants :

  • Python 3.11 ou supérieur installé sur votre ordinateur (Mac, Windows ou Linux).
  • Une clé API d’un fournisseur comme OpenRouter, OpenAI ou Anthropic, ou la configuration d’un modèle local via Ollama.
  • Un compte Telegram (j’utiliserai Telegram pour l’interface car c’est le plus simple à configurer).

Tutoriel pas à pas Nanobot : créer un « agent de recherche »

Créons un agent dans votre Telegram, capable de chercher sur le web et de mémoriser vos centres d’intérêt.

Step-by-Step Tutorial: Building A "Research Agent"

Étape 1 : installer Nanobot

La méthode la plus propre pour installer des outils Python aujourd’hui est d’utiliser pip ou uv, ce qui les isole du Python système. Si vous ne les avez pas, le pip standard convient aussi.

Ouvrez votre terminal et exécutez :

# exécutez dans votre environnement
pip install nanobot-ai 
# OU si vous préférez uv
uv tool install nanobot-ai

Une fois l’installation terminée, vous verrez un message similaire à celui ci‑dessous :

Successfully installed nanobot-0.4.1

Étape 2 : récupérer votre jeton d’interface

Pour configurer l’interface :

  • Ouvrez Telegram et cherchez @BotFather 
  • Tapez /newbot et suivez les instructions 
  • Copiez le jeton fourni par BotFather 
  • Ensuite, récupérez votre identifiant utilisateur pour que le bot n’accepte que vos commandes. Cherchez @userinfobot dans Telegram et cliquez sur Start. Copiez l’ID utilisateur. 

Étape 3 : initialisation 

Lancez nanobot onboard pour initialiser votre bot. Vous devriez voir un message similaire à celui‑ci :

✓ Created config at /Users/derrickmwiti/.nanobot/config.json
✓ Created workspace at /Users/derrickmwiti/.nanobot/workspace
  Created AGENTS.md
  Created SOUL.md
  Created USER.md
  Created memory/MEMORY.md
  Created memory/HISTORY.md
🐈 nanobot is ready!
Next steps:
  1. Add your API key to ~/.nanobot/config.json
     Get one at: https://openrouter.ai/keys
  2. Chat: nanobot agent -m "Hello!"
Want Telegram/WhatsApp? See: https://github.com/HKUDS/nanobot#-chat-apps

Étape 4 : configuration

Exécutez la commande ci‑dessous et ajoutez la clé API du fournisseur de modèle que vous souhaitez utiliser dans la section providers : 

nano ~/.nanobot/config.json

Modifiez le fichier pour ajouter la clé API de votre fournisseur choisi :

{
  "workspace": "./workspace",
  "providers": {
    // Option 1: OpenAI
    "openai": {
      "apiKey": "sk-YOUR-OPENAI-KEY-HERE",
      "model": "gpt-4o"
    },
    // Option 2: Anthropic (Claude)
    "anthropic": {
      "apiKey": "sk-ant-YOUR-CLAUDE-KEY-HERE",
      "model": "claude-3-5-sonnet-20240620"
    },
    // Option 3: Google Gemini
    "google": {
      "apiKey": "AIza-YOUR-GOOGLE-KEY-HERE",
      "model": "gemini-1.5-pro"
    },
    // Option 4: OpenRouter (Best for flexibility)
    "openrouter": {
      "apiKey": "sk-or-YOUR-OPENROUTER-KEY-HERE",
      "model": "nousresearch/hermes-3-llama-3.1-405b"
    },
    // Option 5: Local (Ollama or vLLM)
    "local": {
      "apiBase": "http://localhost:11434/v1",
      "apiKey": "ollama",
      "model": "llama3"
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_TELEGRAM_BOT_TOKEN",
      "allowFrom": ["YOUR_NUMERIC_USER_ID"]
    }
  }
}

Modifiez la section Telegram et ajoutez le jeton et l’ID utilisateur récupérés plus tôt. Cela garantit que vous êtes la seule personne autorisée à envoyer des instructions à votre agent. 

"telegram": {
      "enabled": true,
      "token": "",
      "allowFrom": [""],
      "proxy": null
}

   Adaptez la section agents pour refléter le fournisseur choisi :

"agents": {
    "defaults": {
      "workspace": "~/.nanobot/workspace",
      "model": "openai/gpt-5",
      "maxTokens": 8192,
      "temperature": 0.7,
      "maxToolIterations": 20,
      "memoryWindow": 50
    }
  }

Testez votre agent dans le terminal :

nanobot agent -m "Hello"   

🐈 nanobot
Hi there! How can I help you today?    

Étape 5 : configurer la passerelle

Pour finaliser l’intégration Telegram, exécutez la commande ci‑dessous dans le terminal : 

nanobot gateway

Vous devriez maintenant voir que Telegram est activé, comme dans mes messages ci‑dessous : 

🐈 Starting nanobot gateway on port 18790...
2026-02-13 09:59:35.405 | INFO     | nanobot.channels.manager:_init_channels:46 - Telegram channel enabled
✓ Channels enabled: telegram
✓ Heartbeat: every 30m
2026-02-13 09:59:35.406 | INFO     | nanobot.cron.service:start:154 - Cron service started with 0 jobs
2026-02-13 09:59:35.406 | INFO     | nanobot.heartbeat.service:start:81 - Heartbeat started (every 1800s)
2026-02-13 09:59:35.406 | INFO     | nanobot.agent.loop:run:116 - Agent loop started
2026-02-13 09:59:35.406 | INFO     | nanobot.channels.manager:start_all:159 - Starting telegram channel...
2026-02-13 09:59:35.406 | INFO     | nanobot.channels.manager:_dispatch_outbound:187 - Outbound dispatcher started
2026-02-13 09:59:35.411 | INFO     | nanobot.channels.telegram:start:140 - Starting Telegram bot (polling mode)...
2026-02-13 09:59:39.245 | INFO     | nanobot.channels.telegram:start:148 - Telegram bot @mwitibananabot connected
2026-02-13 09:59:39.417 | DEBUG    | nanobot.channels.telegram:start:152 - Telegram bot commands registered

Rendez‑vous sur Telegram et testez‑le : 

Découvrez comment utiliser Claude Code d’Anthropic pour améliorer vos workflows de développement logiciel, avec un exemple pratique basé sur la bibliothèque Supabase pour Python, dans notre tutoriel Claude Code

Faire monter Nanobot en puissance : l’agent « multi‑outils »

Maintenant que la configuration est terminée, il est temps de rendre votre agent plus opérationnel. La plupart des modèles ne connaissent que les informations disponibles jusqu’à la date de coupure de leurs données d’entraînement. On peut le rendre plus utile en le connectant à Internet.

Nanobot prend en charge le Model Context Protocol (MCP), ce qui ajoute des capacités à votre agent, comme la recherche web ou les requêtes en base de données. Ajoutons le serveur Brave Search pour permettre à notre agent d’accéder au web :

  1. Obtenez une clé API auprès de Brave
  2. Mettez à jour la configuration avec cette clé
"tools": {
    "web": {
      "search": {
        "apiKey": "",
        "maxResults": 5
      }
    },
    "exec": {
      "timeout": 60
    },
    "restrictToWorkspace": false
  }

Redémarrez votre passerelle.

Désormais, dans Telegram, posez une question du type « Quel est le cours actuel de l’action Apple ? ». Dans le terminal, vous verrez qu’il effectue bien une recherche sur le web : 

2026-02-13 10:14:48.753 | INFO     | nanobot.agent.loop:_process_message:164 - Processing message from telegram:7045522516: What is the current price of the Apple Stock
2026-02-13 10:14:59.726 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_search({"query": "AAPL stock price Yahoo Finance", "count": 5})
2026-02-13 10:15:22.066 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finance.yahoo.com/quote/AAPL/", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:26.886 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.google.com/finance/quote/AAPL:NASDAQ", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:51.361 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query1.finance.yahoo.com/v7/finance/quote?symbols=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:52.018 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL?modules=price", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.071 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.marketwatch.com/investing/stock/aapl", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.406 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finviz.com/quote.ashx?t=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:35.897 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://financialmodelingprep.com/api/v3/quote/AAPL?apikey=demo", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:36.919 | INFO     | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://stooq.com/q/l/?s=aapl.us&i=5", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:17:14.870 | INFO     | nanobot.agent.loop:_process_message:266 - Response to telegram:7045522516: Reflection:
- JS-heavy sites (Yahoo/Google) hid the live quote; Yahoo's JSON APIs blocked (401). 
- Finviz returned a pr...

Local et privé : exécuter Nanobot hors ligne

Comme OpenClaw, l’un des principaux atouts de Nanobot est la confidentialité. Vous pouvez l’utiliser sans envoyer de données à un fournisseur cloud. Étant donné que Nanobot prend en charge vllm et les endpoints compatibles OpenAI, vous pouvez le connecter à un exécuteur de modèles local comme Ollama. 

  1. Installez Ollama et lancez ollama
  2. Mettez à jour la section providers de votre config.json (voir l’exemple « local » à l’étape 4 ci‑dessus).

Consultez notre tutoriel utiliser OpenClaw avec Ollama pour apprendre à créer un data analyst IA 100 % local avec OpenClaw et Ollama, capable d’orchestrer des workflows multi‑étapes, d’analyser des jeux de données et de générer des rapports visuels, sans envoyer vos données dans le cloud.

Problèmes fréquents et dépannage avec Nanobot

Même avec un outil simple comme Nanobot, des problèmes peuvent survenir. Voici quelques cas courants et comment les résoudre. 

Erreurs « connection refused »

Si vous essayez d’exécuter Nanobot sur un serveur tout en accédant à des modèles locaux, vous obtiendrez une erreur « connection refused ».  C’est parce que le serveur en ligne ne peut pas accéder à votre ordinateur local. 

Pour contourner cela, assurez‑vous que les modèles open source tournent aussi sur le même serveur, ou utilisez un outil comme ngrok pour établir un pont entre les deux. 

Limites de fenêtre de contexte

Les modèles locaux ont souvent des limites de mémoire (fenêtres de contexte) plus petites. Même les modèles cloud ont une fenêtre de contexte limitée. Comme Nanobot stocke sa mémoire dans de simples fichiers, la meilleure façon de « réinitialiser » son cerveau est de supprimer manuellement les fichiers de mémoire dans votre dossier ./workspace

Autre possibilité : passer à un modèle avec une fenêtre de contexte plus large, comme gemini-1.5-pro ou Claude Opus 4.6.

Conclusion

Nanobot prouve qu’un logiciel puissant n’a pas besoin d’être volumineux. Il offre les mêmes fonctionnalités essentielles qu’OpenClaw tout en restant nettement plus léger. En revanche, il présente les mêmes enjeux de sécurité : nous vous recommandons donc de le configurer dans un environnement isolé (sandbox) pour éviter tout incident critique, comme l’effacement complet de votre disque dur.  

Pour aller plus loin avec les outils d’IA, nous vous conseillons de consulter notre guide des meilleurs outils IA gratuits. Pour développer vos compétences de codage avec l’IA, suivez notre cours AI‑Assisted Coding for Developers et faites de l’IA un véritable partenaire fiable dans vos workflows de développement. 

Découvrez également comment créer des applications propulsées par l’IA avec des LLM, des prompts, des chaînes et des agents dans LangChain, grâce à notre cours Developing LLM Applications with LangChain.

FAQ sur Nanobot

En quoi Nanobot est-il différent d’OpenClaw ?

Les fonctionnalités essentielles sont les mêmes. Nanobot est une alternative plus compacte, ce qui facilite la lecture et la mise à jour du code.

Mon agent Nanobot est en ligne mais ignore mes messages. Pourquoi ?

C’est presque toujours le paramètre allowFrom. Si vous avez ajouté une valeur à cette liste (même un placeholder), Nanobot active le « mode liste blanche » et ignore strictement tout ID utilisateur qui n’y figure pas.

Nanobot dispose-t-il d’une interface web ?

Non, Nanobot utilise les interfaces de vos applications de messagerie préférées ou le terminal.


Derrick Mwiti's photo
Author
Derrick Mwiti
Sujets

Meilleurs cours DataCamp

Cours

Concevoir des systèmes agentiques avec LangChain

3 h
11.3K
Découvrez les composants clés des agents LangChain et créez vos propres agents de chat personnalisés.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Contenus associés

blog

Types d'agents d'intelligence artificielle : Comprendre leurs rôles, leurs structures et leurs applications

Découvrez les principaux types d'agents d'intelligence artificielle, comment ils interagissent avec les environnements et comment ils sont utilisés dans les différents secteurs d'activité. Comprendre les agents réflexes simples, les agents basés sur un modèle, les agents basés sur un but, les agents basés sur l'utilité, les agents d'apprentissage, etc.

blog

Comprendre les TPU et les GPU dans l'IA : Un guide complet

L'essor du développement de l'intelligence artificielle (IA) a entraîné une augmentation notable de la demande en matière de calcul, d'où la nécessité de disposer de solutions matérielles robustes. Les unités de traitement graphique (GPU) et les unités de traitement tensoriel (TPU) sont devenues des technologies essentielles pour répondre à ces demandes.
Kurtis Pykes 's photo

Kurtis Pykes

9 min

cursor ai code editor

Tutoriel

Cursor AI : Un guide avec 10 exemples pratiques

Apprenez à installer Cursor AI sur Windows, macOS et Linux, et découvrez comment l'utiliser à travers 10 cas d'utilisation différents.

Tutoriel

Tutoriel sur les boucles Python

Tutoriel complet d'introduction aux boucles Python. Apprenez et pratiquez les boucles while et for, les boucles imbriquées, les mots-clés break et continue, la fonction range et bien plus encore.
Satyabrata Pal's photo

Satyabrata Pal

Tutoriel

30 astuces Python pour améliorer votre code, accompagnées d'exemples

Nous avons sélectionné 30 astuces Python intéressantes que vous pouvez utiliser pour améliorer votre code et développer vos compétences en Python.
Kurtis Pykes 's photo

Kurtis Pykes

Tutoriel

Classes abstraites Python : Un guide complet avec des exemples

Découvrez les classes abstraites Python, leur utilité et comment utiliser le module `abc` pour garantir la cohérence des interfaces. Comprend des exemples pratiques et des bonnes pratiques pour une mise en œuvre efficace.
Derrick Mwiti's photo

Derrick Mwiti

Voir plusVoir plus