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.
0. Requisitos
Sección titulada «0. Requisitos»- Proyecto Lovable con el stack nuevo (TanStack Start). Verifica que exista
src/server.tsy@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.
1. Dependencias
Sección titulada «1. Dependencias»cd <proyecto>bun add ai@^7 @ai-sdk/openai-compatible@^3 zod2. Copiar el motor
Sección titulada «2. Copiar el motor»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).
3. Copiar las plantillas
Sección titulada «3. Copiar las plantillas»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.
4. Adaptar lo específico del negocio
Sección titulada «4. Adaptar lo específico del negocio»- Catálogo en
nucleo.server.ts: reemplazaproductos(Minerales) por tu fuente (tabla, archivo o API). Debe devolverProductoCatalogo[]. - Casos del negocio en
casos-negocio.ts: 4-8 conversaciones reales del cliente con su verificación (mira Casos de uso). - Busca
AJUSTARen las plantillas (nombre del cliente en Conecta, URL del webhook).
5. Verificar en local
Sección titulada «5. Verificar en local»npx tsc --noEmitNAN_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/).
6. Subir y pedirle a Lovable lo suyo
Sección titulada «6. Subir y pedirle a Lovable lo suyo»- Commit en una rama, push, PR y fusión a
main. - Pega en Lovable el mensaje de
plantillas/lovable/mensaje-integracion.md: aplicadocs/agente/esquema.sql, pide los secretos y arma el panel sin tocar el motor. - En Knowledge del proyecto en Lovable deja la regla de no modificar
src/lib/agente/**.
7. Secretos
Sección titulada «7. Secretos»| 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 |
8. Conectar WhatsApp y encender
Sección titulada «8. Conectar WhatsApp y encender»- Panel → WhatsApp → Conectar WhatsApp (pop-up de Meta) → queda
active. - Panel → Agente / Flujo / Conocimiento: el cliente llena su información.
- Panel → Pruebas → todas en verde → se habilita Encender agente.
- Mensaje real de prueba desde un número acordado.
Antes de abrir al público: checklist de lanzamiento.