在 iPad 上點「設為熱飲鍵/冰飲鍵」會複製配方;如果沒有自動跳到捷徑,接著點快速工具列上的「」,它會讀剪貼簿並更新熱飲/冰飲鍵。
熱飲、冰飲鍵收到 NO AUTHENTICATION(token 過期)時,會自動執行「」重新登入再送一次。也可以手動更新:
| iPad 通知 | 意思 | 怎麼做 |
|---|---|---|
| 熱飲已送出(回應含 success 或 "code":0) | 成功 | 機器沒動的話先下壓喚醒 |
| 熱飲鍵還沒有配方 | 還沒按過「設為熱飲鍵」 | 在 iPad 的吧台頁按一次 |
| NO AUTHENTICATION | 自動更新後仍被拒 | 手動更新 token;登入失敗就檢查帳號密碼 |
| xBloom 登入失敗 | 帳號或密碼錯 | 編輯「」最上面兩個文字 |
| Internal Server Error | 配方內容被改壞 | 重新按「設為熱飲鍵」 |
| 逾時/連不上 | 網路或 xBloom 伺服器 | 先用官方 App 手動沖 |
在 iPad 執行「」捷徑,對準這個 QR code。
蛋糕濾杯的底面積是固定的,所以「粉量」不只是濃淡的問題,它同時改變粉層深度、阻力、接觸時間和吸走的水。下表是同一個研磨度下的方向。
| 你改了 | 粉層 | 滴濾時間 | 萃取率 EY | 濃度 TDS | 杯中液量 |
|---|---|---|---|---|---|
| 粉量 ↑(水不變) | 變深 | 變長 | ↓(水相對變少) | ↑↑ | ↓(每 g 粉吸走約 2 g 水) |
| 粉量 ↑(比例不變) | 變深 | 變長 | 略 ↑(接觸變久) | ≈ | ↑ |
| 研磨調細 | — | 變長 | ↑(太細反而不均、會降) | ↑ | ≈ |
| 水溫 ↑ | — | 略短 | ↑(萃取變快) | ↑ | ≈ |
| 悶蒸水 ↑ | 濕得更均勻 | — | 略 ↑ | 略 ↑ | ≈ |
| 段數 ↑/停頓 ↑ | — | 變長 | ↑ | ↑ | ≈ |
| 冰手沖:冰比例 ↑ | — | 變短(熱水少) | ↓(熱水比降低) | 最終 ≈ 由總水決定 | ≈ |
「1:15 的風味」可以拆成兩件事:濃度(TDS,杯裡每 100 g 有幾 g 咖啡物質)和萃取率(粉裡被帶出多少)。濃度決定濃淡,最直接;萃取率決定酸甜苦的平衡,靠研磨和水溫調。工具用濃度來定義:
| 用你的實測驗算 | 粉量 | 出杯 | 熱沖 1:15 應出 | 風味相當於 |
|---|---|---|---|---|
| 熱飲 233 ml | 15.5 g | 203 g | 203 g | 1:15.0 |
| 冰飲 165 ml + 130 g 冰 | 17.8 g | 230 g | 232 g | 1:14.9 |
你憑口感調出來的冰飲,算出來已經幾乎是 1:15,這也驗證了這個定義合理。要剛好 1:15,冰飲注水是 167 ml,只差 2 ml;165 ml 正好是 App 設得出來的 15 倍數(App 填 1:11),所以冰飲不必做非 15 倍數的實驗。
2026-10-25 實測結果:機器照分段水量出水,名目水量就是實際出水,非 15 倍數可行。下面是當時的實驗設計,留作紀錄。
App 以 15 g 為基準,水量只能是 15 的倍數(225、240…),15.5 g 粉最接近只有 1:14.5 或 1:15.5。捷徑直接送指令,可以把每段水量寫成任意數字。要確認的是機器會不會照做。
冰飲 165 ml 本來就是 15 的倍數,這個實驗只跟熱飲有關。你目前的熱飲捷徑送的就是 233 ml。如果剛才那杯 203 g 是用捷徑沖的,代表機器很可能已經照 233 ml 出水,空杯測一次就能確定。
xBloom Original 的濾杯用 155 尺寸的平底波浪濾紙(官方 Premium 平底濾紙或 Kalita 155 都可以)。平底讓粉層厚度一致,波浪褶讓紙和杯壁之間留空隙,減少紙貼壁造成的旁流。代價是底面積小、深度對粉量很敏感。
來源:nextlevelbrewer.com/pulsar-mini-recipes · scottrao.com/blog/2025/11/11/bed-depth-why-it-matters · coffeeadastra.com/2025/11/28/the-pulsar-mini-and-the-importance-of-bed-depth · samplecoffee.com.au/brewguides/kalita-wave
滴濾式沖煮結束後,濕粉會留住一部分水(文獻值:滴濾約 2 g/g,浸泡式約 3 g/g)。你的熱飲實測:15.5 g × 15 = 233 ml 注水,濾出 203 g,每 g 粉吸走 1.94 g,跟文獻值幾乎一樣。冰飲:165 ml 注水,濾出 139 g,每 g 粉吸走 1.46 g,比熱飲少。可能是冰飲水少、沖煮時間較短,粉沒有吸飽。工具熱、冰分開用各自的實測值。
| 你的配方 | 粉量 | 注水 | 被粉吸走 | 杯中約 |
|---|---|---|---|---|
| 熱飲 1:15 | 15.5 g | 233 ml | 30 g | 203 g(實測) |
| 冰飲 | 17.8 g | 165 ml | 26 g | 139 g(實測) |
所以同樣 1:15,粉越多,被吸走的水越多。要固定出杯量時,用「注水 = 目標杯量 + 2 × 粉量」:想出 203 g、用 17 g 粉,就注 237 ml(1:13.9)。吸水值會隨萃取率、烘焙度和研磨變,換豆時可以再秤一次:(注水 − 濾出液)÷ 粉量,填到「校正」。
來源:baristahustle.com/lesson/acm-5-03-liquid-retained-ratios · coffeeadastra.com/2019/02/20/a-more-accurate-way-to-calculate-average-extraction-yield
滴濾是順序萃取:易溶的酸、甜先出來,難溶的苦、澀後出來。悶蒸後第一段水碰到的是最濃的粉,萃取效率最高;最後一段的水流過的是已經被洗過的粉,主要是帶出剩下的難溶物質和把杯子裝滿。粕谷哲的 4:6 法把這件事講成一句話:前 40% 的水決定酸甜平衡,後 60% 決定濃淡。機器流速固定,每多 1 ml 就多約 1 ÷ 流速 秒的接觸時間,加在哪一段就是延長那一段。
所以工具在粉量或水量變動時,不會把分段整個重畫,而是把差額加到既有分段上,加法由你選。粉量變動時悶蒸會先跟著粉量走(粉量 × 悶蒸倍數),剩下的差額才照你選的方式分配:
建議做法:一次只動 1–2 ml,喝過再動;先用「後段」把杯量調到要的大小,再用「前段」微調甜厚。分段水量的 +/- 是 1 ml 一格。這是沖煮經驗法則,店內還沒用 TDS 量過,以喝到的為準。
來源:粕谷哲 4:6 法(2016 WBrC)· baristahustle.com/newsletters/baseline-tests · Rao, The Coffee Brewing Handbook
來源:baristahustle.com/blooming-marvellous · baristahustle.com/newsletters/baseline-tests · Batali et al., Sci Rep 2020(PMC7536440)· Guinard et al., J Food Sci 2023, 88:2168
把總水量的一部分換成下壺裡的冰。熱水直接滴在冰上急速降溫,香氣保留較多。常見分配是熱水 60%、冰 40%(範圍 33–50%)。
| 出處 | 粉 | 熱水 | 冰 | 冰佔比 |
|---|---|---|---|---|
| xBloom 官方部落格 | 20 g | 190 | 110 | 37% |
| Kurasu(Wave) | 16 g | 150 | 140 | 48% |
| coffeelabo | 20 g | 160 | 120 | 43% |
| 台灣「375」 | 15 g | 150 | 100 | 40% |
| 你的冰飲(現用) | 17.8 g | 165 | 130 | 44% |
來源:xbloom.com/blogs/news/iced-coffee-brewing-methods · xbloom.com/products/iced-coffee-bundle · kurasu.kyoto/blogs/recipe/new-kalita-wave-iced-coffee-recipe · coffee-labo.co.jp/recipe/iced-coffee · coffeegeek.com
來源:xbloom.com/products/omni-dripper-for-xbloom-original · github.com/hessius/XBRecipeWriterPlus(雲端 API 與 Studio 協定逆向)· techcrunch.com/2023/03/31/xbloom-pour-over
捷徑沒辦法被別的程式改寫,所以做法是讓「熱飲」、「冰飲」兩個捷徑每次執行時,去讀 iCloud Drive「捷徑」資料夾裡的檔案。更新檔案,就等於更新了捷徑;快速工具列上的按鈕完全不用動。
| 檔案 | 內容 | 誰寫入 | 誰讀取 |
|---|---|---|---|
| xbloom-hot.txt | 熱飲配方 | 「xBloom 設定」(編輯器按「設為熱飲鍵」) | 熱飲 |
| xbloom-ice.txt | 冰飲配方 | 「xBloom 設定」(編輯器按「設為冰飲鍵」) | 冰飲 |
| xbloom-token.txt | token | 「xBloom 更新 token」或「xBloom 設定」(編輯器「傳 token 到 iPad」) | 熱飲、冰飲 |
「設為熱飲鍵」要在 iPad 上按才會直接寫入。在手機或電腦上調配方時,先「存到店內配方庫」,再到 iPad 的「吧台」頁按;或按「QR」,讓 iPad 執行「xBloom 設定」掃描。第一次 iOS 會詢問貼上、存檔、連線權限,都選「永遠允許」。
沖煮指令的 header 裡有一行 authorization: token 加 32 碼,這是你 xBloom 帳號的登入憑證。它會過期,或在 App 登出、換裝置登入時失效,這時伺服器回 {"message":"NO AUTHENTICATION","code":10001}。
不用再架 mitmproxy。公開的 xBloom API 逆向專案(XBRecipeWriterPlus)用真實帳號驗證過:用帳號密碼呼叫登入 API 就會回傳 token,請求是普通 JSON,不需要加密。
密碼存在捷徑裡是明文,能打開這台 iPad 捷徑 App 的人都看得到;Mac 版存在鑰匙圈比較安全。mitmproxy 抓 token 的舊流程保留當備案。來源:github.com/hessius/XBRecipeWriterPlus(library/cloud/session.ts、docs/machine-integration/cloud-api.md §C-bis)