快速开始
Flue 是一个开源智能体框架,由 Astro 的创建者开发。使用类似 React 的 hooks API,在 TypeScript 中使用你喜欢的 LLM 构建智能体。在本地运行或部署到任何地方:Node.js、Cloudflare、GitHub Actions、GitHub CI/CD 等。
前置条件
- Node.js — 最低版本要求
>=22.19.0。 - LLM — 连接到你喜欢的模型提供商所需的 API 密钥。Flue 基于 Pi 构建,开箱即用地支持所有 Pi 提供商。Flue 的Cloudflare 运行时提供内置的
cloudflare/*AI 网关,无需 API 密钥。
自动安装
Read https://flueframework.cn/start.md then help create my first agent...
复制此提示并粘贴到你的编码智能体中。你的智能体将引导你在新项目或现有项目中设置智能体,并帮助你解答过程中遇到的任何问题。
你的编码智能体将运行 flue init 在你选择的目录中自动初始化一个新的 Flue 项目。如果你愿意,也可以自己运行此命令。
手动安装
强烈推荐大多数用户使用上面的 AI 引导提示。如果你更喜欢自己设置,请按照以下步骤操作。
在新目录中,安装运行时和 CLI:
npm install @flue/runtime @flue/cli
然后,创建一个基本的 flue.config.ts 文件:
import { defineConfig } from '@flue/runtime/config';
export default defineConfig({
target: 'node', // 或 'cloudflare'
});最后,创建你的第一个 src/agents/assistant.ts:
// 'use agent' 指令将下面的 Assistant() 函数标记为 Flue 智能体。
'use agent';
import { useModel } from '@flue/runtime';
// 这是你的第一个智能体:Assistant。
// 它的返回值是智能体的指令,这些指令会成为智能体的"系统"指令。
// 像 useModel() 这样的 Flue Hooks 允许你自定义和修改智能体的能力。
export function Assistant() {
useModel('anthropic/claude-haiku-4-5');
return '你是一个有用的助手。回复要简短。';
}恭喜,你刚刚构建了你的第一个智能体!从这里你可以塑造它的行为并添加能力——或者继续前进,将它放到真实的服务器后面。
你可以使用 Pi 支持的任何模型/提供商。在上面的示例中,我们使用 Claude Haiku。无论你选择哪个,请确保向智能体运行时提供所需的 API 密钥。建议使用 .env 文件来管理你的 API 密钥:
# .env
ANTHROPIC_API_KEY="your-api-key"
在本地运行你的智能体
你现在可以从终端启动新的智能体,在本地机器上运行:
npx flue run src/agents/assistant.ts --message "Say hello in five words or fewer."
智能体是可寻址的,因此你可以通过传递智能体 ID(--id)与特定智能体进行消息交互。智能体对话是持久的——第二条消息会记住第一条。请参阅 flue run 了解完整的标志集。
npx flue run src/agents/assistant.ts --id hello-1 --message "What's a good name for a pet crab?"
npx flue run src/agents/assistant.ts --id hello-1 --message "Give me three more."
恭喜!你刚刚运行了你的第一个 Flue 智能体。你可以使用 flue run 在本地机器上运行智能体,或在 CI 环境中运行,如 GitHub Actions 和 GitLab CI/CD。
部署你的智能体
要远程托管你的智能体,你需要部署它。Flue 使用 Hono 和 Vite 分别为其服务器框架和构建流水线提供支持。请按照以下步骤为部署构建你的智能体。
1. 安装依赖
npm install @flue/vite hono vite
2. 配置项目
在项目根目录创建两个小的配置文件:
import { flue } from '@flue/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [flue()],
});如果你要部署到 Cloudflare,那么你还应该安装 @cloudflare/vite-plugin 并在 Vite 插件数组中的 flue() 之后添加 cloudflare()。请参阅Cloudflare 运行时指南了解更多信息。
3. 构建你的应用路由
src/app.ts 是你的 Flue 应用路由所在的特殊文件。创建你的 Hono 应用实例,挂载你的智能体,并导出它以便构建过程能够识别。
import { createAgentRouter } from '@flue/runtime/routing';
import { Hono } from 'hono';
import { Assistant } from './agents/assistant.ts';
// 1. 创建你的 Hono 应用实例。
const app = new Hono();
// 2. 定义你的智能体路由。
app.route('/agents/assistant', createAgentRouter(Assistant));
// 3. 导出你的应用。
export default app;createAgentRouter() 辅助函数将定义和挂载你的智能体路由:POST /:id、GET /:id、POST /:id/abort 等。请参阅路由了解 Flue 中路由工作原理的完整演练。
4. 启动开发服务器
如前所述,Flue 利用 Vite 来支持其开发和构建流水线。要启动你的开发服务器,请运行 vite dev:
npx vite dev
Vite 启动你的 app.ts(默认在 http://localhost:5173)应用程序,并在你定义的路由上提供你的智能体服务。通过向你的智能体发送消息来测试你的设置——每条消息一个 POST,接收时返回 202:
curl -X POST http://localhost:5173/agents/assistant/hello-1 \
-H 'content-type: application/json' \
-d '{"kind":"user","body":"Tell me a joke."}'
URL 中的 hello-1 是智能体 ID,与你上面传递给 flue run 的 --id 相同。使用 curl "http://localhost:5173/agents/assistant/hello-1?view=history" 读回对话,或在你准备好构建真实产品体验时使用Flue 智能体 SDK和React hooks。
vite build 将为 "node" 运行时目标生成可运行的 dist/server.mjs 构建输出,或在配置了 "cloudflare" 运行时目标时生成可部署的 Cloudflare Worker。
恭喜,你已经完成了我们的快速入门指南!你已经创建了你的第一个 Flue 智能体,在本地运行了它,并成功为生产环境构建了它。