
Flue: фреймворк автономных агентов от команды Astro
Команда Astro выпустила Flue — TypeScript-фреймворк для создания автономных AI-агентов с harness-архитектурой, sandbox и деплоем куда угодно.
Команда Astro выпустила фреймворк для автономных AI-агентов
Flue — это open-source TypeScript-фреймворк для создания AI-агентов, разработанный командой Astro. Flue 1.0 Beta уже доступен: открытый фреймворк для сборки агентов без привязки к конкретной лаборатории — пишите один раз, деплойте куда угодно, используйте любую LLM. Проект распространяется под лицензией Apache-2.0 и набрал около 3,8 тысячи звёзд на GitHub к середине 2026 года.
Что такое harness и зачем он нужен
Flue — это TypeScript agent harness framework для создания автономных AI-агентов, полностью headless и программируемых. Его ключевое уравнение — Agent = Model + Harness — ставит слой harness в центр архитектурного замысла.
По определению документации Flue, AI-агент — это LLM, работающая внутри harness. LLM обеспечивает способность рассуждать; harness предоставляет инструменты, контекст, память и среду, необходимые LLM для взаимодействия с внешними системами и выполнения задач. Без harness LLM отвечает на отдельные API-вызовы без постоянного состояния и без доступа к инструментам.
Изначально Flue был создан для автоматизации AI-воркфлоу внутри собственных GitHub-репозиториев Astro. Со временем он вырос в универсальный инструмент для всей отрасли.
Архитектура: как это работает
graph TD
A[Задача / Триггер] --> B[Agent Harness]
B --> C[LLM Model]
B --> D[Tools / Skills]
B --> E[Sandbox]
E --> F{Тип sandbox}
F --> G[virtual just-bash]
F --> H[local filesystem]
F --> I[Daytona / Cloudflare container]
C --> J[Результат / Действие]
D --> J
Встроенный TypeScript harness даёт любой модели контекст и среду для по-настоящему автономной работы: сессии, инструменты, навыки, инструкции, доступ к файловой системе и безопасный sandbox для выполнения.
Два режима работы
Agents — агенты, которые удерживают контекст между разговорами и событиями, автономно двигаясь к цели.
Workflows — структурированные автоматизации, в которых ваш код направляет рассуждение агента от чёткого ввода к готовому результату.
Sandbox: безопасность без overhead
Sandbox по умолчанию — just-bash: in-memory переосмысление Bash-оболочки на TypeScript. Он не требует Docker-контейнера или виртуальной машины, что делает его быстрым и дешёвым для агентов, которым не нужен доступ к файловой системе.
Для воркфлоу, которым нужно читать локальные файлы или запускать внешние скрипты, sandbox local() предоставляет прямой доступ к файловой системе.
Пример базового агента:
// agents/triage.ts
import { createAgent, type AgentRouteHandler } from '@flue/runtime';
import { local } from '@flue/runtime/node';
import triage from '../skills/triage/SKILL.md' with { type: 'skill' };
import * as githubTools from '../tools/github.ts';
const instructions = `
Triage a bug report end-to-end: reproduce the bug,
diagnose the root cause, verify whether the behavior is
intentional, and attempt a fix.`;
export const route: AgentRouteHandler = async (_c, next) => next();
export default createAgent(() => ({
model: 'anthropic/claude-sonnet-4-6',
tools: [...githubTools],
skills: [triage],
sandbox: local(),
instructions,
}));
Ключевые возможности
| Возможность | Описание |
|---|---|
| Sessions | Контекст сохраняется между разговорами и событиями |
| Skills | Переиспользуемые Markdown-файлы с экспертизой агента |
| Subagents | Делегирование задач специализированным агентам |
| MCP Servers | Интеграция с экосистемой Model Context Protocol |
| Durable Execution | Агент переживает сбои сервера и возобновляет работу |
| Observability | Поддержка OpenTelemetry, Braintrust, Sentry |
| Channels | Slack, Teams, Discord, GitHub и другие платформы |
Агенты не умирают при падении сервера: Flue записывает каждую сессию в durable stream, а затем безопасно возобновляет прерванную работу при восстановлении runtime.
Пакеты и деплой
Flue — это полноценный runtime-agnostic фреймворк: напишите один раз и деплойте агентов куда угодно — Node.js, Cloudflare, GitHub Actions, GitLab CI/CD и другие платформы.
Фреймворк состоит из нескольких npm-пакетов:
| Пакет | Назначение |
|---|---|
@flue/runtime | Ядро: harness, сессии, инструменты, sandbox |
@flue/cli | CLI и инструменты сборки (бинарник flue) |
@flue/sdk | Client SDK для потребления задеплоенных агентов |
@flue/opentelemetry | Адаптер трассировки OpenTelemetry |
@flue/postgres | Адаптер персистентности на базе Postgres |
npm install @flue/runtime
npm install --save-dev @flue/cli
npx flue init --target node
Затем запустите flue dev --target node для локального dev-сервера на порту 3583.
Почему это важно для отрасли
«Flue — первый фреймворк, который воспринимает agent harness как полноценную цель сборки, а не как маркетинговое описание чего-то другого.»
До появления Flue все TypeScript-фреймворки в этой области — Mastra, Vercel AI SDK, LangGraph.js, Genkit — воспринимали слои harness как сантехнику: необходимую, но собираемую пользователем самостоятельно.
Flue открыт на каждом уровне — модели, sandbox и деплой — поэтому вы никогда не окажетесь в lock-in. Многие фреймворки и SDK закрыты в каком-то направлении: предполагают собственные модели, работают только в своём sandbox или деплоятся только в свой облачный сервис.
В версии 1.0 Beta появились расширенная наблюдаемость, новые адаптеры баз данных (MySQL, Redis, MongoDB, Supabase), поддержка изображений на входе агентов и npm-импортируемые skills.
За первые сутки после анонса проект собрал 2 394 лайка, 3 342 закладки и 333 283 показа в твиттере. GitHub-репозиторий набрал 791 звезду, а @flue/cli вышел на 4 300 еженедельных загрузок.
Исходный код доступен на GitHub, документация — на flueframework.com.