Claude + Cloudflare R2 = 免費的私人智能圖牀

作者:Polris雜談
日期:2026年4月15日 下午3:44
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

利用 Cloudflare R2 配合 Claude AI 打造零成本私人圖牀,實現出站流量全免的圖片託管方案。

  • 核心優勢在於 Cloudflare R2 提供每月 10GB 免費存儲,且完全免除傳統 S3 昂貴的出站流量費用。
  • 技術棧採用 wrangler 命令行工具進行資源管理,支持綁定自定義域名以提升連結專業度與穩定性。
  • 透過接入 Cloudflare MCP,可讓 Claude AI Agent 自動化執行 Bucket 創建、域名綁定及圖片批量上傳。
  • R2 相比傳統方案更適合個人博客與知識庫,因其讀寫額度極高(100萬/1000萬次),普通用戶幾乎用不完。
  • 實踐建議:優先配置自定義域名而非依賴 r2.dev 默認域名,以確保圖牀連結在長期維護中的可控性。
值得記低
工具 npmjs.com

Cloudflare wrangler

Cloudflare 官方命令行工具,用於管理 R2、Workers 及 DNS 資源。

流程 mcp.cloudflare.com

Claude MCP 配置

將 Cloudflare MCP 接入 Claude Desktop,實現 AI 自動化管理雲端資源。

整理重點

點解揀 Cloudflare R2?

對於寫 Blog 或者整知識庫嘅朋友嚟講,圖牀最驚就係流量費。傳統 AWS S3 雖然存儲平,但每次有人睇圖都會計出站流量錢。R2 嘅殺手鐧就係「出站流量免費」,而且免費額度非常慷慨。

整理重點

手動搭建七部曲

如果你鍾意自己動手,可以透過 wrangler 工具快速完成配置。由開通服務到上傳圖片,成個流程非常直觀。

常用 R2 管理指令 bash
# 安裝並登錄
npm install -g wrangler
wrangler login

# 創建 Bucket 並開啟公開訪問
wrangler r2 bucket create my-assets
wrangler r2 bucket dev-url enable my-assets

# 綁定自定義域名
wrangler r2 bucket domain add my-assets --domain assets.example.com --zone-id YOUR_ZONE_ID

# 上傳圖片
wrangler r2 object put my-assets/img.png --file "./img.png" --remote
整理重點

進階玩法:叫 Claude 幫你打工

而家有咗 Claude Code 同 MCP (Model Context Protocol),你連指令都唔洗記。只要接通 Cloudflare 嘅 MCP,你用口講就得。

你可以直接同 Claude 講:「幫我喺 R2 開個新 Bucket,綁定埋我個域名,再將呢幾張相掉上去。」

Agent 會自動幫你行曬所有 wrangler 指令,你唯一要整嘅就係喺瀏覽器撳一下授權登錄。呢種 Vibe Coding 嘅體驗,令維護圖牀變成零門檻。

這篇文章記錄如何用 Claude 搭配 Cloudflare R2 搭建一個圖牀,並綁定自定義域名,最終讓圖片可以通過穩定的公開 URL 引用到博客等任意平台。

AI的加持下,幾乎可以做到零門檻維護圖牀了~

為什麼用 R2

Cloudflare R2 的核心優勢是出站流量免費。傳統的 AWS S3 每次有人加載圖片都會產生出站費用,R2 這部分完全不收費。

免費額度(每月):

項目
免費額度
存儲
10 GB
寫入(A 類操作)
100 萬次
讀取(B 類操作)
1000 萬次
出站流量
免費

對於博客、知識庫的圖牀場景,10 GB 基本永遠用不完。

前置條件

  • 一個 Cloudflare 賬號
  • 域名已託管在 Cloudflare(用於後續綁定自定義域名)
  • Node.js 已安裝(用於安裝 wrangler)

第一步:開啓 R2 服務

R2 默認未開啓,需要手動激活:

  1. 登錄 Cloudflare Dashboard
  2. 左側菜單找到 R2 Object Storage
  3. 點擊進入,確認開啓 R2

第二步:安裝 wrangler

wrangler 是 Cloudflare 官方的命令行工具,用於管理 R2、Workers 等資源。

npm install -g wrangler

驗證安裝:

wrangler --version

輸出版本號即為安裝成功。


第三步:登錄 Cloudflare

wrangler login

命令執行後會自動打開瀏覽器,完成授權即可。

驗證登錄狀態:

wrangler whoami


第四步:創建 R2 Bucket

wrangler r2 bucket create your-bucket-name

Bucket 名稱可以自定義,建議用項目名或品牌名作為前綴,方便後續管理。


第五步:開啓公開訪問

Bucket 默認私有,需要開啓公開訪問才能讓圖片通過 URL 被任何人訪問。

wrangler r2 bucket dev-url enable your-bucket-name

執行成功後會返回一個 r2.dev 的公開域名,格式如:

https://pub-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.r2.dev

[!tip] 這個 r2.dev 域名可以直接用,但如果想用自己的域名,繼續第六步。


第六步:綁定自定義域名

先獲取域名所在的 Zone ID(需要在 Cloudflare Dashboard → 對應域名 → Overview 頁面右側找到),然後執行:

wrangler r2 bucket domain add your-bucket-name \

  --domain assets.yourdomain.com \

  --zone-id 你的ZoneID

執行成功後,bucket 內容即可通過 https://assets.yourdomain.com 訪問。

[!note] 域名必須已經託管在 Cloudflare,否則無法完成綁定。


第七步:上傳圖片

使用 wrangler 上傳本地圖片到 R2,注意必須加 --remote 參數,否則只會寫入本地模擬環境:

wrangler r2 object put your-bucket-name/folder/01-screenshot.png \

  --file "/path/to/01-screenshot.png" \

  --content-type "image/png" \

  --remote

上傳成功後,圖片的公開 URL 為:

https://assets.yourdomain.com/folder/01-screenshot.png

路徑結構 bucket名/文件路徑 對應 URL 域名/文件路徑,可以用目錄層級管理不同文章的圖片,例如:

your-bucket-name/

  article-01/

    01-screenshot.png

    02-screenshot.png

  article-02/

    01-intro.png

圖片

常見問題

Q:上傳後圖片打不開?

檢查以下兩點:

  • 是否加了 --remote 參數,沒有則只上傳到了本地模擬。
  • Bucket 的公開訪問是否已開啓(dev-url enable 或自定義域名是否配置成功)。

Q:自定義域名綁定失敗?

確認域名已經在 Cloudflare 託管(NS 記錄指向 Cloudflare),未託管的域名無法通過 wrangler 直接綁定。

Q:r2.dev 和自定義域名有什麼區別?

功能上沒有區別,都能公開訪問。自定義域名更專業、連結更短,且不依賴 Cloudflare 內部域名,適合長期使用。


用 AI Agent 全程代為操作

如果你在用 Claude Code,以上所有步驟都可以讓 Agent 代為執行,不需要自己手動敲命令。核心是提前接入兩個 MCP:Cloudflare MCP 和 Notion MCP(如果你用 Notion 的話)。

第一步:接入 Cloudflare MCP

Cloudflare 提供了官方的 MCP Server,讓 AI Agent 可以直接調用 Cloudflare API 管理 R2、Workers、DNS 等資源。

方式一:在 claude.ai 網頁端配置(推薦)

登錄 claude.ai → 進入 Settings → Connectors,找到 Cloudflare,點擊連接並完成授權即可。無需改任何配置文件,授權後在 Claude Code 裏同樣生效。

方式二:在 Claude Code 配置文件中手動添加

{

  "mcpServers": {

    "cloudflare": {

      "command": "npx",

      "args": [

        "mcp-remote",

        "https://mcp.cloudflare.com/sse"

      ]

    }

  }

}

[!tip] 配置文件路徑:~/.claude/claude_desktop_config.json(macOS/Linux)或 %APPDATA%\Claude\claude_desktop_config.json(Windows)。修改後重啓 Claude Code 生效。

兩種方式效果相同,選其中一種即可。

第二步:讓 Agent 接管操作

MCP 接入後,直接用自然語言描述目標即可,不需要指定用什麼工具,Agent 會自己判斷:

幫我在 Cloudflare R2 創建一個叫 my-assets 的 bucket,開啓公開訪問,綁定域名 assets.yourdomain.com,然後把 /path/to/images 目錄下的圖片上傳上去。

Agent 會在背後自動選擇合適的方式執行,部分步驟通過 Cloudflare MCP 調用,部分通過 wrangler CLI 完成:

步驟
執行方式
查詢賬號、列出/創建 bucket
Cloudflare MCP
安裝 wrangler
npm(命令行)
wrangler 登錄授權
wrangler login(需你在瀏覽器點擊確認)
開啓公開訪問
wrangler CLI
綁定自定義域名
wrangler CLI
批量上傳圖片
wrangler CLI

唯一需要手動操作的步驟

整個流程中只有一步需要你親自操作:wrangler 首次登錄的 OAuth 授權

Agent 會執行 wrangler login,此時瀏覽器會自動彈出 Cloudflare 授權頁面,你點擊確認即可。授權完成後,後續所有操作 Agent 全部接管,無需再次干預。

實際效果

從"我想搭一個圖牀"到"圖片 URL 已寫入文章",整個流程可以在一次對話裏完成,包括 wrangler 安裝、bucket 創建、域名綁定、圖片上傳和內容回寫。


總結

整個流程只有七步:

  1. 開啓 R2 服務
  2. 安裝 wrangler
  3. 登錄 Cloudflare
  4. 創建 Bucket
  5. 開啓公開訪問
  6. 綁定自定義域名
  7. 上傳圖片並使用 URL

一次配置完成後,後續上傳圖片只需一條命令,圖片立即可用,出站流量完全免費。