flue  by withastro

TypeScript framework for building autonomous agents

Created 2 months ago
1,761 stars

Top 23.9% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Flue is a TypeScript framework providing a headless, programmable agent harness for building autonomous AI agents. It targets developers familiar with LLM interfaces, offering a runtime-agnostic solution deployable across Node.js, Cloudflare, and CI. Flue streamlines agent development by defining core logic, skills, and context primarily in Markdown, reducing boilerplate and enabling rapid iteration.

How It Works

Flue uses a built-in agent harness and runtime-agnostic architecture. Agents are orchestrated via TypeScript, with intelligence largely defined in Markdown. It offers flexible sandboxing: a default, high-performance virtual sandbox (just-bash) for speed/scalability, or full container sandboxes (e.g., Daytona) for complex environments. This abstracts LLM interactions and infrastructure, focusing developers on agent behavior.

Quick Start & Requirements

Installation uses standard Node.js package management (npm install @flue/sdk @flue/cli @flue/connectors). Development uses flue dev (watch) and flue run (CLI); production builds use flue build. Cloudflare deployment requires wrangler. LLM model access and API keys are necessary.

Highlighted Details

  • Virtual Sandboxes: Default just-bash sandbox offers superior speed, cost-efficiency, and scalability.
  • Filesystem Integration: Mounts external storage (e.g., R2 buckets) for knowledge bases.
  • CI/CD & Local Dev: 'local' sandbox securely integrates privileged CLIs (gh, npm, git) via host filesystem mounting.
  • Container Sandboxes: Integrates with Daytona for full Linux environments with persistent filesystems.
  • Remote MCP Tools: Connects to and utilizes tools from remote MCP servers securely.
  • Agent/Session Persistence: Agents manage sandbox state; sessions persist message history (Cloudflare Durable Objects).
  • Task Delegation: session.task() spawns focused child agents for parallel work.
  • Role-Based Prompting: Dynamically applies system prompts via roles at agent, session, or call levels.

Maintenance & Community

Marked as "Experimental — Flue is under active development. APIs may change." No specific community channels or contributor details are provided.

Licensing & Compatibility

The README does not specify a software license, presenting a significant adoption blocker for commercial use or integration, requiring clarification.

Limitations & Caveats

The framework is experimental, with potential for breaking API changes. The lack of a defined license is critical. Agents depend on external LLM providers, requiring API key management and incurring costs. Transport mechanisms for remote connections require explicit configuration.

Health Check
Last Commit

2 hours ago

Responsiveness

Inactive

Pull Requests (30d)
11
Issues (30d)
17
Star History
1,686 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.