© 2026FindAgent  · @simprr
返回列表
c

cloudflare/agents

Build and deploy AI Agents on Cloudflare

agentsaicloudflaredurable-objectsworkflows
⭐

4.6k

Stars

🔱

469

Forks

👁

33

Watchers

📋

61

Issues

TypeScriptMIT创建于 2025/1/29更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

Cloudflare Agents

npm version npm downloads

npm install agents

Agents(智能体)是专为智能体工作负载设计的持久化、有状态执行环境,由 Cloudflare Durable Objects 提供支持。每个 Agent 都拥有独立的状态、存储和生命周期,并内置了对实时通信、任务调度、AI 模型调用、MCP、工作流等功能的支持。

Agent 在空闲时会自动进入休眠状态,并在需要时按需唤醒。你可以运行数以百万计的 Agent——例如为每个用户、每次会话或每个游戏房间分配一个——且在不活跃时完全零成本。

npm create cloudflare@latest -- --template cloudflare/agents-starter

或者添加到现有项目中:

npm install agents

阅读文档 — 了解入门指南、API 参考、操作手册等更多信息。

快速示例

以下是一个具有持久化状态、可调用方法,并可与 React 前端实时同步的计数器 Agent:

// server.ts
import { Agent, routeAgentRequest, callable } from "agents";

export type CounterState = { count: number };

export class CounterAgent extends Agent {
  initialState = { count: 0 };

  @callable()
  increment() {
    this.setState({ count: this.state.count + 1 });
    return this.state.count;
  }

  @callable()
  decrement() {
    this.setState({ count: this.state.count - 1 });
    return this.state.count;
  }
}

export default {
  async fetch(request: Request, env: Env, ctx: ExecutionContext) {
    return (
      (await routeAgentRequest(request, env)) ??
      new Response("Not found", { status: 404 })
    );
  }
};
// client.tsx
import { useAgent } from "agents/react";
import { useState } from "react";
import type { CounterAgent, CounterState } from "./server";

function Counter() {
  const [count, setCount] = useState(0);

  const agent = useAgent({
    agent: "CounterAgent",
    onStateUpdate: (state) => setCount(state.count)
  });

  return (
    
      {count}
       agent.stub.increment()}>+
       agent.stub.decrement()}>-
    
  );
}

状态变更会自动同步至所有已连接的客户端。调用方法就像调用本地函数一样简单。

功能特性

功能特性描述
持久化状态同步至所有已连接客户端,且在重启后依然留存
可调用方法通过 @callable() 装饰器实现的类型安全 RPC
任务调度支持一次性、周期性及 cron 表达式任务
WebSockets具备生命周期钩子的实时双向通信
AI 聊天消息持久化、可恢复的流式传输、服务器/客户端工具执行
MCP可作为 MCP 服务器,也可作为 MCP 客户端连接其他服务
工作流支持包含人工介入审批的持久化多步骤任务
邮件通过 Cloudflare Email Routing 接收和响应邮件
代码模式 (Code Mode)让 LLM 生成可执行的 TypeScript 代码,而非单独的工具调用
SQL通过 Durable Objects 进行直接 SQLite 查询
React Hooks提供 useAgent 和 useAgentChat 用于前端集成
原生 JS 客户端为非 React 环境提供 AgentClient

即将推出: 实时语音 Agent、网页浏览(无头浏览器)、沙盒代码执行以及多渠道通信(短信、即时通讯软件)。

软件包

软件包描述
agents核心 SDK — Agent 类、路由、状态、调度、MCP、邮件、工作流
@cloudflare/ai-chat高阶 AI 聊天 — 持久化消息、可恢复流式传输、工具执行
hono-agents用于将 Agent 添加到 Hono 应用的中间件
@cloudflare/codemode实验性功能 — 让 LLM 编写可执行代码来编排工具

示例

examples/ 目录包含了涵盖大部分 SDK 功能的独立演示程序,包括 MCP 服务器/客户端、工作流、邮件 Agent、Webhooks、井字棋游戏、可恢复流式传输等。playground 是一个集大成的展示项目,在一个界面中整合了所有功能。

贡献者
twgmddgMjc
项目信息
默认分支main
LicenseMIT License
创建时间2025/1/29
最近更新今天
GAI 中文摘要

Cloudflare Agents 是一个基于 TypeScript 构建的开发框架,旨在 Cloudflare Durable Objects 之上提供持久化、状态化的 AI 智能体运行环境。它通过自动化的生命周期管理,让开发者能够轻松构建具备记忆存储、实时通信及工作流处理能力的智能体应用。

框架支持类型安全的远程过程调用,允许像调用本地函数一样与智能体进行交互。系统具备强大的持久化状态同步能力,可自动将数据状态同步至所有连接的客户端。内置的任务调度系统支持一次性、循环及定时任务处理。集成 AI 对话与工具执行功能,支持处理复杂的多步工作流及人工介入审批流程。通过 WebSocket 提供双向实时通信,并原生支持 MCP 协议以便进行生态互联。

该项目适用于需要大规模部署智能体服务、实时性要求高或具备复杂状态管理的 AI 应用场景,非常适合开发者为每个用户或会话创建专属的、闲置时无成本的智能化运行环境。