aiver AI智慧助理 — SaaS 串接架構
Demo 走模式 A,未來需要時切模式 B
1要架起一套服務,需要三種資料
這兩項不是「填表單」就有,第一次都要有人手動在對應後台操作一次才會產生:
LINE Login channel + Messaging API 官方帳號的 Channel ID、LIFF ID、Access Token、Secret
需手動在 LINE Developers 建立一次
xAI Console 建立的 Agent 名稱 + API Key
需手動在 xAI Console 建立一次
部署 Workers + D1 用,不需要另外買網域,Workers 自帶 *.workers.dev 網址
模式 A 只有我們自己要有一份
2Demo 現在:模式 A共用後端
客戶只要給 LINE 資料 + xAI 資料,Cloudflare 完全不用碰 — 全部在我們同一份服務裡用 tenant_id 分流
→
我們的 Admin 後台
每個客戶填一次資料,存進「客戶對照表」
→
共用 Workers + D1
同一份程式碼,每張表帶 tenant_id 過濾
→
| 誰要有 Cloudflare 帳號 | 只有我們自己一份 |
| 資料怎麼隔離 | D1 每張表加 tenant_id,每次查詢都帶這個過濾(跟 voice-agent-cloudflare-saas-design.html 設計一致) |
| 新增一個客戶要做什麼 | 幫他建 LINE channel + xAI Agent,把資料填進 Admin 後台的客戶對照表,不用重新部署 |
| 適合階段 | Demo、客戶數量少、還在驗證商業模式 |
3未來要切:模式 B各自獨立部署
客戶要求資料實體隔離、或單一客戶流量大到要獨立計費時才切
→
A 專屬 Workers + D1
同一套程式碼部署一份
⋯
→
B 專屬 Workers + D1
跟 A 完全獨立,互不相通
切換不用重寫架構:程式碼邏輯不變(tenant_id 分流機制留著,B 模式下每個部署只有一個 tenant,或直接拿掉過濾即可)。差別只在「誰的 Cloudflare 帳號執行 wrangler deploy」跟「D1 屬於誰」。真正要做的事是幫每個客戶各自跑一次部署流程(就是這次 SR 在做的事,重複執行一次)。
4一句話
Demo 用模式 A:客戶只要給 LINE 資料 + xAI 資料兩樣東西,Cloudflare 帳號是我們自己的,不用客戶碰,也不用網域。之後要切模式 B,只是「多部署幾次、換成客戶自己的 Cloudflare 帳號」,不是重新設計系統。
5語音助理流程與介面(詳細版)
aiver AI智慧助理 — 流程與介面設計
voice-agent · Rich Menu 常駐選單方向(選項二)· icon 一律 SVG
介面設計
聊天室畫面:常駐 Rich Menu(SVG icon 佔位圖)
LIFF 語音介面(點選單後開啟,LINE 內建瀏覽器)
Rich Menu 圖片目前是佔位圖(2500×1686px,SVG line-icon 繪製,已存到 assets/rich-menu/richmenu-placeholder.png),之後有正式設計稿再替換上傳即可,不影響功能運作。