Aller au contenu

flower

Un framework d'agent long-horizon portable, bâti sur le Claude Agent SDK.

Sans sacrifier les capacités de Claude Code, on en fait un agent spécialisé qu'on peut emporter, dont on personnalise l'interaction, et qui tourne pendant des jours. L'agent du main thread ne fait que décider ; tout ce qui se fabrique part chez des subagents ; le besoin est tiré au clair avant de commencer, et c'est un autre rôle qui juge si c'est fait ou non. Changez de machine, le comportement reste le même — il ne lit pas les réglages de la machine hôte, il apporte ses propres identifiants.

Démarrage rapide GitHub

$171.62coût d'un run
10.4 heuresen continu, réseau coupé en route, reprise seul
185.9Kpic de contexte du main thread, aucun compact
94.8%des caractères de corps de texte chez les subagents

Ces quatre chiffres viennent de HT001 — le run où un agent a écrit de zéro un IDE de terminal sous flower.

Une commande pour l'installer, sans Node

curl -fsSL https://chenyuheee.github.io/flower/install.sh | sh

Le script trouve tout seul uv / pipx / pip pour installer la commande flower ; il suffit d'avoir Python ≥ 3.10, et le CLI Claude Code n'est même pas nécessaire. Une fois installé, faites cd dans n'importe quel répertoire de projet et tapez flower : la première fois, il vous demande une clé API ou une adresse de passerelle ; configuré une fois, c'est enregistré dans ~/.config/flower/.env et valable partout ; si Claude Code est déjà installé et configuré sur la machine, il emprunte directement ce token, sans rien demander. Étapes complètes et dépannage : voir Installation.

Il vous protège de quatre familles d'échecs

Clarify

Peur que le résultat ne soit pas ce que vous vouliez — avant de commencer, un rôle qui ne fait que poser des questions, sans rien fabriquer, interroge jusqu'à ce que ce soit clair, puis fige le besoin dans un document que chaque étape suivante lit en ouverture.

Goal guard

Peur qu'il annonce « c'est fait » alors que non — à la fin de chaque tour de travail, un autre rôle juge indépendamment : atteint, on continue ; non atteint, on renvoie ; invérifiable dans cet environnement, on s'arrête et on demande à un humain.

Continuité

Peur que ça plante après des heures et qu'il faille tout reprendre — retapez flower dans le même répertoire et il reprend là où il en était, même si le processus a été tué ou la machine redémarrée, sans que vous ayez à retenir le moindre id.

Handoff

Peur que le contexte plein soit écrasé en un résumé — la session courante rédige elle-même un handoff document lisible et modifiable par un humain, qu'une nouvelle session reprend, sans compact.

Ce qui le rend « long-horizon »

Le coordinateur du main thread ne porte que des décisions : il n'a accès ni à Write ni à Edit — écrire du code, lancer les tests, chercher de la doc, tout part chez des subagents ; les essais et erreurs du subagent vont dans une autre transcript, et le main thread ne reçoit qu'un rapport de 30 lignes maximum. Sur les 10.4 heures du run HT001, 94.8% des caractères de corps de texte sont tombés chez les subagents, et sur 1,893 appels d'outils qui fabriquent quelque chose, seuls 32 sont entrés dans le champ de vision du coordinateur. D'où un main thread qui n'atteint 185.9K qu'au bout de 70 tours, sans qu'aucun compact ne se produise — comment cette couche est faite, et quelles sont les trois autres : voir Économie du contexte.

Les enregistrements bruts de deux vraies longues courses

  • HT001 — écrire un IDE de terminal de zéro. $171.62 / 10.4 heures / contexte du main thread monté à 185.9K, 12,212 lignes de code produit livrées, une coupure réseau en route, reprise et fin tout seul.
  • HT002 — l'installer et le faire tourner sur macOS. $38.24 / environ 1 heure, premier run avec goal guard ; le programme a bel et bien démarré, et le verdict a pourtant été non atteint, remonté à un humain.

Les deux pages écrivent aussi ce qui ne tient pas : dans HT001, l'agent s'est trompé sur un point de sa propre recette, et HT002 a transformé git clone && make && ./cppide en une heure de travail. Chaque chiffre est recalculable depuis runs/manifest.json et sessions.db — c'est un enregistrement, pas de la promotion.

Par où commencer

  • Envie de le lancer tout de suiteDémarrage rapide : trois commandes pour démarrer, puis comment lire ce qui défile à l'écran.
  • Envie de comprendre les concepts d'abordConcepts fondamentaux : run, step, session, les cinq rôles, le tout en cinq minutes.
  • Envie de le brancher sur votre propre codeAPI Python : Runtime, Step, les cinq fabriques de rôles, signatures et valeurs par défaut des 62 symboles publics.