Nanocode : Un Assistant IA Python Minuscule, Sans Dépendance
Nanocode – L'assistant IA Python minuscule, sans dépendance
Dans un monde où les outils IA sont souvent livrés sous forme de gros paquets ou nécessitent des configurations complexes, Nanocode se démarque comme une solution élégante et minimaliste. C’est un script Python en un seul fichier (≈250 lignes) qui recrée une boucle d’agents à la Claude Code, propose une poignée d’utilitaires puissants pour fichiers et shell, et fonctionne sans dépendances externes au-delà d'un environnement Python standard.
Pourquoi Nanocode ? – Le problème qu'il résout
- Rapidité d’itération : Ajoutez un nouvel outil ou ajustez le comportement en millisecondes sans réinstaller de bibliothèque.
- Portabilité : Déposez le fichier où vous voulez, exécutez-le sur n’importe quel ordinateur avec Python 3.8+.
- Transparence : Contrairement aux solutions en boîte noire, tout le code est visible, idéal pour l’apprentissage ou le débogage.
- Aucune librairie externe : Pas besoin de
pip installde gros paquets, ce qui le rend parfait pour les environnements CI ou les appareils à mémoire limitée.
Fonctionnalités clés en bref
| Fonctionnalité | Description |
|---|---|
| Boucle d'agents | Cycle prompt‑réponse continu avec appel d’outils |
| Outils intégrés | read, write, edit, glob, grep, et bash – toutes les actions natives que votre agent peut appeler |
| Sortie colorée | Visualisation riche du terminal des invites, réponses et résultats d’outils |
| Flexibilité du modèle | Fonctionne avec Claude d’Anthropic « out‑of‑the‑box » ; passez à n’importe quel modèle OpenRouter simplement via des variables d’environnement |
| Raccourcis de commande | /c pour effacer l’historique, /q ou exit pour quitter |
Démarrage rapide
# Clonez le dépôt ou téléchargez le fichier unique `nanocode.py`
git clone https://github.com/1rgs/nanocode.git
cd nanocode
# Définissez votre clé API Anthropic
export ANTHROPIC_API_KEY="votre-clé"
# Ou, définissez une clé OpenRouter pour une liste de modèles plus large
export OPENROUTER_API_KEY="votre-clé"
# Facultatif – choisissez un modèle spécifique (le défaut est Claude 3.5 Sonnet)
export MODEL="openai/gpt-5.2"
# Lancez-le
python nanocode.py
Une fois dans le REPL, vous pouvez commencer à demander à l’IA de lire des fichiers, les éditer, ou même exécuter des commandes shell ! Par exemple :
> what files are here?
─────────────────────────────────
❯ glob(**/*.py)
L’outil répond, appelle la fonction glob, et le script affiche les noms de fichiers correspondants — illustrant comment l’agent invoque directement les utilitaires.
Étendre Nanocode
Ajouter un nouvel outil personnalisé est simple :
1. Définissez une fonction qui réalise l’action désirée. Par exemple, un outil compress.
2. Enregistrez‑le dans le dictionnaire tool_registry.
3. L’agent pourra désormais appeler compress par son nom.
# Exemple : un outil de compression simple
from zipfile import ZipFile
def compress(src, dst):
with ZipFile(dst, 'w') as z:
for root, _, files in os.walk(src):
for f in files:
z.write(os.path.join(root, f), arcname=f)
# Enregistrer
tool_registry['compress'] = compress
Après cela, vous pouvez demander à l’agent :
> create a zip of the src folder
et il exécutera automatiquement votre outil compress.
Communauté et contributions
Le projet maintient une base de code très simple, ce qui en fait un terrain de jeu idéal pour les contributeurs. N’hésitez pas à : - Ouvrir une issue pour signaler un bug ou demander une fonctionnalité. - Forker et soumettre une pull request avec un nouvel outil ou une amélioration de performance. - Ajouter de la documentation ou mettre à jour le README avec vos propres exemples.
Avec plus de 1 500 étoiles et un intérêt croissant pour les utilitaires AI minimalistes, Nanocode constitue une base solide pour la prochaine vague d’assistants AI légers.
Dernières réflexions
Nanocode montre que l’interaction IA puissante ne nécessite pas de cadres monolithiques. Que vous prototypez un pipeline de données personnalisé, testiez un assistant IA embarqué, ou cherchiez simplement à voir comment fonctionnent les boucles Claude, ce petit script réduit le bruit. Prenez-le, lancez‑le, et laissez votre imagination – et votre terminal – faire le reste.