{"slug": "flue-1-0-beta", "title": "Flue 1.0 Beta", "summary": "Flue 1.0 Beta is now available, introducing new primitives including autonomous agents, deterministic AI workflows, channels for integrating with Slack and GitHub, and durable agents that recover from downtime. The TypeScript framework aims to be the best open-source solution for building autonomous agents with zero lock-in, backed by a developer experience designed by the creators of Astro.", "body_md": "**Flue 1.0 Beta is available today!** Flue’s core primitives — agents, workflows, sandboxes, channels — have come together into a cohesive story of what Flue is, why it matters, and why Flue is the best OSS framework available today for building autonomous agents and workflows with zero lock-in.\n\nNew primitives include:\n\n— autonomous agents + deterministic AI workflows.[Agents & Workflows](#introducing-agents)— drop your agents into Slack, GitHub, Linear, and more.[Channels](#introducing-channels)— frontend UI for your Flue agents and workflows.[@flue/react](#introducing-fluereact)— a revamped client for interacting with Flue.[@flue/sdk](#introducing-fluereact)— agents recover from downtime and resume.[Durable Agents](#building-durable-agents-with-flue)— support for OpenTelemetry, Braintrust, Sentry, and more.[Observability](#road-to-10)— offline docs for your coding agents and more.[New CLI commands](#road-to-10)\n\n**ICYMI: Flue is a TypeScript framework for building the next generation of agents.** Connect any LLM, build your agent, and deploy it anywhere. It’s all backed by a best-in-class DX, designed by the creators of [Astro](https://astro.build/).\n\nTry out Flue today. Pass along the prompt below to your coding agent to have it help scaffold your first Flue project for you:\n\nRead https://flueframework.com/start.md then help create my first agent...\n\nRead our [Getting Started](/docs/getting-started/quickstart/) guide for full details.\n\n## Introducing: Agents\n\nFlue originally launched with a simple programmable TypeScript harness, built on top of [Pi](https://pi.dev/). Flue’s deterministic approach to agent orchestration turned out to be great for background work — structured automations we now call [Workflows](/docs/guide/workflows/). Workflows are where your trusted code drives the model from start to finish:\n\n```\n// src/workflows/summarize.ts\n// HTTP - POST /workflows/summarize\n// CLI  - flue run summarize --payload='{\"text\": \"Lorem ipsum...\"}'\n\nconst writer = createAgent(() => ({ model: 'anthropic/claude-sonnet-4-6' }));\n\nexport async function run({ init, payload }: FlueContext) {\n\tconst harness = await init(writer);\n\tconst session = await harness.session();\n\tconst response = await session.prompt(`Summarize: ${payload.text}`);\n\treturn { summary: response.text };\n}\n```\n\nWe launched Workflows back in May. But what people wanted to build with Flue was more ambitious: fully autonomous agents. Workflows gave you greater control over exact behavior and data access, but those limits came at a cost. So today we’re introducing an [Agent](/docs/guide/building-agents/) primitive for building fully stateful, autonomous agents with Flue:\n\n```\n// src/agents/triage.ts\n// HTTP - POST /agents/triage/:id\n// CLI  - flue connect triage\n\n// Expose (and protect) your agent over the internet.\nexport const route = async (_c, next) => next();\n\n// Compose your agent with the context it needs to be successful.\nexport default createAgent(() => ({\n\tmodel: 'anthropic/claude-sonnet-4-6',\n\ttools: [...githubTools],\n\tskills: [triage, verify],\n\tsandbox: local(),\n\tinstructions,\n}));\n```\n\nInstead of writing an exact workflow yourself, Flue agents only need *context*. Define the context — model, tools, skills, sandbox, instructions, subagents — and then watch your agent solve whatever task you give it, autonomously.\n\nAgents and workflows are two sides of the same coin. Both share a common foundational core but serve different needs:\n\n- Agents solve open-ended problems on their own.\n- Workflows run the exact steps you define.\n\nNow you can mix and match both primitives to build fully autonomous loops within your repo, company, and hosted products.\n\n## Introducing: Channels\n\n[Channels](/docs/guide/channels/) connect your agents to external sources like Slack, GitHub, Linear, and more. A channel handles the incoming events and verification boilerplate so that you don’t have to.\n\nA channel lives in the `channels/`\n\ndirectory. Packages like `@flue/slack`\n\nand `@flue/stripe`\n\ncome preconfigured to help you connect to these platforms, but you are also able to build your own custom channels if needed.\n\nHere’s an agent hooked up to answer Slack mentions. The channel verifies the event, and then dispatches the request to a new instance of the `assistant`\n\nagent:\n\n``` js\n// src/channels/slack.ts\nimport { dispatch } from '@flue/runtime';\nimport { createSlackChannel } from '@flue/slack';\nimport assistant from '../agents/assistant.ts';\n\nexport const channel = createSlackChannel({\n\tsigningSecret: process.env.SLACK_SIGNING_SECRET!,\n\tasync events({ payload }) {\n\t\tconst event = payload.event;\n\t\tawait dispatch(assistant, {\n\t\t\tid: event.channel,\n\t\t\tinput: { type: 'slack.mention', text: event.text },\n\t\t});\n\t},\n});\n```\n\nThe same pattern works across Flue’s growing set of first-party channels, so your agents can meet users wherever work already happens.\n\n[[Browse]](/docs/ecosystem/)\n\n## Building an AI-First Flue Ecosystem\n\nUntil recently, extending a framework like Flue required third-party packages, multi-step guides, and rigid codemods. These tools could automate a few predetermined changes, but the difficult work still fell to you: understanding the instructions, adapting them to your project, and finishing everything the installer could not.\n\nCoding agents changed everything, so we designed Flue to take advantage. `flue add`\n\ngives your agent a Markdown blueprint with the context and instructions needed to complete an integration end-to-end. Your agent can understand the goal, work within your actual codebase, and make the project-specific decisions that a traditional installer cannot.\n\n```\nflue add channel slack\nflue add channel linear\nflue add sandbox daytona\nflue add database postgres\nflue add tooling opentelemetry\n```\n\nChoose what you need, then let your coding agent connect it intelligently to the project you already have. `flue add`\n\nworks with your coding agent of choice. Upgrade an existing integration with `flue update`\n\n.\n\nIt’s like [shadcn](https://ui.shadcn.com/), for your agents.\n\n## Introducing: @flue/react\n\n`@flue/react`\n\nmakes it easy to build frontend experiences around your agents. The `useFlueAgent()`\n\nand `useFlueWorkflow()`\n\nhooks stream live data straight into your React app, with no realtime plumbing required to write yourself.\n\n``` js\nimport { createFlueClient } from '@flue/sdk';\nimport { FlueProvider, useFlueAgent } from '@flue/react';\n\n// Wrap your app once:\n// <FlueProvider client={client}><Chat /></FlueProvider>\nconst client = createFlueClient({ baseUrl: '/api' });\n\nfunction Chat() {\n\tconst { messages, status, sendMessage } = useFlueAgent({\n\t\tname: 'triage',\n\t\tid: 'ticket-8472',\n\t});\n\t// ...\n}\n```\n\nFlue 1.0 Beta also comes with a revamped `@flue/sdk`\n\nto talk to deployed Flue agents from anywhere: a React frontend, another service, or one-off scripts.\n\nReact was our first UI library integration, but it won’t be our last. Vue and Svelte adapters are already prototyped and coming soon.\n\n## Building Durable Agents with Flue\n\nBuilding a demo agent is easy. Building for production is not. Servers restart, providers time out, and eventually you’ll have to handle tool call interrupts and data loss. A durable agent is an agent that can handle all of this and recover, without losing history or making things worse.\n\nTo deliver durability, we decided to lean on a foundation of battle-tested software. Flue is powered by [Vite](https://vite.dev) for the build, [Pi](https://pi.dev) for the harness, and [Durable Streams](https://durablestreams.com/) for the proven event transport protocol that every Flue agent speaks.\n\nUnderneath it all, Flue borrows a hard-won lesson from databases and distributed systems: the source of truth is the log. Durable Streams give us a guaranteed append-only record of everything an agent sees: every human prompt, model response, and tool result is recorded to a durable, replayable stream.\n\nThat’s the secret. When a process dies, another can pick up the log and continue from the last step, so a hard restart doesn’t drop your user’s conversation.\n\nToday, Flue agents scale as needed on Cloudflare. When building for Node.js, Flue still runs on a single node, but we plan to support multi-node (horizontally scaled) deployments before the stable 1.0 release.\n\n## Road to 1.0\n\nWe landed much, much more in 1.0 Beta than we could cover here: expanded observability, new database adapters (MySQL, Redis, MongoDB, Supabase), image inputs for agents, npm-importable skills, and new CLI commands like offline docs your coding agent can search. The full list is in the [Changelog](https://github.com/withastro/flue/blob/main/CHANGELOG.md).\n\nFrom here, the road to 1.0 is about polish, documentation, and listening to your feedback. There will still be the occasional breaking change, but far fewer than before. The shape of Flue is feeling solid.\n\nFlue began as the engine for AI workflows inside the Astro repo. It grew into something we think every team building agents will want, not just us. Thank you to everyone who tried the early releases and helped us figure out what Flue is!\n\nThe best way to understand Flue is to build with it. Hand the prompt below to your coding agent to scaffold your first project:\n\nRead https://flueframework.com/start.md then help create my first agent...\n\nPrefer to set things up yourself? Install the packages and initialize a project:\n\n```\nnpm install @flue/runtime\nnpm install -D @flue/cli\nnpx flue init\n```\n\nRead the full [Quickstart](/docs/getting-started/quickstart/) for more details.\n\n**Want to help support the project?** Star us on [GitHub](https://github.com/withastro/flue), it’s the easiest way to show your support and help us grow!\n\n**Want to follow along?** Follow [@FredKSchott](https://x.com/FredKSchott) for more tips and dev updates.", "url": "https://wpnews.pro/news/flue-1-0-beta", "canonical_source": "https://flueframework.com/blog/flue-1-0-beta/", "published_at": "2026-06-16 23:47:13+00:00", "updated_at": "2026-06-17 00:22:50.410753+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-infrastructure", "ai-tools", "ai-startups"], "entities": ["Flue", "Astro", "Pi", "Slack", "GitHub", "Linear", "Anthropic", "Claude"], "alternates": {"html": "https://wpnews.pro/news/flue-1-0-beta", "markdown": "https://wpnews.pro/news/flue-1-0-beta.md", "text": "https://wpnews.pro/news/flue-1-0-beta.txt", "jsonld": "https://wpnews.pro/news/flue-1-0-beta.jsonld"}}