跳轉到內容
supastack
瀏覽檔案
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/modules/config.md (or send Accept: text/markdown).

環境與配置

整個工作區唯一的已驗證模式。

詢問本指南
開啟方式

進行一項配置更改並檢查它

從正在執行的 Web 應用程式開始。在編輯器中開啟apps/web/.env.local;如果不存在,請使用 Web 教程將 .env.example 複製到那裡。對於無害的首次檢查,請找到 EMAIL_PROVIDER=local 並將其保留在本地。此設定將產品電子郵件傳送到本地預覽而不是真正的收件箱。不要將 KEY=value 線貼上到終端中。

對於您啟用的每項服務,請遵循該提供商的設定指南,僅替換指定值,儲存檔案,使用 Ctrl + C 停止 Web 伺服器,然後使用以下命令重新啟動。如果驗證指定了丟失的金鑰,請重新開啟此檔案並將該金鑰與提供程式指南進行比較。僅對資料庫遷移使用的值保持 root .env 同步;單獨複製它不會配置 Next.js。

corepack pnpm --filter @supastack/web dev

從環境示例開始

根目錄的 .env.example 是配置清單。共享校驗在 packages/config。把選定的應用環境與供應商模式放在一起審閱;本地介面並不等於生產憑證策略。

無憑證的參考模式要求 local/test 應用配置與 fake/本地供應商。選擇生產供應商會改變執行要求。

讓金鑰留在 API 之後

認證金鑰、資料庫憑證、供應商金鑰、Stripe 金鑰與 Trigger 憑證都屬於服務端。絕不要給它們加 NEXT_PUBLIC_ 或 EXPO_PUBLIC_ 字首。安裝過程中不要列印它們,也不要把它們放進錯誤響應。

瀏覽器只拿到公開配置與允許的模型別名。工作區歸屬、許可權決策、預算與供應商選擇都由服務端強制執行。

先用再信:檢查變更

通過現有的 config 包校驗配置,並執行相關的確定性測試。準備好驗證真實整合時,再走單獨 opt-in 的供應商冒煙路徑。

corepack pnpm test
corepack pnpm check
corepack pnpm build

安裝與配置

packages/config 是唯一解析 process.env 的地方:zod 模式產出型別化的 ServerConfig 和 PublicConfig,提供商選擇以 kinds 表達 —— providers.ai、providers.billing、providers.email、providers.jobs、providers.storage 各自解析為一個命名的介面卡及其必填欄位。

啟用提供商會使其憑據成為必填:開啟社交登入、s3 儲存 kind 或 resend 郵件 kind 會讓啟動失敗並指出缺失的變數,而不是之後在執行時出現意外。

STORAGE_PROVIDER=s3
STORAGE_BUCKET=kit
STORAGE_ENDPOINT=https://s3.example
STORAGE_PUBLIC_BASE_URL=https://cdn.example
# → config rejects the env if a required field is missing

實現流程

在伺服器邊界通過 parseServerConfig 讀取配置,並將型別化的值向內傳遞 —— 不要在功能程式碼中觸碰 process.env。公共配置是一個單獨的、刻意保持小巧的物件,可以安全地序列化給客戶端。

產品專屬的 env 屬於消費產品自己的模式。不要為單個產品的需求而膨脹套件模式。

驗證與排障

更改模式後執行 config 包測試,並確認缺失的必填變數會在錯誤中指明自身。本地能解析但生產中不能解析的 env 通常意味著一個未檔案化的必填欄位。

常見問題

14 個問題

supastack 是什麼?

supastack 是用於構建 AI 驅動 SaaS 產品的模組化基礎。它把通用基礎設施整合在一起,讓你專注於產品專屬的功能。

它支援 Web 和移動端嗎?

支援。supastack 包含 Next.js 與 Expo 應用,作為 Web 與移動端體驗的起點。

包含哪些認證方式?

Better Auth 覆蓋郵箱/密碼、OTP 與社交登入。個人工作區隨賬戶一起開通,產品記錄從第一天起就有邊界。

AI 是如何支援的?

supastack 包含可配置的多供應商 AI、用量追蹤、預算,以及加密的自帶金鑰(BYOK)支援。

訂閱如何處理?

對於基於該套件構建的產品,Stripe 計費、訂閱與許可權構成付費訪問的基礎。供應商金鑰僅存於服務端。

我的產品專屬程式碼放在哪裡?

產品專屬功能保留在獨立的程式碼庫中,產品通過配置接入 supastack 的基礎模組。

supastack 如何定價?

套件為一次性購買、終身更新:單棧 249 美元(Next.js(Web)、Expo(iOS 與 Android)、Tauri(macOS 與 Windows 桌面)倉庫任選其一),雙棧 398 美元(任選兩個倉庫),或完整套裝 399 美元(全部三個倉庫與完整 monorepo),每個額外開發者席位 75 美元。套件本身沒有訂閱。本站結賬後通過郵件傳送許可證金鑰,倉庫訪問通過 GitHub 邀請授予。

工作區如何界定我的資料?

使用者記錄按 workspaceId 劃定邊界。身份、許可權、AI 用量、計費事件與審計條目都留在個人工作區邊界內。

後臺任務如何工作?

Trigger.dev 是明確的任務執行時。JobRunner 契約只承諾 enqueue、status 與 cancel——工作流語義保持 Trigger.dev 專有且顯式。

郵件與營銷觸達有何不同?

事務性郵件覆蓋產品工作流,如任務完成通知。冷觸達與營銷活動屬於產品自身的範疇,不在本套件的郵件模組內。

移動端購買如何運作?

移動端已支援 RevenueCat 原生購買和恢復購買,訪問許可權由服務端驗證。釋出前需配置商店賬戶並完成裝置測試。Web 計費保持獨立。

AI 供應商金鑰存放在哪裡?

自帶金鑰憑證經過加密且僅存於服務端。金鑰在日誌中被脫敏;用量與預算在工作區級別保持可見。

結賬支援哪些付款方式?

Stripe 託管結賬接受銀行卡,在 Stripe 賬戶啟用後還可提供支付寶與微信支付——方便中國買家。錢包授權為非同步確認,付款完成後許可證頁面會立即更新。

我能申請退款嗎?

獲得程式碼倉庫訪問許可權後,supastack 將永久歸你所有,因此無法退款。但請放心,你將獲得包含終身更新的完整原始碼,可為你自己或客戶構建併發布無限數量的產品。你只需注意不能轉賣程式碼,也不能將倉庫作為啟動模板二次分發。唯一的例外是上線返現——上線一款用 supastack 打造的真實產品並公開分享,在購買後 60 天內達到 5,000 次自然瀏覽或 50 個自然按讚,即可退還已付款項的 50%;詳見條款。

TW
主題