A 速查表
| 能力 | 入口 | 关键 API |
|---|---|---|
| 定义 Agent | class X extends Agent |
initialState, setState, this.sql |
| 实时方法 | @callable() |
agent.stub.xxx() |
| 路由 | routeAgentRequest |
getAgentByName |
| 聊天 | AIChatAgent |
onChatMessage, useAgentChat |
| 调度 | this.schedule |
scheduleEvery, listSchedules |
| 子 Agent | this.subAgent |
parentAgent, onBeforeSubAgent |
| 持久执行 | runFiber |
ctx.stash, onFiberRecovered |
| 工作流 | AgentWorkflow |
step.do, waitForApproval |
| MCP 客户端 | addMcpServer |
this.mcp.getAITools() |
| MCP 服务器 | McpAgent |
MyMcp.serve("/") |
| 浏览器 | createBrowserTools |
cdp.send |
| 沙箱 | getSandbox |
sandbox.exec |
| AI 搜索 | AI_SEARCH |
search, chatCompletions |
| 支付 | x402/MPP | withX402, paidTool |
| 观测 | subscribe |
Tail Worker |
B 常见错误与解决
| 错误 | 原因 | 解决 |
|---|---|---|
No such Durable Object class |
类没同时进 binding 和 migration | 两处都加 |
@callable 方法调不动 |
装饰器没转译 | 检查 agents() 插件、别开 experimentalDecorators |
| 状态不广播 | 直接改 this.state |
用 setState |
| 历史不落盘 | 漏 new_sqlite_classes |
补 migration |
| MCP 连接报已连接 | 复用 McpServer 实例 | 每次请求 new 一个 |
| Fiber 恢复乱 | 恢复逻辑写在 lambda 里 | 移到 onFiberRecovered |
| 浏览器重放乱 | CDP Promise.all |
改顺序调用 |
C 学习路径建议
第一步:跑通 §02 计数器,理解状态与广播。
第二步:做 §08 聊天 Agent,接工具和审批。
第三步:加 §12 调度,让 Agent 自动跑。
第四步:试 §15 浏览器 / §17 MCP,接外部世界。
第五步:读源码 cloudflare/agents 的 examples/,每个 demo 都是宝藏。
标叔出品 | AI Native Coder · 独立开发者 公众号「标叔」| B站「Liangdabiao」 代表作:Claude Code从入门到精通 · OpenClaw橙皮书 · Hermes Agent从入门到精通 · EdgeOne Makers从入门到精通 · Cloudflare Agents从入门到精通