Naar inhoud gaan
supastack
Blader door de docs

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 /nl/docs/modules/observability.md (or send Accept: text/markdown).

Audit, analytics en errors

Begrijp activiteit met workspacecontext en gesanitiseerde eventdata.

Vind nuttige informatie wanneer een actie mislukt

Waarneembaar betekent dat u kunt zien wat uw app heeft gedaan. Begin met de terminal waarop uw webserver draait: herhaal één mislukte actie en lees de eerste fout en eventuele correlatie-ID, een label dat berichten van hetzelfde verzoek koppelt. Deel de opdracht, tijd en opgeschoonde fout bij het vragen om hulp; deel geen .env-bestanden of tokens.

Voor gehoste foutrapporten volgt u Gezondheid en bewerkingen om de ondersteunde bewakingsinstellingen te configureren in apps/web/.env.local of het omgevingsdashboard van de host. Sla de server op en start deze opnieuw op. Activeer een gecontroleerde testfout in een testomgeving en bevestig dat deze verschijnt met de juiste werkruimtecontext. Als de monitoring is geconfigureerd, bewijst dit niet dat er een gebeurtenis is ontvangen.

ALERT_WEBHOOK_URL is een optionele HTTPS-bestemming voor waarschuwingen over mislukte taak- en terminal-webhookleveringen. Als je het nodig hebt, maak dan een compatibel inkomend eindpunt en sla de URL serverzijde op; laat het anders leeg. Vraag een agent om één fout te simuleren en precies één waarschuwing te bevestigen, zonder geheimen in de tekst. Activeer voor deze test geen betaald werk of storingen in klantaccounts.

Houd een workspace-audittrail

Auditrecords leggen wijzigingen vast zoals providerconfiguratie-updates binnen een workspace. Resolveer de geauthenticeerde workspace voordat je deze records leest of schrijft, en bewaar die scope bij het toevoegen van productspecifieke events.

Registreer de actie en identificaties die nodig zijn om hem te begrijpen. Providercredentials en andere gevoelige waarden moeten uit auditpayloads en logs blijven.

Capture productevents

Het observability-package exposeert een AnalyticsClient-adapter en workspace-scoped AnalyticsEvent-waarden. Elk event draagt een naam, distincte identiteit, workspaceId en optionele properties.

Gebruik createObservability om events via je geconfigureerde analyticsclient te routeren. Gestructureerde properties worden vóór aflevering gefilterd; houd gevoelige vrije tekst ook uit eventnamen en propertywaarden.

Rapporteer errors met veilige context

ErrorClient captured exceptions met workspaceId-tags en gestructureerde extra context. De gedeelde observabilitylaag sanitiseert exceptions en filtert gevoelige context voordat ze naar de geconfigureerde client worden doorgestuurd.

Gebruik lokale adapters om gecapturede events en exceptions te verifiëren zonder een monitoringprovider aan te roepen. Test dat workspacetags aanwezig blijven en credentials verwijderd zijn voordat je een externe bestemming inschakelt.

Volg een verzoek via taken, banen en webhooks

Ingangsgrenzen vormen een correlatie-ID cor_<uuid> die het oorspronkelijke verzoek koppelt aan het werk dat het activeert. AI-taakverzending stempelt de id op de taaklading en de ai_task_subposed-gebeurtenis, elke factureringswebhookontvanger munt er één per verzoek, en de planner munt er één per verzonden taak.

Dezelfde id gebruikt de gebeurteniseigenschappen job.completed en ai_task_completed, captureException-extra's, de webhook_event grootboekpayload en elke webhook_delivery payload-meta - zodat het in de ondertekende hoofdtekst terechtkomt die een abonnee ontvangt. Ontbrekende of verkeerd opgemaakte ID's worden getolereerd: de consument gebruikt een nieuwe ID in plaats van oudere rijen af ​​te wijzen.

Waarschuwing voor echte mislukkingen

Stel ALERT_WEBHOOK_URL in op een willekeurig HTTPS-eindpunt dat een JSON POST in de vorm {tekst, naam, ernst, context} accepteert; een inkomende webhook in Slack-stijl werkt zoals hij is. Waarschuwingen zijn 'fire-and-forget' met een time-out van vijf seconden, een mislukte bezorging registreert één consolewaarschuwing en de alerter noopt terwijl de variabele is uitgeschakeld.

De verzonden waarschuwingen zijn job.failed (waarschuwing: een taakbehandelaar heeft een taak gegenereerd of een taaktype is onbekend) en webhook.delivery_failed (kritiek: alleen wanneer een uitgaande bezorging na de laatste poging een terminalfout bereikt; gewone nieuwe pogingen blijven stil en elke bezorgrij waarschuwt maximaal één keer).

Meet de duur en stream gestructureerde logboeken

serverObservability.measure keert een asynchrone bewerking uit en zendt een <name>.duration analytics-gebeurtenis uit met DurationMs — bij succes en bij falen, zonder de oorspronkelijke fout te maskeren. De taakuitvoering ai.task.execute is al ingepakt, dus de duur van de taakuitvoering komt terecht in de geconfigureerde analyseclient.

serverObservability.logger schrijft één JSON-regel per record naar standaard met omgevings- en servicebasisvelden; de gedeelde redactielaag verwijdert geheimen voordat er een regel wordt uitgezonden.

Veelgestelde vragen

14 vragen

Wat is supastack?

supastack is een modulair fundament voor het bouwen van SaaS-producten met AI. Het brengt gemeenschappelijke infrastructuur samen zodat jij je kunt richten op productspecifieke functies.

Ondersteunt het web en mobiel?

Ja. supastack bevat Next.js- en Expo-apps als startpunten voor web- en mobiele ervaringen.

Welke authenticatie is inbegrepen?

Better Auth dekt e-mail/wachtwoord, OTP en sociale login. Persoonlijke workspaces worden bij het account geprovisioneerd zodat productrecords vanaf dag één afgebakend blijven.

Hoe ondersteunt het AI?

supastack bevat configureerbare multi-provider AI, usage-tracking, budgetten en versleutelde bring-your-own-key-ondersteuning.

Hoe worden abonnementen afgehandeld?

Voor producten op de kit vormen Stripe-billing, abonnementen en entitlements het fundament voor betaalde toegang. Providersecrets blijven server-only.

Waar leeft mijn productspecifieke code?

Productspecifieke functies blijven in een aparte codebase terwijl het product de fundamentmodules van supastack configureert en integreert.

Hoe werkt de prijs van supastack?

De kit is een eenmalige aankoop met lifetime updates: One Framework voor $249 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $349) of All Frameworks (Next.js, iOS, Android) voor $499 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $599), plus $75 per extra developer seat. Geen kit-abonnement. Checkout op deze site levert je licentiesleutel per e-mail, met repositorytoegang via een GitHub-uitnodiging.

Hoe bakens workspaces mijn data af?

Records van gebruikers worden afgebakend per workspaceId. Identiteit, entitlements, AI-gebruik, billing-events en auditentries blijven binnen de grens van de persoonlijke workspace.

Hoe werken achtergrondjobs?

Trigger.dev is de expliciete jobruntime. Het JobRunner-contract belooft alleen enqueue, status en cancel — workflowsemantiek blijft Trigger.dev-specifiek en expliciet.

Hoe verschilt e-mail van outreach?

Transactionele e-mail dekt productworkflows zoals voltooiingsnotices. Koude outreach en campagnes zijn productzaken buiten de e-mailmodule van deze kit.

Hoe werken mobiele aankopen?

Mobiel bevat native aankopen en herstel via RevenueCat, met toegang die je server verifieert. Configureer de winkelaccounts en rond apparaattests af vóór publicatie. Webfacturatie blijft afzonderlijk.

Waar leven de AI-providerkeys?

Bring-your-own-key-credentials zijn versleuteld en blijven server-only. Keys worden uit logs gefilterd; gebruik en budgetten blijven zichtbaar op workspaceniveau.

Welke betaalmethoden accepteert de checkout?

De door Stripe gehoste checkout accepteert kaarten en kan ook Alipay en WeChat Pay aanbieden zodra die wallets op het Stripe-account zijn geactiveerd — handig voor kopers in China. Wallet-autorisaties worden asynchroon bevestigd, dus de licentiepagina wordt bijgewerkt zodra de betaling is afgerond.

Kan ik een terugbetaling krijgen?

Zodra je toegang hebt gekregen tot de repository, is supastack voor altijd van jou en kan er dus geen terugbetaling plaatsvinden. Maar wees gerust: je krijgt de volledige broncode met levenslange updates om onbeperkt producten voor jezelf of je klanten te bouwen en te lanceren. Je mag de code alleen niet doorverkopen of de repository herdistribueren als starterkit of template.

NL
Thema