Ir al contenido

Ejecutar Demos

El repositorio greentic-demo ofrece un catálogo de demos listas para ejecutar. Cada una es un bundle completo (proveedores de mensajería, flujos, adaptive cards, herramientas MCP) empaquetado como un .gtpack y orquestado por dos documentos de respuestas publicados: uno para el wizard de creación y otro para la configuración.

No necesitas generar nada manualmente. Todas las demos se lanzan con los mismos tres comandos.

  1. Crea el bundle con el documento create-answers publicado:

    Ventana de terminal
    gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/<demo>-create-answers.json

    Esto descarga cualquier pack referenciado en el documento de respuestas, resuelve dependencias de capacidades (por ejemplo, state-memory se añade automáticamente cuando un proveedor de mensajería declara que necesita greentic:state/state-store) y escribe un directorio de bundle local.

  2. Configura los proveedores con el documento setup-answers publicado:

    Ventana de terminal
    gtc setup ./<demo>-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/<demo>-setup-answers.json

    La configuración detecta el tenant real a partir del directorio tenants/ del bundle, guarda secretos por proveedor y te avisa si alguna capacidad requerida sigue sin satisfacerse.

  3. Inicia el runtime:

    Ventana de terminal
    gtc start ./<demo>-bundle

    Al iniciar, gtc start vuelve a validar las dependencias de packs, registra webhooks mediante la operación WASM setup_webhook de cada proveedor (volviendo a registrarlos automáticamente si cambia la URL de tu túnel) e imprime las rutas públicas de entrada (por ejemplo, https://<tunnel>/v1/web/webchat/demo/).

Antes de ejecutar cualquier demo, asegúrate de tener:

  • gtc CLI; consulta Instalación
  • Una URL pública para proveedores basados en webhook: ngrok o cloudflared (consulta Configuración de URL Pública)
  • Credenciales de proveedor para cualquier integración de mensajería o MCP de terceros que use la demo (tokens de Slack, token de bot de Telegram, OAuth de Atlassian, etc.); el documento setup-answers te indica qué secretos son necesarios

La mayoría de las demos pueden ejecutarse solo con WebChat GUI más state-memory, que no requieren cuentas externas.

Cada release de greentic-demo publica un .gtpack, un *-create-answers.json y un *-setup-answers.json en la última release. Sustituye el ID de la demo en los tres comandos mostrados arriba.

La experiencia mínima de Greentic. Una tarjeta de bienvenida, una tarjeta informativa y una interacción básica de eco; útil como prueba rápida para confirmar que tu toolchain, túnel y front-end de WebChat funcionan de punta a punta.

  • Canales: WebChat GUI
  • Servicios externos: ninguno
  • Demo ID: quickstart
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/deep-research-demo-create-answers.json
gtc setup ./deep-research-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/deep-research-demo-setup-answers.json
gtc start ./deep-research-demo-bundle

Wizard interactivo de onboarding de empleados con seguimiento de tareas, recopilación de documentos y aprovisionamiento de accesos. Persiste el estado de la sesión a lo largo de varios pasos.

  • Canales: WebChat GUI (requerido), Slack (opcional)
  • Servicios externos: ninguno requerido (estado almacenado en memoria)
  • Demo ID: hr-onboarding
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/hr-onboarding-create-answers.json
gtc setup ./hr-onboarding-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/hr-onboarding-setup-answers.json
gtc start ./hr-onboarding-demo-bundle

Asistente de helpdesk de IT integrado con Jira mediante OAuth de Atlassian y herramientas MCP: crea tickets, consulta estados, busca en la base de conocimiento y escala casos.

  • Canales: WebChat GUI
  • Servicios externos: Atlassian / Jira (credenciales OAuth en setup-answers)
  • Demo ID: helpdesk-itsm
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/helpdesk-itsm-create-answers.json
gtc setup ./helpdesk-itsm-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/helpdesk-itsm-setup-answers.json
gtc start ./helpdesk-itsm-demo-bundle

Asistente de ventas conectado a Salesforce mediante OAuth y MCP: calificación de leads, visualización del pipeline, seguimiento de oportunidades y programación de reuniones.

  • Canales: WebChat GUI
  • Servicios externos: Salesforce (credenciales OAuth en setup-answers)
  • Demo ID: sales-crm
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/sales-crm-create-answers.json
gtc setup ./sales-crm-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/sales-crm-setup-answers.json
gtc start ./sales-crm-demo-bundle

Asistente de inventario y supply-chain: comprobaciones de stock, seguimiento de pedidos, alertas de poco inventario, flujo de aprobación de reabastecimiento y directorio de proveedores.

  • Canales: WebChat GUI (requerido), Slack (opcional)
  • Servicios externos: ninguno requerido
  • Demo ID: supply-chain
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/supply-chain-create-answers.json
gtc setup ./supply-chain-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/supply-chain-setup-answers.json
gtc start ./supply-chain-demo-bundle

Un escenario de evento de botón rojo: un ingress webhook dispara un flujo que elige una rama aleatoria, opcionalmente llama a un endpoint HTTP, reproduce audio local y crea un incidente en Better Stack.

  • Canales: orientado a eventos (no requiere interfaz de chat)
  • Servicios externos: Better Stack
  • Demo ID: redbutton
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/redbutton-create-answers.json
gtc setup ./redbutton-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/redbutton-setup-answers.json
gtc start ./redbutton-demo-bundle --ngrok on

Activa el flujo con:

Ventana de terminal
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}'

Una composición de bundle más rica que ejercita un proveedor de despliegue Terraform junto con mensajería, eventos y estado; útil para validar integraciones de despliegue en la nube.

  • Canales: WebChat GUI
  • Servicios externos: proveedor cloud compatible con Terraform (configurado en setup-answers)
  • Demo ID: cloud-deploy-demo
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/cloud-deploy-demo-create-answers.json
gtc setup ./cloud-deploy-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/cloud-deploy-demo-setup-answers.json
gtc start ./cloud-deploy-demo-bundle

Un asistente meteorológico que obtiene condiciones actuales y previsiones mediante WeatherAPI a través de una herramienta MCP, y luego renderiza el resultado como adaptive cards.

  • Canales: WebChat GUI
  • Servicios externos: clave de API de weatherapi.com
  • Demo ID: weather-mcp-demo
Ventana de terminal
gtc wizard --answers https://github.com/greenticai/greentic-demo/releases/latest/download/weather-mcp-demo-create-answers.json
gtc setup ./weather-mcp-demo-bundle --answers https://github.com/greenticai/greentic-demo/releases/latest/download/weather-mcp-demo-setup-answers.json
gtc start ./weather-mcp-demo-bundle

Los tres comandos parecen simples, pero cada uno ejecuta una parte no trivial de la plataforma.

  • Resuelve el app pack de la demo (*.gtpack), ya sea descargado desde GitHub Releases o extraído de OCI según lo declarado en el documento de respuestas.
  • Materializa el workspace del bundle (bundle.yaml, packs/, tenants/).
  • Ejecuta resolución de dependencias basada en capacidades. Los provider packs declaran required_capabilities; el wizard añade automáticamente state-memory, state-redis, packs OAuth, etc., así que nunca tienes que recordar de qué depende cada proveedor.
  • Respeta banderas de capacidad como greentic.cap.bundle_assets.read.v1, greentic.cap.webchat.oauth.v1, greentic.cap.webchat.i18n.v1 y greentic.cap.webchat.embed.v1; estas deciden si el wizard genera assets a nivel de bundle, configuración de proveedor OAuth, archivos de locale y fragmentos de embed.
  • Detecta automáticamente el tenant real desde bundle/tenants/ (para que los secretos se escriban bajo el URI de tenant correcto).
  • Valida capacidades de dependencias en todos los packs del bundle y avisa si falta algo.
  • Persiste cada valor del documento de respuestas en el almacén de secretos bajo secrets://{env}/{tenant}/{team}/{provider}/{key}, para que los proveedores puedan leer credenciales en tiempo de ejecución sin que tengas que volver a escribirlas.
  • Carga el bundle, monta cada pack y levanta los adaptadores HTTP de ingress.
  • Vuelve a comprobar las dependencias de los packs mediante el índice de capacidades e imprime las capacidades satisfechas y faltantes.
  • Invoca la operación WASM setup_webhook de cada proveedor cuando cambia la URL pública del túnel; el re-registro de webhooks ahora es automático.
  • Imprime las rutas públicas (por ejemplo, la URL de WebChat) para que puedas abrirlas inmediatamente en un navegador.

La mayoría de las demos ligadas a webhooks funcionan con cualquier túnel. Elige uno:

Ventana de terminal
gtc start ./<demo>-bundle --ngrok on

Vuelve a ejecutar setup después de rotar un secreto

Sección titulada «Vuelve a ejecutar setup después de rotar un secreto»
Ventana de terminal
gtc setup ./<demo>-bundle --answers <updated-setup-answers.json>

gtc setup es idempotente. Sobrescribe los secretos en su lugar y vuelve a ejecutar los flujos de configuración por proveedor.

Ventana de terminal
gtc wizard --answers <create-answers.json> --dry-run
gtc setup ./<demo>-bundle --dry-run

Ambos comandos admiten --dry-run para previsualizar la salida sin tocar el sistema de archivos ni el almacén de secretos.

Ventana de terminal
gtc stop ./<demo>-bundle

Esto apaga el runner y cualquier proceso auxiliar (túneles) que gtc start haya levantado.

El wizard dice que una capacidad no está satisfecha

Sección titulada «El wizard dice que una capacidad no está satisfecha»

Actualiza el documento create-answers para incluir un pack que proporcione la capacidad faltante. Para greentic:state/state-store funcionan tanto state-memory (sin configuración) como state-redis (requiere una instancia de Redis). La mayoría de las demos ya declaran esta dependencia, así que el wizard la añadirá automáticamente.

WebChat se abre pero las tarjetas están en blanco

Sección titulada «WebChat se abre pero las tarjetas están en blanco»

Asegúrate de que el tenant del bundle coincida con el tenant en la URL de WebChat. gtc setup ahora detecta automáticamente el tenant del bundle, así que si ejecutaste setup antes de que llegara esta corrección, vuelve a ejecutarlo después de un gtc wizard para refrescar el layout del bundle.

Comprueba que el secreto que necesita tu proveedor esté presente en el archivo de respuestas (por ejemplo, bot_token, slack_configuration_token, ms_bot_app_password). Vuelve a ejecutar gtc setup con el documento actualizado y reinicia gtc start.

De forma predeterminada, ngrok emite una URL nueva en cada reinicio. El actualizador de webhooks detecta el cambio al iniciar y llama a la operación setup_webhook de cada proveedor para registrar la nueva URL aguas arriba, pero quizá te convenga pasar a un dominio reservado en demos de larga duración.

  • gtc wizard — referencia completa de documentos create-answers y banderas de capacidad
  • gtc setup — configuración de proveedores, credenciales y uso de dry-run
  • gtc start — opciones del runtime, túneles y observabilidad
  • Bundle Assets — cómo funciona el overlay de assets usado por las skins de WebChat
  • Multi-Tenancy — cómo interactúa el aislamiento por tenant con secretos e ingress