跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

agents-sdk · 构建有状态的云端代理应用

使用 Cloudflare Agents SDK 实现、排错或审查代理服务。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

编辑构造材料(未运行):
已有 Env 类型和 Agent 绑定;新增 count 状态默认 0,服务端方法 increment 每次加 1;暂不开放客户端 RPC。

输出

编辑示例 · 未运行

import { Agent } from "agents";

type State = { count: number };

export class Counter extends Agent<Env, State> {
  initialState: State = { count: 0 };

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

Env 来自现有项目;这是类的实现片段,路由、绑定和身份检查仍需按项目配置。

方法说明

使用 Cloudflare Agents SDK 实现、排错或审查代理服务。

具体任务

给代理实现可持久保存的计数状态:使用 Cloudflare Agents SDK 实现、排错或审查代理服务。

必需材料

Workers 项目及 agents 版本

要持久化的状态与允许操作

可选材料

客户端通信方式

现有 Durable Object 绑定

使用门槛

了解 TypeScript、Workers 绑定和基本状态管理。

这个 Skill 额外提供的方法

先检查包与配置,再用 Agent state/setState 管理持久状态,按 routing/callable 等参考暴露接口。

编辑示例(未运行)

给代理实现可持久保存的计数状态

任务:给代理实现可持久保存的计数状态

输入:
编辑构造材料(未运行):
已有 Env 类型和 Agent 绑定;新增 count 状态默认 0,服务端方法 increment 每次加 1;暂不开放客户端 RPC。

结果片段:
```typescript
import { Agent } from "agents";

type State = { count: number };

export class Counter extends Agent<Env, State> {
  initialState: State = { count: 0 };

  increment(): number {
    this.setState({ count: this.state.count + 1 });
    return this.state.count;
  }
}
```
Env 来自现有项目;这是类的实现片段,路由、绑定和身份检查仍需按项目配置。

这是依据固定入口方法撰写的编辑示例,没有运行上游 Skill 或访问真实账号。先检查包与配置,再用 Agent state/setState 管理持久状态,按 routing/callable 等参考暴露接口。

首次任务

请使用已安装的 agents-sdk Skill。
任务:给代理实现可持久保存的计数状态。

我的必需材料:
- Workers 项目及 agents 版本:[粘贴我的实际材料或路径;缺少时写明]
- 要持久化的状态与允许操作:[粘贴我的实际材料或路径;缺少时写明]

可选补充:
- 客户端通信方式:[可选,未提供时不要假定存在]
- 现有 Durable Object 绑定:[可选,未提供时不要假定存在]

请先确认材料是否足够,只处理我提供的范围。状态同步不替代身份与访问控制;对外 RPC、推送和 webhook 要分别校验授权,不把示例直接开放给任意客户端。交付可直接审阅的代码或查询片段,明确尚未执行或验证的部分。不要代入页面例子的虚构数据。
验收:
1. 状态初值与更新通过 SDK 接口实现。
2. 重连或实例恢复后状态行为有真实验证。
3. 对外调用先验证身份,不能因存在方法就允许所有人调用。

验收方法

状态初值与更新通过 SDK 接口实现。

重连或实例恢复后状态行为有真实验证。

对外调用先验证身份,不能因存在方法就允许所有人调用。

依赖与准备

需要完整 Skill 目录,保留 references/client-sdk.md、references/streaming-chat.md、references/state-scheduling.md、references/callable.md 等引用。需要 agents 包、Workers/TypeScript、Durable Object 绑定与 Wrangler;固定工具版本。若用 web-push,妥善管理 VAPID 私钥,不写入前端或日志。

使用边界

状态同步不替代身份与访问控制;对外 RPC、推送和 webhook 要分别校验授权,不把示例直接开放给任意客户端。

需要 Workers 开发环境、agents 包及 Cloudflare 授权;调用模型可能产生费用。

页面中的例子为编辑撰写,未运行上游 Skill;不代表平台兼容认证或生产实测。

排错

客户端看不到状态变化:检查绑定、实例名称和路由是否同一 Agent,再核对 SDK 状态订阅。

推送功能需要密钥:将 VAPID 私钥按秘密配置处理并限制推送接收方,审查固定 web-push/Wrangler 版本。

固定来源

https://github.com/cloudflare/skills/blob/626547c06881a20b3322bdc2ed6e6451b33a4fb6/skills/agents-sdk/SKILL.md

许可

Apache-2.0。许可原文:https://github.com/cloudflare/skills/blob/626547c06881a20b3322bdc2ed6e6451b33a4fb6/LICENSE

仓库热度

cloudflare/skills 仓库 2,944 Stars(2026-09-30 核验);这是父仓库指标,不是单个 Skill 的评分。