Downy:在 Cloudflare Workers 上搭建你的 AI 代理团队
一个普通人也能玩转的多智能体协作平台,无需服务器、无需 Docker、无需运维经验。
引言:一个普通开发者的 AI 代理梦(引言)
几个月前,我想给自己的项目配一个 AI 助手。不是那种聊聊天就完事的,而是能真正干活的那种——能搜索资料、能读写文件、能跑后台任务。
翻了一圈市面上的方案:OpenClaw 不错,但要自己搭服务器;AutoGPT 太重量级;LangChain 的生态太复杂。我只是个普通开发者,不想为了一个 AI 助手去学一套完整的 DevOps 技能栈。
直到我发现了 Downy。
二、Downy 是什么
Downy 是一个基于 Cloudflare Workers 的开源多智能体协作平台。简单说,它让你在几分钟内创建一支 AI 代理团队,每个代理都有自己的工作空间、独立的模型配置和对话历史。
项目地址:github.com/bensenescu/downy
核心特性一览
| 特性 | 说明 |
|---|---|
| 🧠 多代理架构 | 主代理(DownyAgent)+ 子代理(ChildAgent),每个独立运行、独立模型配置 |
| ☁️ 全托管 | 部署在 Cloudflare Workers 上,零服务器管理 |
| 🔐 安全认证 | Cloudflare Access 身份认证,邮箱 OTP 登录 |
| 🗂️ 文件系统 | 每个 Agent 拥有独立 R2 工作区,支持文件上传、代码读写 |
| 🔍 网络搜索 | 集成 Exa API,支持网页搜索和内容抓取 |
| 📋 后台任务 | 代理可以执行长期运行的后台任务 |
| 🤖 多模型支持 | Kimi、OpenRouter、ChatGPT Plus/Pro 等多种 LLM |
| 💬 实时对话 | 基于 WebSocket 的流式对话体验 |
技术架构
1 | ┌─────────────────────────────────────────────────┐ |
每个 Agent 都是一个独立的 Durable Object。这意味着它们有自己的”大脑”(对话历史)和”储物柜”(R2 存储空间),互不干扰,响应极快。
三、动手部署
前置准备
| 服务 | 用途 | 费用 |
|---|---|---|
| Cloudflare | Worker 托管 | 免费计划可用 |
| Exa | 网页搜索/抓取工具 | 免费 $10 额度 |
| Alchemy | 部署工具(替代 Wrangler) | 免费 |
本地环境需要 Node.js 24 LTS 或更高版本,以及 pnpm 包管理器。
步骤 1:克隆项目
1 | git clone https://github.com/bensenescu/downy.git |
步骤 2:配置环境变量
复制 .env.example 为 .env,填入以下关键信息:
- TEAM_DOMAIN:你的团队域名(如
my-team),用于生成 Agent 的访问地址 - OPENROUTER_API_KEY:OpenRouter API Key(如果使用 OpenRouter 模型)
- SESSION_SECRET:会话加密密钥,用
openssl rand -hex 32生成
步骤 3:一键部署
这里不用传统的 Wrangler,而是使用更智能的 Alchemy 工具:
1 | pnpm deploy |
Alchemy 会自动处理:
- 创建 D1 数据库(
downy-db) - 创建 R2 存储桶(
downy-workspace) - 绑定 Durable Object
- 部署 Worker
部署过程中会提示输入 Alchemy Password——务必保存好,它用于加密本地状态,丢失后所有 Secret 需要重新输入。
步骤 4:配置 Cloudflare Access
部署后 Worker 会拒绝所有流量,必须配置 Access 才能使用:
- 进入 Cloudflare Dashboard → Zero Trust → Access → Applications
- 添加一个 Self-hosted 应用
- 域名填你的 Worker 地址(如
downy.my-team.workers.dev) - 策略设为 Allow,规则选 Email 或任何你喜欢的认证方式
步骤 5:创建你的第一个 Agent
访问 Worker 地址,登录后点击创建 Agent。你会看到:
- 主代理(DownyAgent):默认创建,负责指挥和协调
- 子代理(ChildAgent):可以创建多个,每个独立工作
每个 Agent 都可以在设置中独立选择模型 Provider。
四、模型选择
Downy 支持 4 种模型提供者:
| Provider | 接入方式 | 是否需要付费计划 |
|---|---|---|
kimi |
Workers AI(@cf/moonshotai/kimi-k2.6) |
✅ Workers Paid |
openrouter |
OpenRouter API Key | ❌ 免费 + 自备 Key |
pi-local |
本地 pi proxy(127.0.0.1:8788) | ❌ 开发环境 |
pi-prod |
通过 VPC 绑定访问远程 pi proxy | ❌ 需要 VPC |
省钱小技巧:使用 OpenRouter 可以完全绕过 Workers AI 的付费要求。你只需要一个 OpenRouter API Key,就能用上各种模型。
实测感受:实际跑下来,OpenRouter 配合 DeepSeek V3 或 Claude Sonnet 效果最好,响应速度也快。Kimi 模型虽然免费但需要 Workers Paid 计划,性价比不如 OpenRouter。如果你已经有 ChatGPT Plus,pi-proxy 方案最省——不用额外付费,直接用你的 Plus 订阅。
五、项目结构
1 | downy/ |
关键文件说明
alchemy.run.ts 是核心配置文件,替代了传统的 wrangler.toml。它声明了 Durable Object 绑定、D1 数据库、R2 存储桶、Workers AI 绑定和环境变量。
get-model.ts 负责模型选择逻辑,支持 4 种 Provider 的动态切换。
六、注意事项
部署注意事项
- Alchemy 而非 Wrangler — 不要尝试用
wrangler.toml部署,项目使用 Alchemy - Alchemy Password 必须保存 — 丢失后所有 Secret 需要重新输入
- Cloudflare Access 是强制性的 — 不配置 Access 就无法使用
- 环境变量变更后需重新部署 — 修改
.env后必须运行pnpm deploy
免费计划限制
- 使用 OpenRouter 可以完全绕过 Workers AI 付费要求
- 语音转录(Whisper)依赖 Workers AI,免费计划不可用
- Workers 免费计划 CPU 限制 10ms/请求——对主要做 I/O 等待的 Agent 影响不大
- D1 免费 500MB——个人使用完全足够
- R2 免费 10GB 存储 + 100 万次请求/月
安全注意事项
- 不要提交
.env到 Git(已在.gitignore中排除) - Cloudflare Access 保护你的 Worker——未登录用户无法访问
- 每个 Agent 的数据隔离——对话历史和工作区文件相互隔离
- Secret 加密存储——Alchemy 用你的密码加密所有 Secret
七、常见问题
Q: 部署后访问显示 404?
需要开启 Cloudflare Access 认证。
Q: 如何切换模型?
Settings → Preferences → AI Provider → 选择需要的 Provider。
Q: 可以同时运行多个 Agent 吗?
可以。每个 Agent 是一个独立的 Durable Object,互不影响。
Q: 如何备份数据?
D1 和 R2 的数据由 Cloudflare 自动管理。可以通过 Dashboard 导出备份。
Q: 可以自定义知识库吗?
每个 Agent 的工作区可以作为知识库,上传文件后 Agent 可以读取和引用。
八、总结与建议(总结)
Downy 最打动我的地方,是它把”搭建 AI 代理团队”这件事变得像注册一个账号一样简单。不需要 Docker、不需要服务器、不需要运维——只要一个 Cloudflare 账号,几分钟就能拥有自己的 AI 军团。
如果你也在找一个轻量、开源、能真正干活的多智能体平台,Downy 值得一试。
我的建议
如果你只是好奇想试试,用 OpenRouter 方案零成本起步,5 分钟就能跑起来。如果你打算认真用,建议至少开通 Workers Paid 计划($5/月),解锁 Kimi 模型和 Whisper 语音转录。
项目地址:github.com/bensenescu/downy
本文基于飞书文档整理,完整文档可查看 Downy — 开源多智能体协作平台。