Flue:Astro 团队出品的无头可编程 AI Agent 框架

Flue 是 Astro 团队开源的 TypeScript Agent 框架:无头可编程设计——Agent 可由 API/Webhook/cron 触发无需人在场,提供会话管理、技能执行、沙箱与结构化输出,可部署到 Node.js 或 Cloudflare Workers。本文讲清 harness 理念与用法。

最佳实践
应用程序模块协作插画

直接回答:Flue 是 Astro 团队开源的 TypeScript Agent 框架(最初为自动化 Astro 自家 GitHub 仓库的 AI 工作流而生)。设计哲学是无头可编程:Agent 无需人类在场,由 API 调用、Webhook 或 cron 触发,可部署到 Node.js 或 Cloudflare Workers。

Harness 概念:LLM 只是引擎

Flue 文档把 AI Agent 定义为"跑在 harness 里的 LLM"。LLM 提供推理能力;harness 提供工具、上下文、记忆与环境——让 LLM 能与外部系统交互、完成任务。

没有 harness 的 LLM:响应单次 API 调用,无持久状态、无工具访问。Flue 就是可编程的 harness 层:会话管理、工具与技能执行、沙箱环境、结构化输出格式。

安装与初始化

在独立测试目录安装并按当前官方快速开始配置:

npm install @flue/runtime @flue/cli

flue.config.ts:

import { defineConfig } from '@flue/runtime/config';
export default defineConfig({ target: 'node' });

选择 Cloudflare 目标时另按部署指南配置 Vite 插件、资源与持久化。模型凭证仅保留在服务端,不提交 .env。

创建 Agent

当前 API 使用 Agent 函数与 hooks,不是旧 createAgent 配置。局部示例 src/agents/assistant.ts:

'use agent';
import { useModel } from '@flue/runtime';

export function Assistant() {
  useModel('anthropic/claude-haiku-4-5');
  return '请简短回答用户问题,不执行外部操作。';
}

按对应提供商配置可用凭证后:

npx flue run src/agents/assistant.ts --id demo-session --message "解释一次重试与幂等的关系"

示例来自当前接口形态,未在本轮运行。模型名需在所用渠道可用;会话持久化与恢复契约依部署目标配置。

工作流、沙箱与 HTTP 暴露

Flue 组织工具、技能、子 Agent 和会话,HTTP 路由及调度仍需配置。Webhook 要验证来源、去重与权限,不能因为无头运行就取消审批。

本地、虚拟或远程容器执行环境的隔离能力不同,应检查网络、文件和秘密访问。持久化不是无限 CPU 时间,也不使具有外部副作用的任务天然只执行一次。

适合谁

  • 已在使用 Astro 生态或偏好 TypeScript 全栈的团队
  • 需要把 Agent 嵌进 CI/CD、Webhook 自动化的开发者
  • 想要边缘部署(Cloudflare Workers)Agent 的场景

常见问题(FAQ)

Q:Flue 和 LangChain/LangGraph 的区别?
A:LangGraph 编排任务图,偏库;Flue 是带运行时与部署目标的完整框架——会话、沙箱、HTTP 端点开箱即用,理念更接近"Agent 的 Web 框架"。

Q:必须用 Claude 吗?
A:不锁定。model 字段可配置其他提供方,按环境变量里的 API key 路由。

Q:Cloudflare Workers 部署有什么限制?
A:受 Workers 的 CPU 时间与请求时长限制,长任务要拆步或借 Durable Objects 做状态续跑——还需按对应目标的持久化和恢复契约配置;Durable Objects 不是无限运行或任意副作用自动回滚。

参考资料

资料核对日期:2026 年 9 月 29 日。本文基于公开文档整理,代码片段和评估方案未作独立运行或性能验证;厂商测试结果已注明来源。

延伸阅读

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台