Teraz z AI - twórz strony przez serwer MCP

Zmienne środowiskowe

Trzy wartości wymagane, kilka opcjonalnych i te zmienne, które należą do Ciebie, a nie do CMS-a.

Aplikacja cmssy czyta dwa rodzaje wartości: to, co daje workspace, i to, o czym decyduje Twoja aplikacja. Cała ta strona jest o trzymaniu ich osobno.

Wymagane

Skopiuj je z Settings → Headless w panelu albo pozwól, żeby npx @cmssy/cli link zapisał je w .env.local za Ciebie.

ZmiennaCzym jest
CMSSY_ORG_SLUGSlug Twojej organizacji. Siedzi w ścieżce dostawczej - dlatego slug workspace'u musi być unikalny tylko w obrębie organizacji.
CMSSY_WORKSPACE_SLUGWorkspace, którego treść renderuje ta aplikacja.
CMSSY_DRAFT_SECRETChroni podgląd roboczy i tryb edycji. Generowany per workspace - to nie jest string, który wymyślasz.

Przekaż je do defineCmssyConfig surowo. Fallback ?? "" zamienia brakującą zmienną w pustą, a błąd wychodzi później, w niezwiązanym miejscu.

Opcjonalne i kiedy ich potrzebujesz

ZmiennaKiedy
CMSSY_API_TOKENToken cs_. Wymagany przez nakładkę dev draft ?cmssyDev=1 i czytany przez cmssy link. Tylko development - zostawienie go nie zmienia tego, co widzą odwiedzający.
CMSSY_API_URLNadpisanie endpointu dostawczego. Domyślnie https://api.cmssy.io; ustaw tylko przy self-hoście albo backendzie stagingowym.
CMSSY_EDITOR_ORIGINOrigin panelu, który może osadzić Twój serwis w ramce. Domyślnie chmura cmssy; ustaw tylko przy self-hoście panelu, bo steruje i mostem postMessage, i CSP frame-ancestors.

Twoje, nie CMS-a

To nie są ustawienia cmssy. cmssy trzyma treść kanoniczną i nigdy Twojej domeny, Twoich ID analityki ani sekretów Twoich route'ów.

ZmiennaCzym jest
CMSSY_REVALIDATE_SECRETChroni Twój własny route /api/revalidate. Wartość wymyślasz sam i tę samą podajesz webhookowi content.changed - zobacz webhooki.
NEXT_PUBLIC_SITE_URLTwój publiczny origin. Z niego buduje się kanoniczne URL-e, alternatywy hreflang i sitemapę.
NEXT_PUBLIC_GA_ID, NEXT_PUBLIC_GTM_IDAnalityka i tag manager. Warunkuj na nich renderowanie, żeby preview deployment i lokalne uruchomienia nie wchodziły do Twoich liczb - zobacz skrypty.

Serwerowe znaczy serwerowe

Każda zmienna CMSSY_* powyżej jest serwerowa. Next wysyła do przeglądarki tylko NEXT_PUBLIC_*, więc komponent kliencki czytający konfigurację nie dostaje wartości błędnej - dostaje żadnej.

To właśnie ta awaria, na którą ludzie trafiają: defineCmssyConfig krzyczy o brakujących zmiennych, choć zmienne są ustawione poprawnie. Przyczyną jest import, nie środowisko - komponent "use client" wyciągnął wartość z modułu czytającego konfigurację. Typy są w porządku, są wymazywane. Wartości wciągają process.env do bundla.

Trzymaj sekrety poza repozytorium, a na produkcji ustaw te same zmienne u swojego hostingu (Vercel project settings albo odpowiednik).

Następne kroki

  • Instalacja - tam używasz ich pierwszy raz.
  • Podgląd roboczy - co naprawdę odblokowują draft secret i token API.
  • CLI - cmssy link zapisuje wymagane trzy i je weryfikuje.