Перейти к содержанию

flower

Портативный long-horizon agent-фреймворк на базе Claude Agent SDK.

Не жертвуя возможностями Claude Code, превращает его в специализированного агента, которого можно унести с собой, у которого можно настроить взаимодействие и который способен работать сутками. Агент в главном потоке только принимает решения, вся ручная работа отдаётся subagent; требования сначала выясняются, и только потом начинается работа, а сделано или не сделано — решает другая роль. На другой машине поведение то же самое — он не читает настройки хоста, учётные данные приносит с собой.

Быстрый старт GitHub

$171.62стоимость одного запуска
10.4 часанепрерывной работы, посреди оборвалась сеть — подхватил сам
185.9Kпик контекста главного потока, ни одного compact за всё время
94.8%символов основного текста осели в subagent

Все четыре числа — из HT001: того запуска, в котором агент под flower написал с нуля терминальную IDE.

Одна команда — и готово, Node не нужен

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

Скрипт сам находит uv / pipx / pip и ставит команду flower; нужен только Python ≥ 3.10, Claude Code CLI ставить тоже не надо. После установки сделайте cd в любой каталог проекта и наберите flower: в первый раз он спросит API key или адрес шлюза, настраивается один раз и сохраняется в ~/.config/flower/.env, после чего работает везде; если на машине уже стоит и настроен Claude Code, он просто одолжит тот token и вообще ничего не спросит. Полная процедура и разбор ошибок — в Установке.

Он закрывает четыре класса отказов

Предварительное уточнение

Боитесь, что сделают не то, что вы хотели — до начала работы есть роль, которая только задаёт вопросы и ничего не делает, и спрашивает, пока всё не станет ясно; требования замораживаются в документ, и каждый следующий шаг начинается с его чтения.

Страж цели

Боитесь, что он скажет «готово», а на деле не готово — в конце каждого круга работы другая роль независимо выносит вердикт: достигнуто — идём дальше, не достигнуто — возвращаем на доработку, а если в этой среде проверить невозможно — останавливаемся и спрашиваем человека.

Непрерывность

Боитесь, что после нескольких часов всё упадёт и придётся начинать сначала — наберите flower ещё раз в том же каталоге, и он подхватит прошлый прогресс; так же и если процесс убили или машину перезагрузили, никаких id запоминать не нужно.

Передача

Боитесь, что при переполнении контекста всё сожмётся в один абзац сводки — текущая сессия сама пишет документ передачи, который человек может прочитать и поправить, а работу подхватывает новая сессия. Без compact.

Почему он «long-horizon»

Координатор в главном потоке несёт только решения и не получает Write и Edit — писать код, гонять тесты, искать материалы отдаётся subagent, а перебор вариантов у subagent попадает в другой transcript; главный поток получает только отчёт не длиннее 30 строк. В том 10.4-часовом запуске HT001 94.8% символов основного текста осели в subagent, и из 1,893 рабочих вызовов инструментов в поле зрения координатора попали лишь 32. Поэтому за 70 раундов главный поток дорос всего до 185.9K и ни разу не потребовался compact — как устроен этот слой и что представляют собой остальные три, см. Экономику контекста.

Сырые записи двух настоящих длинных прогонов

  • HT001 — терминальная IDE с нуля. $171.62 / 10.4 часа / контекст главного потока дорос до 185.9K, на выходе 12,212 строк продуктового кода; сеть один раз оборвалась, и он сам продолжил до конца.
  • HT002 — поставить его на macOS и запустить. $38.24 / около 1 часа, первый раз со стражем цели; программа действительно запустилась, но вердикт — недостижимо, вопрос вынесен человеку.

На обеих страницах написано и то, что не выдерживает критики: в HT001 агент неверно вынес одну из собственных приёмочных оценок, а HT002 растянул git clone && make && ./cppide на целый час. Каждое число пересчитывается по runs/manifest.json и sessions.db — это записи, а не реклама.

С чего начать чтение

  • Хочу сразу запуститьБыстрый старт: три команды до запуска, а дальше объясняется, как читать то, что пролетает по экрану.
  • Хочу сначала разобраться в понятияхОсновные понятия: запуск, шаг, сессия, пять ролей, всё за пять минут.
  • Хочу встроить в свой кодPython API: Runtime, Step, пять фабрик ролей, сигнатуры и значения по умолчанию для 62 публичных символов.