跳转到内容

实战案例

从 GitHub 开源项目反推可复用的 Cloudflare 实战方案。

这些开源项目有几条很明显的共性。

Workers 通常是入口。API、Webhook、短链、监控、AI 代理、邮箱处理,都可以先从一个 Worker 开始。

前端优先交给 Pages 或 Static Assets。文档站、博客、工具前端和管理台先静态化,动态逻辑再交给 Worker。

D1 和 R2 经常成对出现。D1 放用户、文章、评论、权限和元数据,R2 放图片、附件、导出物和大文件。

KV 适合读多写少的状态,比如状态页历史、配置、缓存和短链映射。强一致状态放 D1 或 Durable Objects。

Durable Objects 负责实时和单实体状态。协作画布、WebSocket 房间、邮箱隔离、轻量 SQLite 边缘数据库都能看到它。

AI 项目还在早期,但组合已经比较清楚:Workers AI、AI Gateway、Vectorize 先承担聊天、摘要、PDF 问答和语义搜索这类单点能力。

项目Cloudflare 组合可借鉴点
openRin/RinPages、Workers、D1、R2。边缘原生博客:前后端分离、文章管理、图片上传、评论、GitHub Actions 自动部署。
SonicJs-Org/sonicjsWorkers、D1、R2、Hono。Headless CMS:内容 API、管理后台、文件对象和关系数据的分层。
twikoojs/twikoo-cloudflareWorkers、D1、R2。评论系统迁移到 Cloudflare:把原来的 Node 服务拆成 Worker + D1 + 对象存储。
yestool/imgUUAstro SSR、D1、R2、GitHub 登录。图床/图片上传:登录、图片元数据、对象存储、前端上传体验的组合。
项目Cloudflare 组合可借鉴点
lyc8503/UptimeFlareWorkers。免费、无服务器的可用性监控和状态页,适合学习定时检查与状态展示。
eidam/cf-workers-status-pageWorkers、Cron Triggers、KV。状态页的基础做法:定时检测、状态历史、通知渠道和静态展示。
xyTom/Url-Shorten-WorkerWorkers。短链接服务:边缘路由、重定向、管理入口和自定义域名。
serverless-dns/serverless-dnsWorkers。DNS over HTTPS 解析服务:用 Worker 处理网络协议类 API。
项目Cloudflare 组合可借鉴点
G4brym/R2-ExplorerWorkers、R2、KV。给 R2 做 Web 管理界面:目录、上传、下载、权限和桶配置。
longern/FlareDrivePages、R2、WebDAV。免费文件盘:前端管理界面、对象存储、分享和 WebDAV 入口。
abersheeran/r2-webdavWorkers、R2。给 R2 暴露 WebDAV 协议,适合学习对象存储和传统文件协议的适配。
wesbos/R2-video-streamingR2、Workers。R2 视频分发:大文件、Range 请求、缓存和播放体验。
项目Cloudflare 组合可借鉴点
JacobLinCool/d1-managerPages、D1。D1 管理台:表结构、数据浏览、SQL 查询和低成本数据库后台。
outerbase/starbasedbDurable Objects、SQLite。用 DO 做边缘 SQLite 服务,适合理解单实体强一致状态和 scale-to-zero 数据服务。
shuaiplus/nodewardenWorkers、D1、R2。密码库后端:加密数据、用户数据、附件对象和无服务器自托管。
cloudflare/workers-oauth-providerWorkers。在 Worker 上做 OAuth Provider,适合给 API、MCP、内部工具补授权层。
项目Cloudflare 组合可借鉴点
tldraw/tldraw-sync-cloudflareWorkers、Durable Objects。协作画布:每个文档/房间用 DO 保存同步状态。
napolab/y-durableobjectsWorkers、Durable Objects、Yjs。Yjs 协作服务:用 DO 替代常驻 Node WebSocket 服务。
mdhruvil/gitflareDurable Objects。纯无服务器 Git 托管实验:把仓库/对象状态放进 DO。
akazwz/WebRTC-Screen-MirrorWorkers、Durable Objects、WebSocket。WebRTC 信令:用 Worker/DO 只管房间和信令,不承载媒体流。
项目Cloudflare 组合可借鉴点
cloudflare/agentic-inboxWorkers、Durable Objects、R2、Email Routing、Agents SDK、Workers AI、Access。AI 邮箱客户端:邮箱隔离、附件存储、Agent 工具调用、生产访问控制。
RihanArfan/chat-with-pdfNuxtHub、Workers AI、Vectorize。PDF 问答/RAG:文件解析、向量检索、模型回答和前端体验。
akazwz/workersaiWorkers、Durable Objects、KV、AI Gateway。全栈 AI 聊天:会话状态、模型网关、语音能力和边缘部署。
justlovemaki/CloudFlare-AI-Insight-DailyWorkers、AI 模型、GitHub Pages。内容聚合与摘要自动化:定时抓取、模型处理、静态发布流水线。
项目Cloudflare 组合可借鉴点
cloudflare/templatesWorkers 官方模板。新项目脚手架:从官方模板看 bindings、Wrangler 配置和目录组织。
kriasoft/react-starter-kitCloudflare Workers、React、Hono、tRPC、Drizzle。较完整的 SaaS 模板:前端、API、认证、支付和部署流水线。
jose-donato/race-stackCloudflare Pages、D1、Remix。Remix 全栈模板:Pages Functions + D1 的 Web 应用结构。
atinux/nuxthub-better-authNuxtHub、D1、KV。Nuxt + 认证 + Cloudflare 数据层的最小示例。
目标场景优先参考项目本站延伸阅读
做文档站、博客、轻 CMSRin、SonicJS、Twikoo Cloudflare。文档站技术栈静态内容站D1R2
做状态页、短链、Webhook 小服务UptimeFlare、cf-workers-status-page、Url-Shorten-Worker。接口入口WorkersKV
做文件上传、图床、网盘R2-Explorer、FlareDrive、imgUU。R2R2 签名上传成本控制
做协作、房间、强一致状态tldraw sync、y-durableobjects、starbasedb。实时应用Durable Objects
做 AI 问答、摘要、Agentagentic-inbox、chat-with-pdf、workersai。AI 能力Queues观测与日志

先看许可证,尤其是自用、商用、二次分发和 SaaS 托管条件。

再看最近提交、Issue 和发布节奏。一个项目能跑起来,和它还在不在维护,是两回事。

还要确认它到底用了哪些 Cloudflare 能力。有些项目只是“可以部署到 Cloudflare”,未必真的把 D1、R2、Durable Objects 当核心架构。

账单风险也要提前看。R2 操作、AI 调用、Cron 频率、Worker CPU、外部 API 都可能带来成本。

最后补入口安全。登录、后台、文件上传、Webhook、邮件、密码库这类项目,至少要考虑 Access、Turnstile、限流和密钥管理。