Demos ausführen
Das Repository greentic-demo liefert einen Katalog gebrauchsfertiger Demos. Jede davon ist ein vollständiges Bundle (Messaging-Provider, Flows, adaptive cards, MCP-Tools), verpackt als .gtpack und orchestriert durch zwei veröffentlichte Answer-Dokumente — eines für den Create-Wizard, eines für das Setup.
Sie müssen nichts von Hand scaffolden. Jede Demo wird mit denselben drei Befehlen gestartet.
Der dreistufige Ablauf
Abschnitt betitelt „Der dreistufige Ablauf“-
Erstellen Sie das Bundle mit dem veröffentlichten Create-Answers-Dokument:
Terminal-Fenster gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/<demo>-create-answers.jsonDadurch werden alle im Answers-Dokument referenzierten Packs heruntergeladen, Capability-Abhängigkeiten aufgelöst (z. B. wird
state-memoryautomatisch hinzugezogen, wenn ein Messaging-Provider deklariert, dass ergreentic:state/state-storebenötigt) und ein lokales Bundle-Verzeichnis geschrieben. -
Konfigurieren Sie Provider mit dem veröffentlichten Setup-Answers-Dokument:
Terminal-Fenster gtc setup ./<demo>-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/<demo>-setup-answers.jsonDas Setup erkennt den tatsächlichen Tenant aus dem Verzeichnis
tenants/des Bundles, speichert Secrets pro Provider und warnt Sie, wenn eine erforderliche Capability noch nicht erfüllt ist. -
Starten Sie die Runtime:
Terminal-Fenster gtc start ./<demo>-bundleBeim Start validiert
gtc startdie Pack-Abhängigkeiten erneut, registriert Webhooks über diesetup_webhook-WASM-op jedes Providers (und registriert sie automatisch neu, wenn sich Ihre Tunnel-URL ändert) und gibt die öffentlichen Ingress-Pfade aus (z. B.https://<tunnel>/v1/web/webchat/demo/).
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Bevor Sie eine Demo ausführen, stellen Sie sicher, dass Sie Folgendes haben:
gtcCLI — siehe Installation- Eine öffentliche URL für Webhook-Provider —
ngrokodercloudflared(siehe Konfiguration der öffentlichen URL) - Provider-Zugangsdaten für jede Messaging- oder MCP-Integration eines Drittanbieters, die von der Demo verwendet wird (Slack-Tokens, Telegram-Bot-Token, Atlassian OAuth usw.) — das Setup-Answers-Dokument zeigt Ihnen, welche Secrets erforderlich sind
Die meisten Demos können nur mit WebChat GUI plus state-memory ausgeführt werden und benötigen keine externen Konten.
Demo-Katalog
Abschnitt betitelt „Demo-Katalog“Jede Release von greentic-demo veröffentlicht eine .gtpack, eine *-create-answers.json und eine *-setup-answers.json in der latest release. Setzen Sie die Demo-ID in die drei oben gezeigten Befehle ein.
quickstart
Abschnitt betitelt „quickstart“Die minimale Greentic-Erfahrung. Eine Begrüßungskarte, eine Info-Karte und eine einfache Echo-Interaktion — nützlich als Smoke-Test dafür, dass Ihre Toolchain, Ihr Tunnel und Ihr WebChat-Frontend End-to-End funktionieren.
- Kanäle: WebChat GUI
- Externe Dienste: keine
- Demo-ID:
quickstart
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/deep-research-demo-create-answers.jsongtc setup ./deep-research-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/deep-research-demo-setup-answers.jsongtc start ./deep-research-demo-bundlehr-onboarding
Abschnitt betitelt „hr-onboarding“Interaktiver Mitarbeiter-Onboarding-Wizard mit Aufgabenverfolgung, Dokumentensammlung und Bereitstellung von Zugriffsrechten. Behält den Session-Status über mehrere Schritte hinweg bei.
- Kanäle: WebChat GUI (erforderlich), Slack (optional)
- Externe Dienste: keine erforderlich (Status wird im Speicher gehalten)
- Demo-ID:
hr-onboarding
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/hr-onboarding-create-answers.jsongtc setup ./hr-onboarding-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/hr-onboarding-setup-answers.jsongtc start ./hr-onboarding-demo-bundlehelpdesk-itsm
Abschnitt betitelt „helpdesk-itsm“IT-Helpdesk-Assistent, integriert mit Jira über Atlassian OAuth und MCP-Tools — Tickets erstellen, Status prüfen, Wissensdatenbank durchsuchen, eskalieren.
- Kanäle: WebChat GUI
- Externe Dienste: Atlassian / Jira (OAuth-Zugangsdaten in setup-answers)
- Demo-ID:
helpdesk-itsm
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/helpdesk-itsm-create-answers.jsongtc setup ./helpdesk-itsm-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/helpdesk-itsm-setup-answers.jsongtc start ./helpdesk-itsm-demo-bundlesales-crm
Abschnitt betitelt „sales-crm“Sales-Assistent, verbunden mit Salesforce über OAuth und MCP — Lead-Qualifizierung, Pipeline-Visualisierung, Deal-Tracking, Terminplanung.
- Kanäle: WebChat GUI
- Externe Dienste: Salesforce (OAuth-Zugangsdaten in setup-answers)
- Demo-ID:
sales-crm
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/sales-crm-create-answers.jsongtc setup ./sales-crm-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/sales-crm-setup-answers.jsongtc start ./sales-crm-demo-bundlesupply-chain
Abschnitt betitelt „supply-chain“Bestands- und Supply-Chain-Assistent — Lagerprüfungen, Auftragsverfolgung, Warnungen bei niedrigem Bestand, Freigabe-Workflow für Nachbestellungen, Lieferantenverzeichnis.
- Kanäle: WebChat GUI (erforderlich), Slack (optional)
- Externe Dienste: keine erforderlich
- Demo-ID:
supply-chain
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/supply-chain-create-answers.jsongtc setup ./supply-chain-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/supply-chain-setup-answers.jsongtc start ./supply-chain-demo-bundleredbutton
Abschnitt betitelt „redbutton“Ein Red-Button-Event-Szenario — ein Webhook-Ingress löst einen Flow aus, der zufällig einen Branch auswählt, optional einen HTTP-Endpunkt aufruft, lokales Audio abspielt und einen Better-Stack-Incident erstellt.
- Kanäle: event-getrieben (keine Chat-Oberfläche erforderlich)
- Externe Dienste: Better Stack
- Demo-ID:
redbutton
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/redbutton-create-answers.jsongtc setup ./redbutton-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/redbutton-setup-answers.jsongtc start ./redbutton-demo-bundle --ngrok onLösen Sie den Flow aus mit:
curl -X POST http://127.0.0.1:8080/v1/events/ingress/webhook/demo/default \ -H 'content-type: application/json' \ -d '{"source":"red-button","pressed":true}'cloud-deploy-demo
Abschnitt betitelt „cloud-deploy-demo“Eine umfangreichere Bundle-Komposition, die einen Terraform-Deploy-Provider zusammen mit Messaging, Events und State nutzt — nützlich zum Validieren von Cloud-Deployment-Integrationen.
- Kanäle: WebChat GUI
- Externe Dienste: Terraform-kompatibler Cloud-Provider (in setup-answers konfiguriert)
- Demo-ID:
cloud-deploy-demo
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/cloud-deploy-demo-create-answers.jsongtc setup ./cloud-deploy-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/cloud-deploy-demo-setup-answers.jsongtc start ./cloud-deploy-demo-bundleweather-mcp-demo
Abschnitt betitelt „weather-mcp-demo“Ein Wetter-Assistent, der aktuelle Bedingungen und Vorhersagen über WeatherAPI mittels eines MCP-Tools abruft und das Ergebnis dann als adaptive cards rendert.
- Kanäle: WebChat GUI
- Externe Dienste: API key von weatherapi.com
- Demo-ID:
weather-mcp-demo
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/weather-mcp-demo-create-answers.jsongtc setup ./weather-mcp-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/weather-mcp-demo-setup-answers.jsongtc start ./weather-mcp-demo-bundleWas im Hintergrund passiert
Abschnitt betitelt „Was im Hintergrund passiert“Die drei Befehle sehen einfach aus, aber jeder davon führt einen nicht trivialen Teil der Plattform aus.
gtc wizard --answers ...
Abschnitt betitelt „gtc wizard --answers ...“- Löst das App-Pack der Demo (
*.gtpack) auf — entweder aus GitHub Releases heruntergeladen oder aus OCI bezogen, wie im Answers-Dokument deklariert. - Materialisiert den Bundle-Workspace (
bundle.yaml,packs/,tenants/). - Führt Capability-basierte Abhängigkeitsauflösung aus. Provider-Packs deklarieren
required_capabilities; der Wizard fügt automatisch passendestate-memory-,state-redis-, OAuth-Packs usw. hinzu, sodass Sie sich nicht merken müssen, wovon jeder Provider abhängt. - Berücksichtigt Capability-Flags wie
greentic.cap.bundle_assets.read.v1,greentic.cap.webchat.oauth.v1,greentic.cap.webchat.i18n.v1undgreentic.cap.webchat.embed.v1— sie entscheiden, ob der Wizard Bundle-weite Assets, OAuth-Provider-Konfiguration, Locale-Dateien und Embed-Snippets scaffoldet.
gtc setup ./<demo>-bundle --answers ...
Abschnitt betitelt „gtc setup ./<demo>-bundle --answers ...“- Erkennt den tatsächlichen Tenant automatisch aus
bundle/tenants/(damit Secrets unter dem korrekten Tenant-URI geschrieben werden). - Validiert Abhängigkeits-Capabilities für alle Packs im Bundle und warnt, wenn etwas fehlt.
- Speichert jeden Wert aus dem Answers-Dokument im Secrets Store unter
secrets://{env}/{tenant}/{team}/{provider}/{key}, sodass Provider Zugangsdaten zur Laufzeit lesen können, ohne dass Sie sie erneut eingeben müssen.
gtc start ./<demo>-bundle
Abschnitt betitelt „gtc start ./<demo>-bundle“- Lädt das Bundle, mountet jedes Pack und startet HTTP-Ingress-Adapter.
- Prüft Pack-Abhängigkeiten über den Capability-Index erneut und zeigt erfüllte/fehlende Capabilities an.
- Ruft die
setup_webhook-WASM-op jedes Providers auf, wenn sich die öffentliche Tunnel-URL ändert — die erneute Webhook-Registrierung erfolgt nun automatisch. - Gibt öffentliche Routenpfade aus (zum Beispiel die WebChat-URL), sodass Sie sie sofort in einem Browser öffnen können.
Häufige Vorgänge
Abschnitt betitelt „Häufige Vorgänge“Einen anderen Tunnel verwenden
Abschnitt betitelt „Einen anderen Tunnel verwenden“Die meisten Webhook-gebundenen Demos funktionieren mit jedem Tunnel. Wählen Sie einen:
gtc start ./<demo>-bundle --ngrok ongtc start ./<demo>-bundle --cloudflared ongtc start ./<demo>-bundle --ngrok off --cloudflared offVerwenden Sie dies, wenn Sie nur WebChat auf localhost benötigen.
Setup nach dem Rotieren eines Secrets erneut ausführen
Abschnitt betitelt „Setup nach dem Rotieren eines Secrets erneut ausführen“gtc setup ./<demo>-bundle --answers <updated-setup-answers.json>gtc setup ist idempotent. Es überschreibt Secrets an Ort und Stelle und führt die provider-spezifischen Setup-Flows erneut aus.
Bundles vor dem Start prüfen
Abschnitt betitelt „Bundles vor dem Start prüfen“gtc wizard --answers <create-answers.json> --dry-rungtc setup ./<demo>-bundle --dry-runBeide Befehle unterstützen --dry-run, um die Ausgabe in der Vorschau anzuzeigen, ohne das Dateisystem oder den Secrets Store zu verändern.
Eine laufende Demo stoppen
Abschnitt betitelt „Eine laufende Demo stoppen“gtc stop ./<demo>-bundleDadurch werden der Runner und alle Hilfsprozesse (Tunnel) beendet, die gtc start gestartet hat.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Wizard meldet, dass eine Capability nicht erfüllt ist
Abschnitt betitelt „Wizard meldet, dass eine Capability nicht erfüllt ist“Aktualisieren Sie das Create-Answers-Dokument so, dass es ein Pack enthält, das die fehlende Capability bereitstellt. Für greentic:state/state-store funktioniert entweder state-memory (kein Setup) oder state-redis (erfordert eine Redis-Instanz). Die meisten Demos deklarieren diese Abhängigkeit bereits, sodass der Wizard sie automatisch hinzufügt.
WebChat öffnet sich, aber Karten sind leer
Abschnitt betitelt „WebChat öffnet sich, aber Karten sind leer“Stellen Sie sicher, dass der Tenant des Bundles mit dem Tenant in der WebChat-URL übereinstimmt. gtc setup erkennt den Bundle-Tenant jetzt automatisch. Wenn Sie das Setup vor diesem Fix ausgeführt haben, führen Sie es nach einem gtc wizard erneut aus, um das Bundle-Layout zu aktualisieren.
setup_webhook schlägt beim Start weiterhin fehl
Abschnitt betitelt „setup_webhook schlägt beim Start weiterhin fehl“Prüfen Sie, ob das Secret, das Ihr Provider benötigt, in der Answers-Datei vorhanden ist (z. B. bot_token, slack_configuration_token, ms_bot_app_password). Führen Sie gtc setup mit dem aktualisierten Dokument erneut aus und starten Sie danach gtc start neu.
Ingress-URL ändert sich ständig
Abschnitt betitelt „Ingress-URL ändert sich ständig“Standardmäßig gibt ngrok bei jedem Neustart eine neue URL aus. Der Webhook-Updater erkennt die Änderung beim Start und ruft die setup_webhook-op jedes Providers auf, damit die neue URL upstream registriert wird. Für lang laufende Demos sollten Sie jedoch ein Upgrade auf eine reservierte Domain in Betracht ziehen.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- gtc wizard — vollständige Referenz für Create-Answers-Dokumente und Capability-Flags
- gtc setup — Provider-Konfiguration, Zugangsdaten und Verwendung von dry-run
- gtc start — Runtime-Optionen, Tunnel und Observability
- Bundle-Assets — wie das von WebChat-Skins verwendete Asset-Overlay funktioniert
- Multi-Tenancy — wie Tenant-Isolation mit Secrets und Ingress zusammenspielt