← 文章

台上一翻頁,台下三百支手機跟著換:請 AI 小幫手做一份全場同步的歌詞演出簡報

阿瑋
阿瑋

嗨,我是阿瑋 Vic。這個週末,我參加的樂團連唱了兩場。

阿瑋
阿瑋

台上唱歌,台下每個人低頭看手機,歌詞跟著音樂一頁一頁換。

阿瑋
阿瑋

演出完,好多師兄姐來問:那個會自己翻的簡報,怎麼做的?

小獅妹
小獅妹

大家好,我是小獅妹!住在大杯居咖啡車裡的小精靈,也是阿瑋的 AI 小幫手。

小獅妹
小獅妹

那兩份簡報,是阿瑋說話、我在他電腦上動手做的。

小獅妹
小獅妹

今天換我帶您從一張歌詞單開始,做到全場同步。

一個人拿著主講人網址翻頁,全場手機在一秒內跟著換。

歌詞單交給 Claude 做頁面,伺服器放在 Cloudflare,三百人規模用免費方案就夠。

適合誰要在法會、讀書會、樂團演出放歌詞,又不想每個人都盯著同一面投影幕的人。

您會得到:

  • 一份手機打開就能看的歌詞簡報網頁,大字、可滑動、長輩也看得清楚。
  • 一支「主講人網址」:拿著它的人一翻頁,全場手機一起換。
  • 一份演出前的準備清單。

需要一台電腦(Mac 或 Windows)和 Claude 的付費方案。看簡報的人只需要手機,不用裝任何東西。

成品:一支翻頁,全場跟著換

阿瑋
阿瑋

所以台下的人要裝 App 嗎?

小獅妹
小獅妹

不用。點開 LINE 裡的網址就好,跟看一般網頁一樣。

小獅妹
小獅妹

只有翻頁的那個人,拿到的是另一支主講人網址。

觀眾點開網址看歌詞;主講人點開另一支網址負責翻頁。

主講人畫面底部會預告下一頁的第一句,翻頁的人不用背歌詞。

左邊是觀眾手機、右邊是主講人手機,兩支停在同一頁歌詞;主講人畫面底部多一行下一頁預告
左:觀眾畫面。右:主講人畫面,底部預告下一頁的第一句。
觀眾看到的封面、一頁一段歌詞、過場頁的演出者小人。手機直拿,字夠大。
  • 歌詞一頁只放兩到四行,照演唱的段落切。
  • 反覆唱的句子,在同一頁標「這句唱兩遍」,不重複做一頁。
  • 觀眾也可以自己左右滑,往回看前一段;主講人一翻頁,所有人又會回到同一頁。
主講人看到的和觀眾同一頁,右上角標「主控中」,底部多一行下一頁的第一句。

第一場由音控的夥伴拿主講人網址,一邊聽樂團、一邊翻頁。他看著預告句,聽到那一句快唱到,就按下一頁。

這兩場的規模第一場一首歌 17 頁,第二場一首歌唱兩遍加尾段,25 頁。
場次曲目頁數
第一場〈沒有煩惱的日子〉17
第二場〈歌頌大士〉兩遍全曲+最後四句25

第一場以三百人規模估算流量。

這兩場陪唱的樂團,是我目前參加的一馬當先做菩薩樂團。第一場的〈沒有煩惱的日子〉,演出錄影在這裡。

聽〈沒有煩惱的日子〉現場演出

原理:一個房間、一個廣播

阿瑋
阿瑋

手機各在各的口袋裡,怎麼會一起換頁?

小獅妹
小獅妹

大家點開網址時,都走進了同一個房間。

小獅妹
小獅妹

主講人說「翻到第 5 頁」,房間就對每一支手機廣播一次。

阿瑋
阿瑋

像廟口的廣播器,主委一講,整條街都聽到。

每支手機和伺服器之間保持一條不掛斷的連線。

主講人翻頁,伺服器沿著每一條連線各送一句「現在第幾頁」。

主講帶金鑰翻頁房間記住第幾頁觀眾手機 ×300Worker:送網頁、把連線交給房間
帶著金鑰翻頁,記住現在第幾頁,再給; 在底下送網頁、接連線。
WebSocket手機和伺服器之間不掛斷的連線,伺服器有話隨時能送過來。

一般網頁是「您問一次、它答一次」。WebSocket 打開之後一直連著,伺服器可以主動推訊息給手機,所以翻頁指令幾乎是即時到。

Durable ObjectCloudflare 提供的「房間」:同一場演出的所有連線,都接到同一個房間。

房間會記住現在是第幾頁。晚到的人一進來,先問房間「現在第幾頁」,直接跳到那一頁。

我用的是 WebSocket Hibernation(休眠)寫法:沒人翻頁的時候房間會睡著,睡著的時間不計費。

Worker放在 Cloudflare 上的小程式,負責把網頁送給手機,並把連線交給房間。
主講人金鑰主講人網址多帶一把金鑰,房間只聽有金鑰的人翻頁。

觀眾網址拿到的人都能看,但翻不了頁。主講人網址只給負責翻頁的那一位,不要貼進群組。

準備:一台電腦、一張歌詞單

阿瑋
阿瑋

我要先準備什麼?

小獅妹
小獅妹

一台電腦、一份 Claude 付費方案,再加一個免費的 Cloudflare 帳號。

小獅妹
小獅妹

還有最重要的:照演唱順序寫好的歌詞單。

要花錢的只有 Claude Pro,每月 20 美元。

Cloudflare 與其他工具,三百人規模都用免費方案。

準備用途費用
電腦(macOS 13 以上,或 Windows 10 以上)讓 Claude 在上面做網頁、部署-
Claude Pro 或 Max能動手的 AI 小幫手Pro 月繳 US$20
Cloudflare 帳號放網頁和「房間」免費方案
Node.jsCloudflare 部署工具要用免費
歌詞單簡報的內容-
Codex 也可以用 ChatGPT 的人,Codex 也能照這篇的指令包做;ChatGPT Plus 就含 Codex。

這篇以 Claude 示範,畫面和按鈕名稱照 Claude。Codex 的操作介面不同,指令包的內容可以直接沿用。

安裝:裝好 Claude 桌面版

阿瑋
阿瑋

我沒用過終端機,那個黑黑的視窗。

小獅妹
小獅妹

不用碰它。裝 Claude 桌面版,用裡面的 Code 分頁就好。

小獅妹
小獅妹

要裝工具、跑指令,我都會先問您,看懂再按同意。

自己裝的只有 Claude 桌面版,其他工具交給它檢查、問過您再裝。

裝好之後,每次做簡報都從選一個資料夾開始。

步驟 1到 claude.com/pricing 訂閱 Pro。能動手的 Code 分頁,免費方案沒有。
步驟 2到 claude.com/download 下載桌面版,裝好後登入。

需要 Windows 10 以上。裝好後從開始選單打開 Claude。

需要 macOS 13 以上。把 Claude 拖進「應用程式」資料夾,再打開。

習慣終端機的人,也可以用官方的一行指令安裝 Claude Code,見文末參考來源。

步驟 3點上方「Code」,選 Local,新建一個空資料夾,例如 song-deck。權限選 Manual。
  • 資料夾名稱用英文。部分工具讀中文路徑容易出錯。
  • Manual 代表 Claude 每次要裝工具或跑指令,都會先問您。
  • 點 Code 跳出升級提示,代表方案還沒開通。
步驟 4貼上下面這段,讓 Claude 檢查電腦還缺什麼。
環境檢查
請用唯讀的方式檢查這台電腦,先不要安裝或修改任何東西:
1. 作業系統和版本。
2. 有沒有 Node.js 和 npm,各是什麼版本。
3. 能不能用 npx 執行 Cloudflare 的 wrangler(只查版本,不要登入)。
4. 目前工作資料夾的路徑,以及裡面有哪些檔案。
整理成一張表。缺少的項目,告訴我建議的安裝方式和官方下載頁,由我決定要不要裝。
踩坑Node.js 請裝官網標示 LTS 的版本。

LTS 是長期維護版,Cloudflare 的部署工具 wrangler 支援目前維護中的版本。Claude 問要不要裝時,請它從 nodejs.org 官網下載。

歌詞單:照演唱順序寫

阿瑋
阿瑋

歌詞直接複製貼上不行嗎?

小獅妹
小獅妹

歌本上的歌詞,是歌的順序;簡報要的是唱的順序。

小獅妹
小獅妹

前奏、間奏、反覆幾遍,都要寫出來,翻頁的人才跟得上。

歌詞單一行一句,空一行換一頁,前奏間奏另起一頁。

這張單子寫對,後面九成的工作 Claude 都能自己做完。

在資料夾裡新增一個文字檔,命名 lyrics.txt,照下面的格式寫:

```

# 曲名:〔填入:曲名〕

# 演出:〔填入:樂團名或演出者〕

[前奏]

第一句歌詞

第二句歌詞

第三句歌詞

第四句歌詞

[間奏]

(第二遍)第一句歌詞

第二句歌詞

最後一句歌詞 ×2

[尾奏]

```

一頁幾句一頁兩到四句,照樂句切。一口氣唱完的句子放在同一頁。

翻頁的時間點落在換氣的地方,翻頁的人比較好抓。字太多的頁,手機上字會變小,長輩看不清楚。

反覆怎麼寫同一句唱兩遍,句尾寫「×2」;整段重唱,就把那段再寫一次。

週末第二場的〈歌頌大士〉,是全曲唱兩遍,中間有間奏,最後再唱四句。我照這個順序把歌詞寫了兩遍,再接最後四句,總共 25 頁。

句尾的「×2」,Claude 會做成同一頁上方標「這句唱兩遍」,不另做一頁。

先問演出的人曲順以帶領演出的人為準,演出前一天再對一次。

第二場的曲順,是帶領演出的人在演出當天凌晨才定下的。歌詞單改一行,請 Claude 重做一次頁面,幾分鐘就好。

第一版:手機上能滑的歌詞頁

阿瑋
阿瑋

歌詞單寫好了,接下來呢?

小獅妹
小獅妹

貼上這段,我先做一份不用伺服器的版本,在您電腦上就能看。

小獅妹
小獅妹

先把頁面看順眼,再加同步,出問題比較好找。

第一版只是一個網頁檔,雙擊就能在瀏覽器打開。

版面、字體、切頁都在這一版改到滿意。

做第一版歌詞頁
請讀這個資料夾裡的 lyrics.txt,做一份手機直式觀看的歌詞簡報網頁。規格:
1. 只用 HTML、CSS、JavaScript,不要用需要安裝的框架;做成 index.html 一個入口,素材放 assets 資料夾。雙擊 index.html 就要能打開,所以請把歌詞轉成網頁讀得到的檔案,並告訴我改了 lyrics.txt 之後要怎麼更新。
2. 歌詞單開頭的「# 曲名」「# 演出」兩行是封面資料。
3. 第一頁是封面:曲名、演出者。歌詞單裡「空一行」代表換頁;[前奏]、[間奏]、[尾奏] 各做一頁,頁面只放大字的段落名稱,不顯示方括號。
4. 句尾有「×2」的,拿掉「×2」,在那一頁上方加一行 20px 的小標「這句唱兩遍」。
5. 手機上左右滑動換頁,電腦上用左右方向鍵換頁。頁面下方顯示「第幾頁/共幾頁」。電腦大螢幕上內容置中,寬度不超過 480px。
6. 字要大:歌詞至少 28px,行距寬鬆,背景淺色、字深色,對比要夠。
7. 做好後在瀏覽器打開給我看,並用 390×844 的手機尺寸逐頁檢查,確認沒有字超出畫面。
每一步做完用一兩句白話告訴我。
手機直式的歌詞頁:上方是直排的手寫毛筆字,下方兩行大字印刷體歌詞
演出版的歌詞頁。上方的手寫字是另外加的;第一版做到下面兩行大字就可以上場。
改版面不喜歡哪裡,直接用說的:「字再大一點」「背景換成米色」「封面加一朵蓮花」。

一次說一兩件事,看完再說下一件。說得越具體,改得越準,例如「第 3 頁的字超出右邊」比「有點怪」好改很多。

字型想要手寫感,可以請 Claude 換成免費開源的手寫字型,例如芫荽。

週末兩場的內文都用芫荽(Iansui),經文類的段落用思源宋體。字型檔很大,請 Claude 只留歌詞用到的字(字型子集),手機才不會載入太久。

演出者:馬鈴薯小人

阿瑋
阿瑋

我想讓台上的人也出現在簡報裡。

小獅妹
小獅妹

那就畫成馬鈴薯小人:圓圓的、豆豆眼,一看就知道是誰,又不會露臉。

小獅妹
小獅妹

圖用生圖 AI 畫,去背和放進頁面交給我。

先用生圖 AI 畫一張白底的演出者素材圖,再請 Claude 去背、切成每人一張。

小人放在封面和前奏、間奏這類過場頁,加上很慢的呼吸動作。

封面上三個馬鈴薯小人,分別拉手風琴、彈吉他、吹單簧管;名單與 QR code 已遮蔽
封面上的馬鈴薯小人。名單與 QR code 在這張截圖裡遮掉了。
步驟 1:生圖在 ChatGPT 或 Gemini 的生圖功能,貼上下面這段,附上樂器的參考照片。
生成馬鈴薯演出小人
請畫一張橫幅素材圖,白色背景,三個「馬鈴薯小人」站成一排,彼此之間留大片空白,不要重疊:
- 畫風:圓滾滾的馬鈴薯身形、豆豆眼、簡單的線條和淡淡的水彩上色,可愛溫和。
- 左邊的人〔填入:服裝與樂器,例如米色上衣、彈木吉他〕。
- 中間的人〔填入:服裝與樂器〕。
- 右邊的人〔填入:服裝與樂器〕。
- 不要畫文字、不要畫地板陰影、不要畫背景物件。

生圖 AI 的方案與用量限制各家不同,這一步我沒有用 ChatGPT 或 Gemini 實測,依官方功能說明。

步驟 2:去背放進頁面把素材圖放進資料夾,貼上下面這段。
去背與小人動畫
資料夾裡的〔填入:素材圖檔名〕是一張白底的演出者素材圖。請:
1. 把白色背景去掉,依人物切成每人一張透明背景的 PNG,再轉成 webp 放進 assets/fig,原圖不要動。
2. 切好後把每張圖排在一起給我看,確認沒有切到手、樂器或頭髮。
3. 把這幾個小人排成一排,放在封面和 [前奏]、[間奏]、[尾奏] 這幾頁,不要擋到文字。
4. 小人加上很慢的呼吸動作:上下起伏約 3%,一次約 4 秒,每個人錯開一點。手機設定「減少動態效果」時,動作全部停掉。
先問過本人真人畫成小人之前,先問過本人;參考照片用完就刪。

馬鈴薯小人用豆豆眼,本來就不畫五官細節。即使如此,畫的是誰、穿什麼,都要本人點頭。參考照片只拿來對服裝和樂器,不要放進簡報資料夾。

切壞了怎麼辦細的地方最容易切壞,例如琴頸、手指和頭髮。

所以步驟 2 要它先排給您看,確認完整再放進頁面。切不好就請它重切那一張,或回到生圖那一步,請生圖 AI 把人物間距再拉開。

長輩友善:字大、免教、不跑版

阿瑋
阿瑋

台下很多長輩,他們會用嗎?

小獅妹
小獅妹

會。只要做到三件事:LINE 裡直接開、封面提示怎麼滑、字放大也不跑版。

小獅妹
小獅妹

這三件,是之前一場佛學課程報告,現場回饋之後才補上的。

網址從 LINE 點開,直接在 LINE 裡看,不跳出去。

封面輕輕擺動,提示「左右可以滑動」;手機字體調大,版面也不會擠爆。

長輩友善規格
請把歌詞簡報調成長輩友善版:
1. 從 LINE 點開時,直接在 LINE 內建瀏覽器正常顯示,不要求跳到外部瀏覽器。
2. 封面加一個滑動提示:整張封面以底邊為軸,左右輕擺約 2 度、約 3 秒擺完,每 6 秒一次;底部常駐「左右可以滑動」和一隻手指圖示。換到第二頁後就不再出現。
3. Android 手機把系統字體調大時,LINE 內建瀏覽器只會放大字、不會放大框,容易跑版。請在開頁時量出放大倍率,把字級除回去;每一頁再檢查內容有沒有超出畫面,超出就整頁等比縮小。
4. 做完用 390×844 手機尺寸,模擬字體放大 130%、165%、200% 各截一張圖給我看。
5. 手機設定「減少動態效果」時,所有動畫都停掉。
Android 大字長輩的手機常把字體調到最大,頁面會被撐破。

第一次做佛學課程簡報時,現場就有師兄姐的 Android 手機字擠成一團。原因是 LINE 內建瀏覽器只放大文字、不放大外框,網頁常用的 text-size-adjust 設定擋不住。後來改成開頁時先量倍率、再逐頁縮放,就沒再發生。

不放上一頁按鈕畫面上不放按鈕,只靠滑動;按鈕對長輩來說是多一個要學的東西。

跟著主講人看的時候,觀眾根本不用自己翻。要往回看,滑一下就好。

加上同步:主講人翻、全場換

阿瑋
阿瑋

頁面看順眼了。現在要讓大家一起翻?

小獅妹
小獅妹

對。我要寫一支放在 Cloudflare 上的小程式,裡面有一個房間。

小獅妹
小獅妹

這一步程式比較多,您只要看我每一步的說明,按同意就好。

在第一版上加三樣東西:Worker、房間、主講人金鑰。

先在您的電腦上模擬一次,兩個瀏覽器視窗互相翻翻看。

1主講人按下一頁帶著金鑰送出「第 5 頁」2房間核對金鑰沒有金鑰的翻頁一律不理3房間記下第 5 頁晚到的人一進來先問這個4每條連線各送一次三百支手機各收到一句5全場跳到第 5 頁壓測 95% 在 0.61 秒內送到
主講人,房間先,,再,觀眾的手機。
加上全場同步
請把這份歌詞簡報改成「主講人翻頁、全場同步」的版本,部署目標是 Cloudflare Workers。規格:
1. 用 Cloudflare Workers 送出網頁(靜態檔放 Workers Static Assets),用一個 SQLite 儲存的 Durable Object 當「房間」,整場演出只有一個房間。
2. 觀眾和主講人都用 WebSocket 連進房間,使用 WebSocket Hibernation API,沒人翻頁時讓房間休眠。
3. 房間記住目前頁碼。新進來或斷線重連的人,先取得目前頁碼再顯示。斷線要自動重連,重連時間加一點隨機延遲,避免全場同時湧入。
4. 主講人網址多帶一把金鑰(存在 Cloudflare 的 secret,不要寫進程式碼或網頁檔)。只有帶正確金鑰的連線能翻頁;金鑰讀到後立刻從網址列移掉。
5. 整個簡報放在一段隨機的網址路徑底下,猜錯路徑一律回 404;頁面加上不被搜尋引擎收錄的設定。
6. 主講人畫面底部顯示下一頁的第一句;所有人的畫面角落顯示目前在線人數,在線人數每秒最多廣播一次。
7. 先在本機用 wrangler dev 跑起來,開兩個瀏覽器視窗(一個觀眾、一個主講人)實測翻頁會不會同步,截圖給我看。
8. 告訴我觀眾網址和主講人網址分別長什麼樣子,金鑰和路徑碼不要顯示在對話裡,只告訴我存在哪個檔案。
每一步做完用一兩句白話告訴我。這一步先不要部署到網路上。
為什麼要隨機路徑網址就是門票:拿到的人才進得來,猜不到。

觀眾網址不需要登入,方便長輩一點就開。代價是網址被轉傳出去,別人也看得到。所以內容只放歌詞和小人圖,不放名單、電話或任何個資。

踩坑兩份簡報放在同一個網站時,檔名重複會互相蓋掉。

我把另一份簡報放在第一場旁邊,兩邊的字跡圖都叫 c01.png。結果另一份有四頁,顯示成第一場的字。之後每一場的素材都放在自己的子資料夾,例如 assets/song2/。

部署:放上 Cloudflare

阿瑋
阿瑋

本機會動了,怎麼讓大家的手機也連得到?

小獅妹
小獅妹

登入 Cloudflare,再部署一次。網址就有了。

小獅妹
小獅妹

登入時會跳出瀏覽器,請您親手按允許,我碰不到您的密碼。

兩個指令:wrangler login 登入、wrangler deploy 部署。

部署完拿到一個 workers.dev 的網址,手機就連得到了。

步驟 1到 dash.cloudflare.com 註冊免費帳號。
步驟 2貼上下面這段,Claude 會開瀏覽器請您登入,再部署。
部署到 Cloudflare
請把這份同步歌詞簡報部署到我的 Cloudflare 帳號:
1. 用 npx wrangler login 登入;跳出瀏覽器時由我親自按允許,你不要碰我的密碼。
2. 確認主講人金鑰和路徑碼都用 wrangler secret 設定好,沒有寫在任何會上傳的檔案裡。
3. 用 npx wrangler deploy 部署,告訴我拿到的 workers.dev 網址。
4. 部署後只用讀取的方式檢查:觀眾網址打得開、隨便改一個字的路徑會回 404。
5. 把「觀眾網址」和「主講人網址」分兩行寫進資料夾裡一個叫 urls.txt 的檔案,對話裡不要顯示完整網址。
步驟 3用自己的手機開觀眾網址、電腦開主講人網址,翻幾頁試試。

再找一兩位朋友用他們的手機一起開,確認三支手機同時換頁。這一步做完,才把網址發出去。

要改內容曲順或歌詞要改:改 lyrics.txt,請 Claude 重做頁面,再部署一次。

網址和金鑰不會變,已經發出去的網址照樣能用。觀眾重新整理就會看到新版。

用完要收演出結束後,主講人網址就不要再用;不再需要的簡報,請 Claude 從 Cloudflare 刪掉。

兩支網址:誰拿哪一支

阿瑋
阿瑋

觀眾網址、主講人網址,各給誰?

小獅妹
小獅妹

觀眾網址越多人有越好,主講人網址只給一個人。

小獅妹
小獅妹

兩個人同時拿主講人網址,會互相搶著翻頁。

觀眾網址提前一天發在 LINE 群組;主講人網址私訊給翻頁的那一位。

翻頁的人最好坐在聽得清楚樂團的位置,例如音控台。

  • 發在活動的 LINE 群組或公告,也可以印成 QR code 放在入口。
  • 能看、能自己滑,但翻不了全場的頁。
  • 被轉傳出去也只看得到歌詞。
  • 只私訊給負責翻頁的人,請他不要轉傳。
  • 打開後畫面和觀眾一樣,右上角標「主控中」,底部多一行下一頁的第一句。
  • 用手機或平板都可以;建議接著電源,螢幕不要自動鎖定。
翻頁的訣竅看到預告句、聽到那一句快唱到,就按下一頁;寧可早半拍,不要晚。

手機收到翻頁,通常不到一秒。翻早半拍,觀眾正好看到要唱的那句;翻晚了,大家會先唱、才看到字。

撐得住嗎:三百人與兩千人

阿瑋
阿瑋

三百個人一起連,伺服器不會當掉嗎?

小獅妹
小獅妹

伺服器那邊很輕鬆。真正的瓶頸是現場的網路。

小獅妹
小獅妹

所以我們請大家演出前先在家裡點開一次。

三百條連線,一個房間就接得住;翻頁一次,伺服器送出三百則小訊息。

每支手機第一次打開要下載整份簡報,三百人一起下載,會塞爆現場的 Wi-Fi。

預計超過一千人?是升級不是要放投票或留言?是加防護不是免費方案就夠
先看:上千人時免費方案的每日請求數會吃緊,;再看有沒有;都沒有,。
三百人第一場以三百人估算,演出當天翻頁順利。

這是我照第一場的實際做法估的量(2026 年 10 月):

項目三百人時的量
WebSocket 連線300 條,同一個房間
翻頁一次送出 300 則小訊息,全曲 17 到 25 次
開頁或重連時問頁碼約 300 到 600 次
每支手機開頁的請求約 35 次,全場約 1 萬次
每支手機第一次下載約 1 到 1.5 MB,全場約 0.4 GB

最後一行就是現場網路的壓力。後來我把圖片轉成 webp、字型只留用到的字,封面在模擬的弱 4G 網路下 2.82 秒就能顯示,首次傳輸約 296 KB。

兩千人壓測用一台電腦模擬兩千支手機連 30 分鐘:翻頁 95% 在 0.61 秒內送到。

2026 年 11 月,在獨立的測試環境實測,測完就刪掉:

項目結果
兩千條連線連續 30 分鐘伺服器零次超載
翻頁送達(95% 的手機)0.61 秒內
每支手機收到的頁碼全部和主講人一致
斷線重連(95% 的手機)5.25 秒,沒達到我訂的 3 秒目標

重連那一項,我另外量了單一連線,伺服器端約 0.64 秒就接回;慢的是模擬用的那台電腦,一次撐兩千條連線撐不住。所以我推估真實手機約 3 秒內能接回,但這是推估,還沒有用兩千支真手機驗證過。

免費額度Cloudflare 免費方案每天 10 萬次請求;三百人用掉約一成,兩千人就逼近上限。

2026 年 11 月查證:

方案Workers 請求房間(Durable Objects)
免費每天 100,000 次每天 100,000 次請求、13,000 GB-秒,只能用 SQLite 儲存
Workers Paid每月 1,000 萬次起,月費最低 US$5依用量計費
  • 觀眾送進房間的 WebSocket 訊息,每 20 則算 1 次請求。
  • 房間休眠時不計時間費用。
  • 不經過 Worker 的靜態檔請求免費、不限次數;這篇的做法用隨機路徑守門,請求會經過 Worker,所以要算進去。
  • 免費方案超過每日上限時,新的請求會被拒絕,所以上千人的場合請先升級。

兩千人的數字是用每支手機 35 次推算的,加上重新整理和重連,實際會更多。

互動:投票和留言,點到為止

阿瑋
阿瑋

可以順便讓大家投票、留言嗎?

小獅妹
小獅妹

可以,但會多一道門:任何人都能往房間裡丟東西。

小獅妹
小獅妹

週末兩場都沒放。要放的話,一場一到兩個就好。

只看歌詞的簡報,觀眾什麼都寫不進去,最安全。

加了互動,就要加限速、過濾和下架,Claude 都做得到,但要多驗一輪。

可以做的互動單選投票、詞雲、提問板、留言上牆、安可投票。

我替之後的場次,在範本裡做好了這五種。實際用的時候一場只挑一到兩種,超過三種,台下會忙著按手機、忘了唱歌。

要加的防護限速、擋髒話與連結、主持人可以一鍵下架,缺一不可。
  • 限速:同一個人短時間內只能送幾則,例如 30 秒最多 10 則。
  • 過濾:擋掉網址、電話和不雅字詞。
  • 下架:主講人畫面能把任何一則撤下,必要時整面牆關掉。

要加的時候,把這三條原封不動告訴 Claude,並請它做完後模擬一個人狂按送出,確認擋得住。

現場:演出前的準備清單

阿瑋
阿瑋

東西都做好了,當天還要注意什麼?

小獅妹
小獅妹

三件事:提前發網址、翻頁的人先演練、準備備案。

小獅妹
小獅妹

做到這三件,當天您只要專心唱歌!

前一天在 LINE 發觀眾網址,請大家在家先點開一次。

當天提早半小時,翻頁的人照曲順完整翻一遍。

  1. 和帶領演出的人再對一次曲順,改了就重新部署。
  2. 用自己的手機從頭翻到尾,看有沒有錯字。
  3. 在活動群組發觀眾網址,請大家先點開,順便確認自己的手機打得開。
  4. 私訊主講人網址給翻頁的人,附一句說明:看預告句、早半拍翻頁。
  1. 提早半小時,翻頁的人打開主講人網址,接上電源、關掉自動鎖定。
  2. 確認在線人數有跳動,代表觀眾陸續連進來了。
  3. 開場前,請主持人提醒一次:手機打開剛才的網址,跟著唱。
  4. 翻頁的人照曲順,從封面空翻一次到最後一頁,再翻回封面。
  • 觀眾說畫面卡住:請他重新整理,會直接跳到現在那一頁。
  • 主講人網址斷線:重新整理即可;房間記得現在第幾頁,不會跳回封面。
  • 現場網路全斷:事先請 Claude 把第一版網頁檔存在電腦裡,接上投影機單機播放,用方向鍵翻頁。
群組公告稿
請幫我寫一則 LINE 群組公告,提醒大家演出前先打開歌詞簡報。語氣親切、稱「您」,每一行之間空一行,五行以內:
- 活動:〔填入:活動名稱與時間〕
- 觀眾網址:〔填入:觀眾網址〕
- 請大家在家先點開一次,當天跟著畫面唱;不用裝 App,從 LINE 直接開就好。
- 手機字太小,可以把手機的字體調大,畫面會自動配合。

前一天先點開網址的人越多,當天現場的網路越順。

Q&A

Q:完全不會寫程式,真的做得出來嗎?

可以。指令包是一般的中文,複製貼上就好。程式由 Claude 寫,您看它的說明、按同意。卡住時,把畫面上的錯誤訊息整段貼給它。

Q:一定要用 Cloudflare 嗎?

同步需要一台一直開著的伺服器。這篇用 Cloudflare,是因為它的「房間」很適合這種一對多的廣播,三百人規模免費方案就夠。不需要同步的話,第一版的網頁檔放在任何網頁空間都能用。

Q:可以用 Claude 網頁版或手機 App 做嗎?

網頁版可以幫您寫出第一版的網頁檔,但沒辦法在您的電腦上執行部署。要用桌面版的 Code 分頁。

Q:觀眾的手機會被收集資料嗎?

這篇的做法只記得「現在第幾頁」和在線人數,不需要觀眾登入,也不收姓名。

Q:同一個網址可以放好幾首歌嗎?

可以。歌詞單照演出順序把幾首歌接著寫,中間加一頁曲名。我做過兩首歌串在同一個網址的版本。

Q:投影幕也想同步顯示,可以嗎?

可以。投影的電腦打開觀眾網址、切成全螢幕,就會跟著主講人翻頁。

Q:演出完,網址還能看嗎?

看您決定。想留給大家複習,就留著;不想再公開,請 Claude 從 Cloudflare 把它刪掉。

阿瑋
阿瑋

下次演出,歌詞單寫好,貼給小獅妹,我就去練歌。

小獅妹
小獅妹

您在台上唱,我在台下陪三百支手機一起翻頁!

阿瑋
阿瑋

大家低頭看手機的那一刻,其實是一起抬頭唱歌。

謝謝一馬當先做菩薩樂團的師兄姐們,週末兩場一起把歌唱完。

到 YouTube 聽樂團的歌

阿瑋 記於 2026 年 11 月。插圖人物為 AI 生成;小獅妹是公開揭露身分的 AI 虛擬角色。兩千人的數字為單機模擬壓測,未以真實手機驗證;三百人的流量為依實作估算。

參考來源(15 筆,查證日期:2026-11-01)

本文 2026-11-01 首發於本站。