用途:在 Cloudflare Workers 上构建有状态 AI 智能体,适合需要持久状态、实时通信、后台任务与工具集成的场景。
主要能力:SQLite 持久状态并通过 setState 自动同步客户端;@callable() 可调用 RPC(支持流式与超时);schedule()、scheduleEvery() 与 cron 定时任务;AgentWorkflow 持久多步工作流;runFiber()/stash() 持久执行以应对 DO 驱逐;内置 FIFO 队列与 this.retry() 指数退避重试;MCP 客户端与 McpAgent 服务端;邮件收发与安全路由;AIChatAgent 流式聊天、可恢复流与消息持久化;服务端主动消息;React hooks(useAgent、useAgentChat);诊断通道可观测性;Web Push 推送与 Webhook 接收;实验性语音、浏览器工具与 Think。
使用方式:先确认安装 npm ls agents,未安装则 npm install agents;聊天智能体需 npm install agents @cloudflare/ai-chat ai @ai-sdk/react。在 wrangler.jsonc 配置 compatibility_flags 的 nodejs_compat、durable_objects 绑定与 migrations(new_sqlite_classes)。定义继承 Agent 的类,设置 initialState,用 @callable() 暴露方法,默认导出 fetch 使用 routeAgentRequest 路由。请求路径为 /agents/{agent-name}/{instance-name},客户端用 useAgent({ agent, name }) 连接。
限制与注意:不要在 tsconfig 启用 experimentalDecorators(会破坏 @callable);不要修改旧迁移,始终新增 tag;每个智能体类需独立 DO 绑定与迁移条目;使用 Workers AI 需添加 "ai": { "binding": "AI" }。语音、浏览器工具与 Think 为实验性。具体配置与 API 细节以 Cloudflare 官方文档为准。