综合介绍
Cloudflare Agents 是 Cloudflare 推出的一款开源开发框架,旨在帮助开发者在全球边缘网络上构建智能AI代理。它让代理具备状态持久化、实时通信和自主运行的能力,目前项目处于活跃开发阶段。核心功能包括状态管理和WebSocket实时交互,已可用于创建聊天机器人或自动化任务工具。Cloudflare Agents 的目标是打造一个分布式的智能代理系统,代理可以在全球范围内运行,支持休眠和唤醒机制。开发者可以通过简单的安装步骤加入这个开源项目,共同推动AI技术的发展。
功能列表
- 核心代理框架:提供状态管理功能,代理可以记住历史交互数据。
- 实时通信:通过WebSocket支持代理与客户端的即时对话。
- HTTP路由:处理网络请求,便于与外部服务对接。
- React集成:内置React钩子,方便前端开发者使用。
- 基础AI聊天:支持构建简单的智能对话系统。
- 开发中功能:包括高级记忆系统、WebRTC音视频支持和电子邮件功能。
使用帮助
Cloudflare Agents 是一个面向开发者的工具,使用前需要基本的编程知识。以下是详细的安装和操作指南,帮助你快速上手并充分利用它的功能。
安装流程
Cloudflare Agents 通过 npm 安装,支持新建项目或添加到现有项目。以下是具体步骤。
新建项目
- 检查环境
确保电脑已安装 Node.js(建议16或更高版本)和 npm。打开终端,输入node -v
和npm -v
查看版本号。 - 创建项目
在终端运行以下命令:
npm create cloudflare@latest -- --template cloudflare/agents-starter
系统会提示输入项目名称和选择目录,完成后生成一个基础项目。
3. 进入项目目录
输入 cd 你的项目名称
进入新建的项目文件夹。
4. 启动本地开发
运行:
npm run dev
这会启动本地服务器,你可以通过浏览器访问本地地址(通常是 http://localhost:8787
)查看效果。
添加到现有项目
- 进入项目目录
在终端用cd
命令切换到你的现有项目文件夹。 - 安装SDK
输入:
npm install agents-sdk
这会将 Cloudflare Agents 的核心库添加到项目中。
3. 配置代码
在代码中引入 agents-sdk
,具体用法参考官方文档。
主要功能操作
创建一个简单的AI聊天代理
- 编写代理代码
在项目中创建一个文件(如worker.ts
),输入以下代码:
import { Agent } from "agents-sdk";
export class ChatAgent extends Agent {
async onRequest(request) {
const message = await request.text();
return new Response(`你说:${message}`);
}
}
这个代理会简单地回复用户输入的内容。
2. 部署到Cloudflare
在终端运行:
npx wrangler@latest deploy
按提示登录 Cloudflare 账户,完成部署后会返回一个在线URL。
3. 测试功能
用浏览器访问部署后的URL,或者用工具(如Postman)发送消息,检查回复是否正常。
使用WebSocket实现实时通信
- 配置WebSocket支持
修改代理代码,加入实时通信功能:import { Agent } from "agents-sdk"; export class RealTimeAgent extends Agent { async onConnect(connection) { connection.send("已连接!"); } async onMessage(connection, message) { connection.send(`收到消息:${message}`); } }
- 前端连接代理
在前端代码中添加:const ws = new WebSocket("wss://你的代理URL"); ws.onmessage = (event) => console.log(event.data); ws.send("你好");
这会建立一个实时通信通道,发送消息后立即收到回复。
- 运行测试
部署后,用浏览器开发者工具的控制台运行前端代码,查看消息交互效果。
管理代理状态
- 保存和更新状态
在代理中加入状态管理:export class StateAgent extends Agent { async onRequest(request) { this.state.count = (this.state.count || 0) + 1; return new Response(`访问次数:${this.state.count}`); } }
- 验证状态持久化
部署后多次访问代理URL,观察计数是否持续增加,证明状态被保存。 - 应用场景
状态管理适合需要记录历史的场景,比如用户交互次数或任务进度。
操作流程详解
- 本地调试:运行
npm run dev
启动开发模式,代码修改后自动更新,方便测试。 - 部署上线:用
npx wrangler@latest deploy
将代理发布到 Cloudflare 全球网络。 - 查阅文档:访问 官方文档 获取更多代码示例和API详情。
- 社区参与:如果有改进建议,可以在 GitHub 上提交问题或代码,参与项目开发。
注意事项
- 环境变量:如果需要调用外部AI模型(如OpenAI),要在
wrangler.toml
文件中配置API密钥。 - 网络要求:部署需要稳定的网络连接,确保登录 Cloudflare 时没有中断。
- 学习资源:官方提供 Playground 示例(位于 GitHub 仓库的
examples/playground
),可以直接运行参考。
通过以上步骤,你可以轻松搭建一个AI代理。Cloudflare Agents 的优势在于它的全球分布式部署和状态持久化功能,适合需要低延迟和高可用性的应用场景。