

















今天在 GitHub Trending 上看到一个有意思的项目:Flue,这是一个由Astro团队推出的Agent Harness框架,专注于帮助开发者构建真正自主的AI Agent,而不是简单的对话机器人。
早期的AI Agent大多基于原始的LLM API调用构建,这种方式只适用于简单的聊天机器人和脚本化任务。真正的自主Agent(如Claude Code、Codex)需要完全不同的架构——你给它们一个任务,而不是预定义的步骤序列,然后信任它们利用提供的上下文和工具来完成工作。
Flue正是为这种新一代自主Agent设计的框架,它提供了完整的TypeScript工具链,让任何模型都具备真正自主工作所需的上下文和环境。
Flue的核心架构围绕"Harness"概念构建——一个为Agent提供完整运行时环境的框架。从源码可以看到,它采用模块化设计:
// 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 verify from '../skills/verify/SKILL.md' with { type: 'skill' };
import * as githubTools from '../tools/github.ts';
export default createAgent(() => ({
model: 'anthropic/claude-sonnet-4-6',
tools: [...githubTools],
skills: [triage, verify],
sandbox: local(),
instructions,
}));
这个设计体现了几个关键思想:
从package.json可以看出项目结构:
{
"name": "flue",
"type": "module",
"license": "Apache-2.0",
"engines": {
"node": ">=22",
"pnpm": ">=11 <12"
}
}
主要包包括:
@flue/runtime:运行时核心,包含harness、sessions、tools、sandbox@flue/cli:命令行工具和构建/开发工具链@flue/sdk:客户端SDK,用于消费部署的Agent和Workflow@flue/opentelemetry:OpenTelemetry追踪适配器@flue/postgres:PostgreSQL持久化适配器"type": "module",完全拥抱现代JavaScript生态Flue支持多种沙箱环境:
import { local } from '@flue/runtime/node';
// 或使用远程容器
sandbox: local() // 本地沙箱
sandbox: docker() // Docker容器
sandbox: remote() // 远程沙箱
这确保Agent在隔离环境中执行代码,不会影响宿主系统。
# 克隆项目
git clone https://github.com/withastro/flue.git
cd flue
# 安装依赖
pnpm install
# 开发模式
pnpm dev
# 构建
pnpm build
# 测试
pnpm test
创建一个基础Agent:
// agents/hello.ts
import { createAgent } from '@flue/runtime';
export default createAgent(() => ({
model: 'anthropic/claude-sonnet-4-6',
instructions: `你是一个友好的助手,帮助用户解决问题。`,
tools: [],
skills: [],
}));
Flue官方示例展示了一个完整的Bug分类Agent:
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 default createAgent(() => ({
model: 'anthropic/claude-sonnet-4-6',
tools: [...githubTools],
skills: [triage, verify],
sandbox: local(),
instructions,
}));
这个Agent能够:
Flue支持将Agent暴露为HTTP服务:
export const route: AgentRouteHandler = async (_c, next) => next();
这使得Agent可以通过API调用,集成到任何应用中。
Flue支持多种部署平台:
问题:pnpm install报错
解决方案:
node -vpnpm -vpnpm store prune问题:Agent返回错误,无法执行工具
解决方案:
问题:Agent重启后丢失上下文
解决方案:
@flue/postgres问题:Agent响应缓慢
解决方案:
问题:TypeScript编译失败
解决方案:
# 检查类型
pnpm check:types
# 格式化代码
pnpm format
Flue代表了AI Agent开发的下一代范式——从简单的API调用转向完整的自主工作框架。其核心优势在于:
对于想要构建真正自主Agent的开发者,Flue提供了一个强大且灵活的起点。无论是自动化工作流、智能助手还是复杂的业务流程,Flue都能胜任。
项目地址:https://github.com/withastro/flue 文档:https://flueframework.com
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。