如果你是完全不懂寫程式的 AI 新手,Falo 是專為你設計的超級利器!在許多線下情境──例如臨時戶外攤位、文創市集、限時特賣會、菜單分享,你不需要花錢買網域、租伺服器,甚至不需要打字,只要三步就能將你的紙本宣傳單、手寫菜單或實體商品,變成一個全球可打開的手機版精美宣傳網頁與 QR Code:
💡 應用場景範例:小明在創意市集擺攤賣手工蛋糕。他只需要用手機拍一下當天剛出爐的草莓戚風蛋糕,上傳 Falo,10 秒內就自動生成了一個帶有小明 LINE 和 IG 聯絡按鈕的「限量預約網頁」。小明把 QR Code 輸出貼在攤位前,路過的顧客一掃描就能直接用手機下單!
原理解析:這是基於視覺特徵的輕量化分類模型。AI 讀取壓縮 WebP 影像後,在 System Prompt 指引下,將影像特徵(如蛋糕、餐單、相片、傳統市集等)進行機率對齊,自動選出 5 種預設版型中契合度最高的一種。
成本控制:由於僅需進行一次快速的圖像類別概率對齊,算力消耗極低,因此每一次點擊僅扣除 1 點 AI 額度。
原理解析:這是高耗能的重度多模態任務。AI 必須同步執行影像 OCR 文字片段偵測(找出大湖草莓、限量等實體文字),再依據偵測到的文字,結合選取的版型主題,全新創思考符合商業文脈的標題、長描述與橫幅行銷文案。
成本控制:背後需要多模態 Vision LLM (Llama 3.2 Vision / Gemini Flash) 耗費大量運算資源做深度圖文融合推理,因此每一次使用將扣除 5 點 AI 額度。
原理解析:這是純文字的優化潤飾任務。使用者勾選特定文案欄位並輸入引導 Prompt(例如:請用日系無印風、熱血宣傳口吻...),AI 接收現有文字與風格指示,做二次推理、重組句子並輸出高品質的商用行銷詞彙。
成本控制:不需要處理圖片的張量計算,僅有純文字 Token 的生成消耗,屬於中等算力負擔,每次點擊扣除 2 點 AI 額度。
1. AI 額度 (預設 1000 點):衡量的是 **GPU 算力成本**。用戶修改與微調文案草稿時,會頻繁呼叫 AI 推理(-1 點、-2 點、-5 點)。草稿編輯不佔用資料庫儲存,故以「點」做精準的差別計費。
2. 發布額度 (預設 100 次):衡量的是 **雲端資料庫儲存與網絡頻寬資源**。當用戶滿意草稿點擊「發布公網」,網頁會真正寫入 Cloudflare KV 資料庫並佔用伺服器儲存,故限制為獨立的 100 次,防範恶意資料垃圾填充。
| 技術機制 | 運作原理 | 架構優勢 (點評) |
|---|---|---|
| 按需局部覆寫 (Partial Updates) |
每個文案欄位配有 [x] AI建議 勾選框。當使用者發起 AI 生成或修飾時,前端動態掃描勾選狀態,僅將有勾選的 Key 寫入 API JSON Schema 傳給 AI。 |
保留手動編輯結晶。AI 不會一刀切覆蓋掉使用者已經辛辛苦苦寫好的完美字句,只更新真正需要 AI 動態建議的部分。 |
| Type Safety 防禦型 JSON 提取解析器 |
若 AI 傳回純文字或因為 workerd 環境導致回傳值自動轉為 JS 物件,解析器會攔截並判斷形態。如果是物件直接解構,若為純文字則使用 Regex 提取特定 JSON 欄位。 | 零崩潰的高可用性。完全避免了因 LLM 語意輸出格式飄移、或回傳 JSON 字串包含 ```json Markdown 標示而導致的解析出錯崩潰。 |
| 自適應 Blank Contact 聯絡按鈕隱藏 hook |
前端的 applyDefaultContactsToData 模組會優先拉取 LocalStorage 中的預設聯絡方式。一旦偵測到欄位為空字串 "",在產出的 Single-File HTML 中將套用 display: none。 |
高度隱私防護。當店家不想公開某個社交聯絡渠道時,網頁會智慧隱藏該按鈕,而非像傳統套版一樣留下一個點不開的壞掉連結。 |
以下是實作「雙重額度差別扣減與前端防呆」的核心 JavaScript 程式片段,可作為程式教學時的範本:
// 1. 差別化 AI 額度扣減方法 (單位:點) function decrementLocalQuota(cost = 1) { currentQuota -= cost; if (currentQuota < 0) currentQuota = 0; localStorage.setItem('falo_quota', currentQuota.toString()); updateQuotaUI(); logMessage(`[Quota System] 扣除內建 AI 額度 ${cost} 點,剩餘可用額度:${currentQuota} 點`, 'info'); } // 2. 獨立發布額度扣減方法 (單位:次) function decrementPublishQuota() { currentPublishQuota--; if (currentPublishQuota < 0) currentPublishQuota = 0; localStorage.setItem('falo_publish_quota', currentPublishQuota.toString()); updateQuotaUI(); logMessage(`[Quota System] 扣除網頁發布額度 1 次,剩餘可用額度:${currentPublishQuota} 次`, 'info'); }
為了解決雲端 Serverless 架構在商用環境下的「防呆、容災與本地存檔」需求,本系統設計了「雲端 Metadata 輕量索引匯出 + 瀏覽器本地高耗能打包 (ZIP)」的雙軌備份還原方案:
權限與職責:管理員 (Administrator) 擁有全站所有商家資料的下載與刪除權限。可點擊「備份全站索引」將所有商家的網頁 Metadata 匯出為單一 JSON 檔案。
災難復原:萬一 Cloudflare KV 資料庫遭不慎清空,管理員只需將此 JSON 匯入獨立的 backup_manager.html 中,配合上傳對應圖片,即可在完全相同的 URL 路徑下秒級重建全站所有網頁,確保線下已印製的 QR Code 永久有效。
付費加值功能:針對進階商家 (Paid Merchant),提供個人發布網頁的「文字與配置索引 JSON 備份」。商家可將此 JSON 匯入 backup_manager.html 管理工具中。
本地批次打包:工具網頁會以表格呈現所有備份作品,商家可勾選特定項目,由瀏覽器發起併發下載,並在**商家本地端利用 JSZip 自動打包壓縮成圖檔 ZIP**。非常適合商家將過期促銷圖片做本地存檔,或批次打包給美工人員做設計使用。