在傳統全端開發中,打造一個具備多模態分析與訂閱機制的 AI SaaS,通常意味著開發者必須在多個零碎的服務商之間來回周旋:認證找 Clerk 或 Auth0、資料庫用 Supabase、檔案存儲放 AWS S3、AI 模型接 OpenAI、向量檢索開 Pinecone,最後再部署到 Vercel。
這種「拼裝車」架構在傳統工程中行得通,但在 Vibe Coding(自然語言驅動開發) 的情境下,卻是一場災難。
當你依賴 AI 助手(如 Cursor、Claude 或 Gemini Code Assist)協作編程時,API 規範越零散、SDK 認證邏輯越分歧,AI 產生幻覺(Hallucination)與型別衝突的機率就越高。要實現極致的開發流暢度,技術棧的內聚性(Cohesion)與整合度才是決定成敗的核心。
今天我們將深入拆解 OmniVibe AI 的全棧架構,剖析為何 Google AI(Gemini API / AI Studio)+ Firebase 全家桶 會是獨立開發者與敏捷團隊打造生產級 AI SaaS 的王炸組合。
OmniVibe AI 的架構設計遵循一個核心原則:讓資料流動路徑最短,最大化發揮 Google 雲端原生的整合優勢。
graph TB
subgraph Client ["前端客戶端 (Frontend Client)"]
UI["Next.js 15 (App Router)<br/>Tailwind CSS + Google Stitch 原型"]
SSE_Client["SSE 串流接收器<br/>(Markdown 即時打字機)"]
end
subgraph Firebase_PaaS ["基礎設施與後端平台 (Firebase Platform)"]
Auth["Firebase Authentication<br/>(Google OAuth 2.0 / JWT)"]
Storage["Firebase Storage<br/>(大檔案分塊上傳 / Direct Upload)"]
Firestore["Cloud Firestore<br/>(NoSQL / 即時狀態監聽 / 安全規則)"]
AppHosting["Firebase App Hosting<br/>(次世代 Serverless 全端託管)"]
end
subgraph Google_AI ["Google AI 大腦引擎"]
FilesAPI["Gemini Files API<br/>(暫存大型影音與高解析 PDF)"]
Cache["Context Caching<br/>(長文本/長影音重複調用快取)"]
GeminiCore["Gemini 1.5 Flash / Pro<br/>(原生多模態 + Structured Outputs)"]
end
subgraph External ["第三方服務"]
Stripe["Stripe Checkout & Webhooks<br/>(訂閱制與額度充值)"]
end
%% 資料流連線
UI -->|1. 登入校驗| Auth
UI -->|2. 直傳影音/PDF| Storage
UI -->|3. 發送處理請求| AppHosting
AppHosting -->|4. 驗證權限與配額| Firestore
AppHosting -->|5. 載入檔案並傳送至| FilesAPI
FilesAPI --> Cache
Cache --> GeminiCore
GeminiCore -->|6. SSE 串流回傳 Token| SSE_Client
AppHosting -->|7. 寫入專案結構化資料| Firestore
Stripe -->|8. Webhook 更新會員狀態| AppHosting
這個架構將傳統後端繁重的維護工作(認證狀態持久化、檔案上傳中繼轉發、資料庫連線池管理)全數交由 Firebase 託管,而運算與推論核心則直連 Gemini 引擎。
在以往的架構中,若想讓 AI 總結 1 小時的演講影片或數十頁的財報:
長文件與高畫質影音處理最大的痛點就是成本。當用戶上傳一份 50 萬 Token 的行業白皮書,第一次要求「產出重點摘要」,第二次要求「產出 5 篇社群貼文」時:
社群貼文需要明確的 title、tags、body 陣列;短影音腳本需要 timestamp、visual_cue、script。Gemini API 原生支援傳入 Pydantic 或 JSON Schema 進行 responseSchema 約束,保證模型產出的每一筆資料 100% 符合 JSON 規格,杜絕正則表達式解析失敗引發的前端白畫面。
| 比較維度 | 拼裝車架構(S3 + Supabase + Clerk) | Google 原生架構(Firebase 全家桶) |
|---|---|---|
| 安全規則整合 | 需手動在各服務間驗證 JWT,編寫多套安全邏輯 | Firestore.rules 與 Storage.rules 原生綁定 request.auth.uid |
| 前端即時同步 | 需額外配置 WebSocket 連線或長輪詢 | onSnapshot 原生監聽,資料異動毫秒級推送前端 |
| 檔案直傳體驗 | 需要後端生成 Presigned URL,流程繁複 | 前端 SDK 直傳 Cloud Storage,支援暫停、繼續與進度監聽 |
| AI 輔助代碼產出 | AI 常因不同工具的 SDK 版本衝突而寫出錯誤膠水代碼 | Firebase SDK 規格高度一致,AI 寫出來的代碼可用度極高 |
在 Vibe Coding 實踐中,膠水代碼(Glue Code)越少,開發者的專注力就越高。
使用 Firebase,我們不需要撰寫任何檔案中繼伺服器程式碼。前端將使用者上傳的影片直接送入 Firebase Storage,觸發後端 Cloud Functions 或 Next.js API Route,後端直接將該 Storage URI 交給 Google AI 處理,並將結構化結果寫入 Cloud Firestore,前端畫面隨即透過 Snapshot 即時反應。
OmniVibe AI 的架構選型為本次 30 天挑戰奠定了三大優勢:
架構藍圖已經確立,接下來就是進入開發戰場的第一線。
明天(Day 04),我們將進入【開發環境篇】:現代 Vibe Coding 環境配置實戰!工欲善其事,必先利其器,我們將公開如何配置 Cursor、AI 輔助工具鏈與 System Rules,讓 AI 成為百發百中的全端神隊友!