跳轉到內容
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/desktop/updates.md (or send Accept: text/markdown).

自動更新與釋出頻道

簽名的更新源、stable/beta 頻道,以及出廠的釋出工作流。

詢問本指南
開啟方式

一次性生成更新器金鑰對

更新器會校驗下載產物的 minisign 簽名。用 Tauri 簽名工具生成金鑰對,把私鑰存入 TAURI_SIGNING_PRIVATE_KEY、口令存入 TAURI_SIGNING_PRIVATE_KEY_PASSWORD,兩者都放進金鑰儲存 —— 絕不進倉庫。產出更新器產物的構建會在每個安裝包旁生成 .sig 旁車檔案;公鑰分發給客戶端,私鑰留在 CI。

corepack pnpm --filter @supastack/desktop exec tauri signer generate -w ~/.tauri/product.key

在構建期配置更新器

tauri.conf.json 附帶一個哨兵更新器塊,endpoints 與 pubkey 留空 —— 請保留它,因為缺少這些鍵更新器外掛就無法初始化。真實值在構建期通過 --config JSON 覆蓋層或 TAURI_CONFIG 環境變數深合併進去;設定了 SUPASTACK_UPDATER_ENDPOINT 與 SUPASTACK_UPDATER_PUBKEY 時,check:release-config 會列印可直接貼上的覆蓋層。

要麼兩個都設、要麼都不設:只覆蓋 endpoints 會讓 pubkey 留空,檢檢視似正常而每次安裝都卡在簽名校驗。端點 URL 攜帶 {{target}}、{{arch}} 與 {{current_version}} 佔位符 —— 版本槽為必填 —— 外加一個可選的 {{channel}} 路徑段,用於啟用釋出頻道。

# check:release-config prints this overlay for tauri build --config:
# {"plugins":{"updater":{"endpoints":["https://releases.example.com/{{channel}}/{{target}}/{{arch}}/{{current_version}}"],"pubkey":"<base64 public key>"}}}
# SUPASTACK_UPDATER_ENDPOINT=
# SUPASTACK_UPDATER_PUBKEY=

釋出 latest.json 更新源

每個端點應答一份 latest.json 清單 —— version、notes、pub_date,以及覆蓋 darwin-aarch64、darwin-x86_64、windows-x86_64、windows-aarch64、linux-x86_64、linux-aarch64 的 platforms 對映 —— 每個條目把安裝包 URL 與其簽名配成一對。

用 release:manifest 指令碼生成它:指令碼掃描打包目錄中的 .app.tar.gz、-setup.exe(優先於 .msi)與 .AppImage 產物 —— 每個都必須帶 .sig 鄰居 —— 然後寫入或合併清單。可用標誌包括 --version、--base-url、--bundle-dir 加 --platform、跨多次執行累積平臺的 --merge、--notes、--pub-date 與 --out。

corepack pnpm --filter @supastack/desktop release:manifest -- \
  --version 1.2.0 \
  --base-url https://releases.example.com/stable \
  --bundle-dir src-tauri/target/release/bundle \
  --platform windows-x86_64 \
  --merge latest.json

stable 與 beta 頻道

端點包含 {{channel}} 佔位符時,應用選單會啟用 Beta Updates 核取方塊,在 stable 與 beta 源之間切換。選擇持久化在應用配置旁的 update-channel 檔案中;SUPASTACK_UPDATE_CHANNEL 可按次覆蓋 —— 無法識別的值帶警告忽略 —— 預設為 stable。沒有該佔位符時開關保持停用,只檢查 stable 源。

何時檢查更新

啟動時跑一次靜默後臺檢查,只有發現更新才彈對話方塊;Check for Updates… 選單項會報告每種結果。檢查是序列的 —— 併發的第二個請求被丟棄。有可用更新時提供 Install and Restart,它會下載、安裝並重啟應用;未配置的構建回答更新未配置,失敗以對話方塊呈現而非自動重試。

出廠的釋出工作流

.github/workflows/desktop-release.yml 在 desktop-v* 標籤或帶版本與頻道的手動觸發上構建矩陣 —— 兩種架構的 macOS、Windows 與 Ubuntu。它用標籤寫入清單版本(跳過這步的釋出會永遠把自己當作更新推出去)、合併各平臺清單,並建立攜帶 latest.json 及全部安裝包與簽名的 GitHub 草稿釋出 —— beta 頻道標記為 prerelease。

它需要 SUPASTACK_APP_URL 與 SUPASTACK_UPDATER_ENDPOINT 作為倉庫變數,SUPASTACK_UPDATER_PUBKEY 以及簽名私鑰與其口令作為 secrets;Apple 簽名憑據是可選附加項。完整操作手冊在倉庫的 docs/desktop-updates.md。

驗證與排障

安裝一個構建,把更新的清單釋出到測試源,確認下一次檢查彈出更新對話方塊且應用重啟進入新版本。然後切到 beta,確認頻道源的應答發生變化。

常見問題

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
主題