GowinLink 系統架構與能力總覽
版本: v0.9.248 | 更新日期: 2026-10-29
性質: 架構 + 能力總覽 — 說明「系統怎麼組成、平台能做哪些事」
使用者視角的功能手冊 請見 docs/PRODUCT_INTRO.md;模組↔API↔DB 逐項對照請見 docs/MODULES.md
一、產品定位
gowinlink 是一套「營運活動中樞」:把產品發售、社群經營、名單收集、銷售提案、客戶經營整合在同一個平台,以 AI 貫穿「規劃任務 → 寫文案 → 建草稿 → 發佈上線 → 名單流入 → 售後關懷」整條活動生命週期。
一句話:你給品牌資料與目標,系統幫你規劃、寫內容、排程、發佈、收名單、追蹤轉換 — 你只需要審核與微調。
版本路線(2026-09-06 拍板)
| 版本 |
定位 |
狀態 |
| V1(現階段) |
模板 + AI 快速建流程 — AI 建專案、套模板、產文案草稿、一鍵上線 |
✅ 核心已上線 |
| V2 |
歷史資料驅動更新 + 功能完整性 + 自動化執行深化 |
進行中(觸發型任務、批次佇列已落地) |
| V3 |
完整自動化 / 代理化 / 跨工具串接(垂直代理 + MCP/API 開放接軌) |
規劃中,MCP 接管已提前落地(v0.9.233) |
AI 能力分界(現況):AI = 文案工廠 + 草稿產生器 + 改稿助手,且所有 AI 產出必經同意閘(人先過目才落庫)。執行端已開放:AI 建專案、排程/事件觸發自動入佇列、批次 worker 自動產稿、agent 型任務卡由宿主 agent 代跑。
二、總體架構
┌────────────────────────── 使用者端 ──────────────────────────┐
│ PWA (可安裝 App) │
│ gowin.link / www.gowin.link ← 客戶用的主 App │
│ gowinlink-console.pages.dev ← 擁有者專屬主控台 │
└──────────────┬───────────────────────────────────────────────┘
│ HTTPS (JWT)
┌──────────────▼───────────────────────────────────────────────┐
│ Frontend: Next.js 14 (static export) → Cloudflare Pages │
│ apps/frontend/ · gowinlink-app.pages.dev │
└──────────────┬───────────────────────────────────────────────┘
│ REST /api/*
┌──────────────▼───────────────────────────────────────────────┐
│ Backend: Cloudflare Worker (esbuild bundle, 單體 work.ts) │
│ gowinlink-api.winggloryone.workers.dev · backend.gowin.link │
│ JWT 驗證 / 40+ CRUD resource / 30+ 特殊端點 / RBAC │
└──┬────────┬────────┬────────┬────────┬────────────────────────┘
│ │ │ │ │
┌──▼──┐ ┌──▼───┐ ┌──▼───┐ ┌──▼───┐ ┌──▼──────────────────────┐
│ NCB │ │ LLM │ │ KIE │ │ R2 │ │ EmailIt │
│DB │ │Ollama│ │生圖 │ │檔案 │ │對外寄信 + 退信 webhook │
└─────┘ └──────┘ └──────┘ └──────┘ └─────────────────────────┘
┌──────────────────── 外部執行層(宿主機排程)─────────────────────┐
│ Hermes cron(外部鬧鐘 — CF 免費方案 cron 不觸發,故用外部喚醒) │
│ ├ 定時 job(提醒信/週報/onboarding/關懷信/名單 digest) │
│ ├ batch_worker 每 5 分拉 batch_jobs 佇列產草稿 │
│ ├ agent_worker 每 5 分拉 agent 型任務卡(沙箱 agent 代跑) │
│ └ rewrite worker 每 5 分消化 AI 品牌改寫 job │
└──────────────────────────────────────────────────────────────┘
技術棧明細
| 層 |
技術 |
細節 |
| 前端 |
Next.js 14 static export → CF Pages |
版型 E:紫光帶背景 + 玻璃卡 + 青藍 accent;PWA manifest + service worker 可安裝 |
| 後端 |
CF Worker(TypeScript, esbuild bundle) |
單體 src/work.ts 組裝,40+ CRUD resource 統一走 makeCrudHandler,手寫特殊 handler 各司其職 |
| 驗證 |
JWT (HMAC-SHA256, 24h) |
payload 帶 tenant_id + 角色;密碼 = SHA256(plaintext)(NCB 平台自動 hash) |
| 資料庫 |
NoCodeBackend(NCB)REST |
Instance 41667_product_launch_campaigns;Authorization: apikey <64hex>;單表 CRUD 帶白名單 |
| LLM |
OllamaCloud glm-5.3-flash |
全文字生成通道;llm_usage_log 逐筆記 token/成本/點數 |
| 生圖 |
KIE.AI(Z-Image 主力,grok/seedream/gpt-image 備援) |
24h URL 過期 → 生成後立即轉存 R2 |
| 檔案 |
Cloudflare R2(gowinlink-uploads bucket) |
上傳/圖庫/生圖成品;公開讀取走 /f/:key |
| 寄信 |
EmailIt(from=notify@gowin.link) |
≤50 人/封;退信/送達 webhook 回寫狀態 |
| 主控台 |
獨立 Pages project(gowinlink-console.pages.dev) |
super_admin 限定,與主 App 登入/session 完全隔離 |
三、多租戶與權限模型
| 概念 |
規則 |
| 工作區(tenant) |
最外層資料隔離邊界。1 註冊 = 自動 1 個工作區;一般客戶一輩子 1 個;多工作區 = agency 等級權限(方案額度內可自助另開) |
| 所有 list API 預設鎖 JWT 的工作區 |
連 super_admin 也一樣;?tenant_id= 切換 / ?all=1 全覽為 opt-in,跨區操作走 switch-tenant 換 token |
| RBAC 六角色 |
owner(工作區擁有者,綁 tenants.owner_user_id)/ admin / editor / operator / viewer / super_admin(全平台僅平台擁有者) |
| 點數池歸屬 |
AI 消費扣「工作區 owner」的 llm_credits — 同 owner 多工作區共用同一條池;消費紀錄記操作者 |
| 代理商藍圖 |
代理主帳為超管;各區掛獨立 user 當 owner,點數池歸各區 owner,代理主帳透過 team_members 控制 |
四、功能地圖(使用者看得到的一切)
主 App 網址:gowin.link(PWA 可安裝)
| 區 |
路由 |
定位 |
主要能力 |
| 登入 |
/login /u /help |
帳戶 |
註冊/登入/忘記密碼、帳戶設定、工作區 MCP 掛接管理、🛟 提單 + FAQ |
| 📁 專案任務 |
/p(4+ tabs) |
決策核心 |
專案列表、任務看板(Kanban 拖拽)、專案備註、自動化規則 + 一鍵啟動、AI 專案助手、⧉ 一鍵複製專案、佇列進度輪詢 |
| 📣 品牌曝光 |
/e(10+ tabs) |
內容引擎 |
社群內容排程、品牌故事/角度/痛點/案例/專家見解、品牌資產(語氣/術語/禁語)、品牌素材庫(URL/檔案 + AI 萃取)、🎬 短片工場、🖼 海報工坊、圖庫 |
| 🎁 名單贈品 |
/m |
引流 |
名單磁石(贈品)管理、虛擬贈品生成領取頁、蒐集頁、🤖 品牌機器人、名單轉換追蹤、💌 關懷信設定、AI 名單助手 |
| 💰 銷售賦能 |
/s |
成交資源 |
銷售漏斗、訂單、優惠券、銷售資產(簡報/話術/報價/案例/FAQ/講稿頁)、成交客戶資料、銷售頁產線 |
| 📋 業務提案 |
/b(7 tabs) |
成交核心 |
提案(區塊化編輯器 + 簽署分享頁 + AI 改稿)、合約、💰 業務請款單(draft→sent→paid)、交付管理、滿意度、對話輔助 |
| 🧰 模板市集 |
/t |
複製成功 |
專案 SOP 模板、頁面模板(含權限/解鎖付費)、Email 模板、AI 情境模板(prompt 管理)、素材庫、流程圖 |
| 🎓 學院 |
/k |
知識課 |
免費知識課/我的課程(course_knowledge 頁一鍵上線) |
| 🛡️ /admin |
/admin |
超管 |
工作區 CRUD、使用者 CRUD、系統信模板、功能更新記錄、訂單標記已付 |
擁有者主控台:gowinlink-console.pages.dev(v0.9.77+)
獨立網域/獨立 bundle/獨立登入(sessionStorage 隔離)。4 tabs:總覽 / 工作區 / 使用者 / 成本。
成本 tab 含:LLM 用量月度對齊(tokens in/out/cached、cost、credits)、資源用量全景(worker 請求量/subrequests/R2 讀寫)、per-workspace 與 per-endpoint 分解、訂購金流訂單管理。
公開面(免登入訪客可達)
| 入口 |
說明 |
/site/:slug |
App 內一鍵發佈的公開頁(銷售頁/贈品領取頁/課程頁/簡報),免登入直出,改版秒生效 |
| 公開表單 |
名單磁石提交(/api/public/lead)、品牌機器人收單、成交客戶分享表單(upsert-by-phone) |
| 機器人 |
工作區可自建品牌機器人(AI spec 生成人設 + 公開免 auth 對話設定) |
| 領取型贈品 |
名單贈品一條龍:訪客留資料 → 自動寄領取信(帶品牌 banner/CTA)→ 交付頁 |
五、AI 能力清冊
生成類(全部走同意閘:AI 產出 → 預覽 → 人按確認才落庫)
| 能力 |
端點 |
產出落點 |
點數 |
| ✨ 任務執行器 |
POST /api/tasks/:id/ai-deliverable |
頁面/社群貼文/贈品/提案/文字,按主旨+module_key 純程式路由 |
頁面 3 / 贈品·提案 2 / 文字·貼文·交付 1 |
| ✨ 頁面 AI 直建草稿 |
POST /api/published-pages/ai-draft |
銷售頁/贈品頁/課程頁草稿(模式 html = 模板骨架 + AI 完整設計) |
1 |
| 🤖 AI 一句話建專案 |
POST /api/projects/ai-create |
選模板 + 命名 + 建任務規則草稿 |
最多 3 |
| ✨ AI 品牌改寫 |
批次佇列 rewrite job |
套模板後任務/草稿文字換成品牌語境 |
1/模式 |
| ✨ 依意見改稿 ×4 |
ai-revise(published-pages / proposals / email-templates / video-jobs) |
修訂版 draft(revision_of 版本樹,舊版並存) |
1–2 |
| 🤖 品牌機器人 spec |
/api/chatbots/:id/ai-spec |
機器人人設與規則 |
依池 |
| 📎 品牌素材 AI 萃取 |
/api/brand-sources/ai-extract |
從網址/檔案萃取品牌語料 |
依池 |
| AI 示意圖(社群) |
KIE pipeline |
生圖 → 轉存 R2 |
生圖獨立計價(非文字池) |
語境注入與品牌溯源
- AI 生成一律讀取
brand_assets(品牌語氣/術語/禁語/tagline)+ 該專案綁定的故事/角度/痛點/案例/專家見解。
- 品牌鐵則:一條龍/測試生成只准根據該工作區的品牌資料,prompt 不得夾帶外部自編情境;驗收標準 = 產出能逐字對回品牌欄位。
- 工作區級 AI 併發鎖(
ai_locks):同工作區同時只准 1 個 AI 生成,5 分鐘過期自動接管。
模板與知識
- 8+ 條系統 SOP 模板(預售發售/常態研討會/競品定位/直播發售 14 任務全鏈/業務提案 10 任務…),支援工作區自建、Agency 名下共享、專案存成模板、⧉ 整案複製。
- 模板任務支援
trigger(schedule 到期日 / event 上游成品就緒)+ offset_days(D0+天數)+ requires(依賴成品)— 套模板即排程,trigger-sweep 自動把到點任務送入佇列出草稿。
- 任務卡多型:標準卡、
external_api 型(呼叫 EmailIt 寄信、PAYUNi 查單等純程式連接器)、mcp_tool 型(呼叫工作區自掛 MCP server)、agent: 型(宿主 agent 沙箱代跑)。
- 對應知識課同步上架於
/k 學院(接案實戰五階段 SOP 等)。
六、自動化產線(規則 → 佇列 → worker → 回寫)
automation_rules(專案掛規則:階段/目標/活動型/數量/頻道)
│ 手動「啟動自動化」→ POST /api/automation/trigger
│ 或 trigger-sweep 掃到期(schedule)/就緒(event) 任務
▼
batch_jobs 佇列(executor:草稿五型 / rewrite / agent;queued→claimed→done/failed)
│ 每 5 分宿主 worker 拉單(最舊優先、15 分 stale 接管、心跳保活)
▼
執行
├── 標準草稿線:switch-tenant 對齊 → ai-deliverable → 同意閘語意落草稿 → 成品登記 project_artifacts → 任務回寫成品連結
├── AI 改寫線:直呼 aiRewriteTasks/aiRewriteDrafts — 套模板後數分鐘內全案品牌化
└── agent 線:hermes 沙箱 agent(turns/時間上限 + secrets 遮罩 + repo 唯讀)代跑任務卡
▼
回報:job complete → 前端佇列進度 / TG 通知收件匣 → 失敗不入佇列重送(冪等)
- 編排動作五型(Orchestrator):
social-invite(貼文)/ lead-magnet(贈品)/ demo(提案)/ follow-up(關懷任務)/ webinar(活動文案排程)。
- 批次產草稿:單次收單上限 20 條,先做點數池預檢拆 job;關頁也能等結果(前端 5s 輪詢 + 重開續看)。
- 成品閉環:頁面/貼文/贈品產出自動登記
project_artifacts;任務卡依賴檢查 — requires 到齊 = ✓,缺件 = ⛔ 卡點提示。
七、排程與通知(外部鬧鐘模式)
CF 免費方案不觸發 cron(兩輪實證 2.5 週 0 喚醒),改用外部鬧鐘:宿主機 Hermes cron 定時打後端 job 端點(JOB_EMAIL_TOKEN 認證)。
| Job |
時程 |
功能 |
| Trial 到期提醒 |
每日 21:00 台 |
D-3/D-0 提醒信 |
| 名單 digest |
每日 21:00 台 |
有新名單才寄當日總結 |
| 平台用量週報 |
每週一 21:00 台 |
super_admin 週報 |
| 售後 onboarding |
每日 21:05 台 |
D1/D3/D7 引導信 |
| 閒置喚醒 |
每日 21:15 台 |
工作區 d7/d14 沒人用 → owner 帶點數餘額的喚醒信 |
| 💌 關懷信 sweep |
每日 21:25 台 |
名單贈品期滿逐日關懷信(冪等鍵防重寄) |
| ⏰⚡ 任務觸發 sweep |
每 5 分(隨 worker) |
schedule 到期 / event 就緒任務入佇列 |
| 🚚 草稿佇列 worker |
每 5 分 |
batch_jobs 拉單消化 |
| 🤖 agent worker |
每 5 分(獨立 lane) |
agent 型任務卡 |
Email 全鏈:EmailIt 寄信(from notify@gowin.link)、寄信事件(delivered/bounced/suppressed)經 HMAC 驗簽 webhook 回寫 email_delivery_log;永久失敗自動退 0.1 點;逐封對帳。
八、金流與計費
| 面 |
現況 |
| 商業模式 |
代建置費 + 系統月費 + 超額點數費(2026-10-25 拍板) |
| 自助訂購 |
GET /api/billing/plans 目錄 → POST /api/billing/orders 下單 → PAYUNi UPP 金流(正式 gateway,真鍵已通)→ 查詢/回調 自癒對帳 → settleOrder 冪等自動開通(訂閱/點數包/工作區加購三型) |
| 人工備援 |
super_admin Console 標記已付 → 同一開通函式 |
| 點數池 |
llm_credits 每工作區一條池(帳歸 owner);低額度警報(Telegram);文字生成依功能分級計價(1–3 點),生圖獨立高級點數 |
| 方案 |
free/pro/enterprise/agency — 額度真相源 = tenants.plan(工作區數額度/點數池開通兩處同步寫) |
| 業務請款 |
/b/bills 對客戶請款狀態機(draft→sent→paid,逾期純程式計算) |
| 用量計量 |
llm_usage_log(token/completion/cached/cost/credits 全量)+ resource_usage_log(worker subrequests/R2 讀寫)— 未來扣點公式直接接這兩張表 |
九、內容生產專場(近期主戰力)
| 工場 |
路由 |
能力 |
| 🎬 短片工場 |
/e/studio |
引流域短片一條龍(腳本 → 場景 → 旁白 → 成片);雙渲染通道(瀏覽器 WebCodecs / 本機渲染),video_jobs 全鏈 production;平台 12 點 / capping 3 支/日 |
| 🖼 海報工坊(PosterLab) |
/e/assets |
三路線:風格轉移 / AI 底圖 / 圖庫疊字;主題融合(LLM 轉譯意境再生成);成品存 R2 圖庫 |
| 生圖管線 |
共用 |
KIE AI(Z-Image 主力)→ 24h URL 即轉存 R2 → /f/:key 公開讀 |
十、資料層(NoCodeBackend)
- 40+ 張表(工作區/使用者/任務/貼文/贈品/提案/頁面/訂單/用量…),全部經
makeCrudHandler 白名單 CRUD(allowedFields / requiredFields / enumFields 三白名單防注入)。
- 逐表對照由 hook 自動重生:
docs/MODULES.md(每次 backend route 或 frontend page 改動自動更新,不手維護)。
- 特殊表語意:
brand_assets(每工作區單列,人類資產 agent 不覆寫)、ai_locks(併發鎖)、batch_jobs(佇列)、project_artifacts(成品登記簿)、email_delivery_log(寄信對帳)、llm_usage_log / resource_usage_log(計量)、workspace_mcp_settings(MCP 掛接)、release_notes(功能更新記錄)。
十一、部署與維運
| 面 |
內容 |
| 後端部署 |
python3 scripts/deploy_backend_t112_v2.py — 自動從 production settings 抓 binding 真值 → esbuild → deploy → login 冒煙;致命 binding(NCB/JWT/LLM)缺值自 abort |
| 前端部署 |
wrangler Pages deploy --branch=main(不加會只進 preview);部署成功必自動打 `deploy/{be |
| 正式網域 |
gowin.link(FE)/ backend.gowin.link(BE),Cloudflare DNS 全 API 管理 |
| 文件同步 |
pre-commit hook:版本號單一真源 = layout.tsx title,改版自動同步 RUNBOOK / OPERATIONS / PRODUCT_INTRO / AGENTS 的版本頭;MODULES.md 源碼觸發自動重生 |
| 部署後驗證 |
三證慣例:health version / 頁面 title 版本 / production chunk 特徵字串 grep,加真實 API 呼叫 |
| 已知平台限制 |
CF 免費:單次 invocation 50 subrequests(批次端點 cap 由這反推)、CPU 10ms、cron 不觸發;Worker 對自家域名 fetch 被擋(1042)→ 內部呼叫走 SELF service binding;LLM 等待不算 CPU(await) |
十二、安全與治理原則
- 資料隔離:所有 list API 預設鎖 tenant,super_admin 也要 opt-in;修 tenant 相關 code 後必用 super_admin 再測一輪(過往洩漏教訓)。
- Secret 治理:金鑰一律環境 binding / 檔案注入,不進對話不進 git(pre-commit 三層防護擋 mask 污染值);MCP 掛接的 token 永不回顯(只回 SHA256 指紋)。
- 品牌資產 = 人類資產:agent 永不覆寫 tenant 品牌欄位(唯讀驗證/mismatch 只回報)。
- AI 落庫必經同意閘:預覽 → 人按確認才寫入,永不自動落庫;失敗自動退點。
- 透明度:營運數據(成本/用量/自動化狀態)一律要在 Console 後台看得到,不做無 UI 的暗表。
- repo:GitHub 上為 private,永不轉 public;production 環境與測試工作區(tenant 84「每日驗證」等)分離,測試產物用完清場。
十三、目前狀態一句話
v0.9.248(上線中):九大功能區 + 超管主控台 + 模板/佇列/觸發/多型任務卡的自動化骨架全部在線上運轉,「名單贈品一條龍」「發售鏈路」「短片/海報工場」「金流自助訂購」皆已 production 實測。近期主線在改稿佇列化(套模板秒回 + 品牌改寫數分鐘內回寫)與用量計量地基。
附錄:文件索引
| 想看… |
去哪 |
| 使用者視角功能手冊(含模板 JSON 格式) |
docs/PRODUCT_INTRO.md |
| 接案即戰全書(今天接客戶,幫他做到什麼、怎麼做、報價簽約請款配套) |
docs/CLIENT_PLAYBOOK.md |
| 模組↔API↔DB 逐項對照(自動重生) |
docs/MODULES.md |
| 各功能「程式 vs AI」執行方式 |
docs/FEATURE_EXECUTION.md |
| 接案五階段 SOP(客戶 onboarding) |
docs/CLIENT_ONBOARDING_SOP.md |
| API 一覽 |
docs/API.md · docs/AGENT_API.md |
| 部署細節 |
docs/DEPLOY.md · RUNBOOK.md |
| 維運/權限模型 |
OPERATIONS.md |
| 競爭定位(V3 策略) |
docs/COMPETITIVE_POSITIONING.md |
| NCB schema 細節 |
docs/NCB_SCHEMA.md |
| 版本歷史 |
CHANGELOG.md |
gowinlink v0.9.248 · rendered %(stamp)s