Ir al contenido

Integrar en un proyecto Lovable

Es el camino probado (Minerales de la Sabana). El código lo pones tú (o Claude Code) desde la terminal; Lovable solo aplica base de datos, secretos e interfaz.

  • Proyecto Lovable con el stack nuevo (TanStack Start). Verifica que exista src/server.ts y @tanstack/react-start.
  • Supabase conectado (Lovable Cloud).
  • El repo del proyecto clonado en tu máquina y este repo (lemabot-agent-core) clonado al lado.
Ventana de terminal
cd <proyecto>
bun add ai@^7 @ai-sdk/openai-compatible@^3 zod
Ventana de terminal
bash ../lemabot-agent-core/scripts/sync.sh .

Queda en src/lib/agente/core/ con un .agent-core.json (versión + hashes). No se edita ahí: los cambios se hacen en agent-core y se vuelven a sincronizar (Actualizar el core).

Desde plantillas/tanstack/ (tabla completa en su README):

Plantilla Destino
routes-api-public-whatsapp-webhook.ts src/routes/api/public/whatsapp-webhook.ts
agente-entrante.server.ts src/lib/agente/entrante.server.ts
agente-nucleo.server.ts src/lib/agente/nucleo.server.ts
agente-tipos.ts src/lib/agente/tipos.ts
casos-negocio.ts src/lib/agente/casos-negocio.ts
agente-ia.functions.ts src/lib/agente-ia.functions.ts
conecta.functions.ts, conecta.server.ts, whatsapp.server.ts, background.server.ts src/lib/
server.ts src/server.ts (si el proyecto no lo tiene: guarda el ctx para waitUntil)
TabPruebas.tsx, TabWhatsApp.tsx src/components/

Y plantillas/supabase/esquema.sql → docs/agente/esquema.sql.

  1. Catálogo en nucleo.server.ts: reemplaza productos (Minerales) por tu fuente (tabla, archivo o API). Debe devolver ProductoCatalogo[].
  2. Casos del negocio en casos-negocio.ts: 4-8 conversaciones reales del cliente con su verificación (mira Casos de uso).
  3. Busca AJUSTAR en las plantillas (nombre del cliente en Conecta, URL del webhook).
Ventana de terminal
npx tsc --noEmit
NAN_API_KEY=... bun ../lemabot-agent-core/evals/correr.ts --ejemplo <vertical-parecido>

Para evaluar con la configuración real del cliente, copia evals/correr.ts al proyecto y reemplaza el Ejemplo por su config/conocimiento/catálogo (así lo hace Minerales en evals/).

  1. Commit en una rama, push, PR y fusión a main.
  2. Pega en Lovable el mensaje de plantillas/lovable/mensaje-integracion.md: aplica docs/agente/esquema.sql, pide los secretos y arma el panel sin tocar el motor.
  3. En Knowledge del proyecto en Lovable deja la regla de no modificar src/lib/agente/**.
Secreto Valor
CONECTA_API_KEY lema_ck_… de la integración registrada en Engine (Conecta)
ENCRYPTION_KEY 64 caracteres hex (openssl rand -hex 32); cifra token de Meta y signing key
NAN_API_KEY Key de NaN. Con ella el proveedor por defecto es NaN deepseek-v4-flash
  1. Panel → WhatsApp → Conectar WhatsApp (pop-up de Meta) → queda active.
  2. Panel → Agente / Flujo / Conocimiento: el cliente llena su información.
  3. Panel → Pruebas → todas en verde → se habilita Encender agente.
  4. Mensaje real de prueba desde un número acordado.

Antes de abrir al público: checklist de lanzamiento.