技能包

用 supabase/server 給 Edge Functions 補齊鑑權與用戶端

給 Edge Functions 與 API 用 withSupabase 包住 fetch,前提是先在支援技能的代理裡執行官方安裝命令。

官方來源 · supabase/server

安裝

npx skills add supabase/server

適合誰

這份技能適合正在寫 Edge Functions 或 API、卻不想反覆手寫鑑權、用戶端建立和跨域處理的人。官方把它寫成服務端封裝:鑑權、用戶端建立和上下文注入由它處理,你只寫業務邏輯。它也適合已經在用 AI 程式代理的人——原文寫明可以把技能裝進 Claude Code、Cursor 等代理。

它不適合只做瀏覽器頁面、從不接觸服務端入口的人。請求需要進入 Edge Functions 或 API,用戶端建立和鑑權才會按入站請求自動限定範圍。若還沒有可安裝技能的代理,先確認能執行官方那一條安裝命令再繼續。想先唯讀核對也可以:讓代理講清如何用一行設定包住 fetch,不要立刻改生產函式。官方倉庫見

https://github.com/supabase/server

請按該頁已寫出的命令操作。

3 分鐘完成第一次嘗試

只走官方寫出的這一條技能安裝路徑。

前置條件:本機可以執行 npx,並且使用原文點名的一類 AI 程式代理,例如 Claude Code 或 Cursor。開啟平時寫 Edge Functions 或 API 的專案即可。這一步先做說明核對,不要改現網程式碼,也不要對外發請求。

安裝位置:在專案根目錄的終端執行:

npx skills add supabase/server

該命令會把技能裝進目前代理。官方另外寫明:在 Deno 或 Supabase Edge Functions 裡可以不裝套件,直接從 npm:@supabase/server 匯入。

觸發一次低風險任務:請已安裝技能的代理用文字列出「如何用 withSupabase 包一層 fetch、鑑權通過後才進入處理函式」,並寫出匯入語句。不要寫入檔案,不要呼叫外部介面,不要部署。

成功訊號:代理能複述一次匯入、一行設定後,鑑權會被校驗、用戶端就緒、CORS 被處理,處理函式只在鑑權成功後執行;並給出 import { withSupabase } from "npm:@supabase/server"。若它編造其他安裝命令,回到上面的官方命令重試。

使用案例

案例一:給現有 Edge Function 或 API 的 fetch 入口加一層官方包裝。原文主路徑是用 withSupabase 包住 fetch:一次匯入、一行設定之後,鑑權已校驗、用戶端已就緒、CORS 已處理,處理函式只在鑑權成功時執行。可先讓代理標出應改的入口和應原樣保留的業務程式碼,確認後再動手。原文沒有完整函式範例時,只做到「入口被包裝、鑑權失敗不會進入處理函式」,不要自行補路由表或金鑰方案。

案例二:在 Deno 或 Supabase Edge Functions 裡直接匯入,而不是先裝套件。原文寫明該環境可以不安裝,直接 import { withSupabase } from "npm:@supabase/server"。適合已在這類執行環境寫處理函式、只想核對匯入路徑的人。先確認該匯入適用於目前檔案的執行環境;若專案不是 Deno 或 Edge Functions,原文只寫到這裡,不要推廣到未出現的執行環境。

使用界線

原文只涵蓋服務端入口:用戶端建立與鑑權按進入 Edge Functions 和 APIs 的入站請求自動限定範圍。它不證明可用於瀏覽器頁面、背景定時任務或未點名的託管環境。

技能安裝命令僅有一條被原文寫出:npx skills add supabase/server。不要把未出現的安裝程式寫進主路徑。原文點名 Claude Code、Cursor 等,這是示例集合,不能寫成只支援這兩個代理。

套件的使用側,原文給出 Deno / Supabase Edge Functions 的直接匯入,以及用 withSupabase 包裝 fetch。沒有看到環境變數名、CORS 細節開關或失敗重試策略時,不要補。處理函式只在鑑權成功後執行;失敗時回傳何種狀態碼,原文沒有寫。官方頁面是

https://github.com/supabase/server

若代理建議的安裝句與該頁不一致,以該頁為準。