- NanoClaw est un assistant IA personnel basé sur Claude qui fonctionne dans des conteneurs Apple, avec une architecture légère composée d’un seul processus et d’un petit nombre de fichiers
- Grâce à une isolation des conteneurs par groupe, il sépare l’historique des conversations et le système de fichiers, tout en prenant en charge la messagerie WhatsApp, les tâches planifiées, l’accès web, etc.
- Sans fichier de configuration, Claude Code guide l’installation et la personnalisation, et l’utilisateur peut modifier directement le code pour l’adapter à ses besoins
- Les nouvelles fonctionnalités sont étendues via des fichiers de « Skills » plutôt que par ajout de code, avec diverses demandes d’extension comme
/add-telegram, /convert-to-docker, etc.
- En privilégiant une structure de sécurité compréhensible et la simplicité plutôt que des frameworks complexes, le projet fournit une base permettant aux développeurs indépendants ou aux startups de construire un assistant IA de manière sûre
Aperçu du projet
- NanoClaw est un assistant Claude personnel fonctionnant dans l’environnement Apple Container, conçu avec la légèreté et la sécurité comme priorités
- Il s’exécute dans un unique processus Node.js, et chaque agent utilise un système de fichiers isolé à l’intérieur d’un conteneur Linux
- La base de code se compose d’environ 500 lignes de TypeScript, et le projet affirme qu’un utilisateur peut comprendre toute la structure en 8 minutes
- Il est publié sous licence MIT et a obtenu plus de 500 Stars sur GitHub
Philosophie de conception
- Une taille compréhensible : un unique processus, sans microservices, file de messages ni abstractions complexes
- La sécurité par l’isolation : seuls les répertoires montés explicitement sont accessibles, et les commandes Bash ne s’exécutent qu’à l’intérieur des conteneurs
- Pensé pour un utilisateur unique : il ne s’agit pas d’un framework mais d’un logiciel personnalisé, que l’on peut forker puis modifier directement
- Modifier le code plutôt que configurer : les fichiers de configuration sont réduits au minimum, et le comportement souhaité s’implémente par modification du code
- Une approche nativement IA : installation, débogage et supervision passent tous par l’interface conversationnelle de Claude Code
- Une extensibilité fondée sur les Skills : l’ajout de fonctionnalités passe non par des changements de code, mais par des fichiers de compétences dans le répertoire
.claude/skills
Fonctionnalités principales
- WhatsApp I/O : échange direct de messages avec Claude depuis le téléphone
- Isolation du contexte par groupe : chaque groupe dispose de sa propre mémoire
CLAUDE.md et de son propre système de fichiers conteneurisé
- Canal principal : canal personnel d’administration, complètement séparé des autres groupes
- Tâches planifiées : exécution de tâches périodiques et envoi automatique de messages
- Accès web : recherche et collecte de contenu
- Intégrations optionnelles : possibilité de connecter Gmail et d’autres services externes via des Skills comme
/add-gmail
Personnalisation
- Les modifications peuvent être faites directement via une conversation avec Claude Code, sans fichier de configuration
- Exemples : « changer le mot de déclenchement en @Bob », « raccourcir les réponses », « enregistrer chaque semaine un résumé des conversations », etc.
- La commande
/customize accompagne les modifications étape par étape
- La base de code est suffisamment petite pour que Claude puisse la modifier directement en toute sécurité
Extension et mode de contribution
- Les nouvelles fonctionnalités ne sont pas ajoutées directement via des PR, mais fournies sous forme de Skills
- Exemples : extension des canaux de communication avec
/add-telegram, /add-slack, /add-discord, etc.
- Conversion d’Apple Container vers Docker avec
/convert-to-docker
- Prise en charge de Windows via WSL2 avec
/setup-windows
- Ajout de fonctions de résumé et de compression de session avec
/add-clear
- Les contributeurs transforment leur fork via des Skills, puis repartagent le résultat au projet
Exigences système et structure
- Requiert macOS Tahoe(26) ou version ultérieure, Node.js 20+, Claude Code et Apple Container
- Flux d’architecture :
WhatsApp (baileys) → SQLite → Polling loop → Container (Claude Agent SDK) → Response
- Principaux fichiers :
src/index.ts : application principale et connexion WhatsApp
src/container-runner.ts : gestion de l’exécution des conteneurs
src/task-scheduler.ts : fonctionnalités de planification
src/db.ts : intégration SQLite
groups/*/CLAUDE.md : stockage de la mémoire par groupe
Résumé de la FAQ
- Pourquoi WhatsApp ? : parce que l’auteur utilise WhatsApp personnellement, et les autres canaux peuvent être remplacés via des Skills
- Pourquoi Apple Container ? : parce qu’il est intégré à macOS, léger et rapide
- Peut-il fonctionner sous Linux ? : un portage serait possible en environ 30 minutes via Claude Code
- Sécurité : fondée sur l’isolation des conteneurs, sans accès en dehors des montages explicites
- Pourquoi l’absence de fichier de configuration ? : pour éviter la prolifération des réglages et conserver une personnalisation centrée sur le code
- Comment déboguer ? : en posant directement des questions à Claude Code pour résoudre les problèmes
- Quelles modifications sont autorisées ? : uniquement les correctifs de sécurité, de bugs et les améliorations de la configuration par défaut
Licence
- Distribué sous licence MIT
- Chacun peut librement le modifier et le redistribuer
Aucun commentaire pour le moment.