- Implémentation d’un assistant IA dans un environnement embarqué à bas coût, pour en faire un agent IA matériel fonctionnant sans OS
- Exécute un assistant IA basé sur OpenClaw sur une puce ESP32-S3 à 5 dollars avec seulement 0,5 W d’alimentation USB
- Écrit en pur C sans OS, exécutable de manière autonome sans Linux, Mac mini, Raspberry Pi ou VPS
- Dialogue avec l’utilisateur via Telegram, et traite les réponses IA ainsi que l’apprentissage avec une simple connexion WiFi
- Prend en charge à la fois les modèles Anthropic (Claude) et OpenAI (GPT), avec bascule possible à l’exécution
- Toutes les données sont stockées dans la mémoire flash locale
- Éléments nécessaires
- Carte de développement ESP32-S3 : 16 Mo de flash + 8 Mo de PSRAM (p. ex. carte Xiaozhi AI, ~10 $)
- Câble USB Type-C, BotToken Telegram et clés API Anthropic/OpenAI
- L’architecture centrale repose sur une boucle d’agent : après réception d’un message, le LLM répète les opérations de raisonnement, appel d’outils et accès mémoire
- Application du pattern ReAct, permettant au LLM d’appeler lui-même des outils et d’itérer jusqu’à l’achèvement de la tâche
- Outils pris en charge
web_search : recherche web via l’API Brave Search
get_current_time : synchronisation de l’heure via HTTP
cron_add, cron_list, cron_remove : gestion autonome des tâches planifiées par l’IA
- Le système de mémoire est structuré sous forme de simples fichiers texte
SOUL.md : définit la personnalité et le comportement de l’IA
USER.md : stocke les informations utilisateur
MEMORY.md : mémoire à long terme
HEARTBEAT.md : liste des tâches périodiques
cron.json : données des tâches planifiées
tg_*.jsonl : stockage de l’historique des conversations
- Paramétrage modifiable via la CLI (interface de commande sur port série) : WiFi, clés API, modèle, proxy, etc.
- Les paramètres d’exécution sont conservés dans le stockage flash NVS, et persistent après redémarrage
- Commandes fournies :
wifi_set, set_api_key, set_model_provider, config_show, etc.
- Prise en charge d’une architecture à double port USB
- USB (JTAG) : pour le flash du firmware et le débogage
- UART (COM) : pour la CLI REPL et la console en temps réel
- Fonctionnalités intégrées
- Passerelle WebSocket (port 18789) : prise en charge des connexions clientes sur le LAN
- Mises à jour OTA : mise à jour du firmware via WiFi
- Architecture double cœur : séparation entre les E/S réseau et les calculs IA
- Prise en charge du proxy HTTP et du tunneling CONNECT
- Planificateur cron intégré : l’IA peut planifier elle-même des tâches répétitives ou ponctuelles
- Service Heartbeat : vérification des fichiers de tâches périodiques et exécution autonome
- Licence MIT
Aucun commentaire pour le moment.