Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Canal Seguro — CRM de WhatsApp anti-bloqueo CRM y bandeja compartida para pymes sobre la API oficial de WhatsApp Cloud, usando Kapso como Tech Provider. Stack: Next.js 16 (App Router) + TypeScript + Supabase (Postgres, Auth, Realtime, RLS).查看完整 README ↗
CRM y bandeja compartida para pymes sobre la API oficial de WhatsApp Cloud, usando Kapso como Tech Provider. Stack: Next.js 16 (App Router) + TypeScript + Supabase (Postgres, Auth, Realtime, RLS).
| Carpeta | Qué hace |
|---|---|
src/lib/kapso/ | Cliente REST de Kapso: customers, setup links, números, salud, webhooks, mensajes, plantillas |
src/lib/webhooks/ | Firma HMAC, ingesta idempotente y normalización de eventos de Kapso y de Meta (crudos) |
src/modules/health/ | Diagnóstico "es Meta / es tu número / somos nosotros" y cron de salud |
src/modules/templates/ | Calificador de plantillas: TemplateAnalyzer (DeepSeek) + CategoryScorer opcional (Jev) y calibración |
src/modules/meter/ | Medidor de consumo de Meta y alertas al 50/80/100 % del tope |
src/modules/campaigns/ | Puntaje de riesgo, envío por tandas y freno automático |
src/modules/inbox/ | Ventana de 24 h y respuestas rápidas |
supabase/migrations/ | Esquema multi-tenant con RLS, barreras de consentimiento y funciones de ingesta |
npx supabase link --project-ref TU_REF y npx supabase db push.
Sin el CLI: pega cada archivo de supabase/migrations/ en el SQL Editor, en orden.https://TU-DOMINIO/auth/confirmar a las Redirect URLs.supabase_realtime incluya messages, conversations y notes.openssl rand -hex 32) y guárdalo como KAPSO_WEBHOOK_SECRET.https://TU-DOMINIO/api/webhooks/kapso-project, evento whatsapp.phone_number.created. Copia su secreto en KAPSO_PROJECT_WEBHOOK_SECRET.cp .env.example .env.local # y llena los valores
npm install
npm run verificar # revisa Supabase, Kapso, DeepSeek y Jev sin mostrar secretos
Kapso no entrega webhooks a localhost, así que necesitas una URL pública:
npm run build && npm start
npx cloudflared tunnel --url http://localhost:3000 # copia la URL https en APP_URL
/ingresar, crea tu empresa y copia su id (tabla tenants).npm run vincular -- <phone_number_id> <tenant_id>./panel/bandeja.npm run verificar -- --enviar <phone_number_id> +573001234567.Para clientes reales, el flujo es Panel → Número → Continuar con Facebook (setup link en español, con customer_managed: el cliente paga a Meta con su tarjeta).
vercel.json programa la salud cada 10 min, las campañas cada 5 min y el consumo cada hora. Todos exigen
Authorization: Bearer CRON_SECRET (Vercel lo envía solo si defines CRON_SECRET). En el plan Hobby de Vercel los crons
solo pueden correr una vez al día: usa Pro o un cron externo.
El medidor cuenta los mensajes por categoría con el campo pricing que envía Meta. Para mostrar dólares, carga las tarifas
vigentes en la tabla meta_rates (país, categoría, USD por mensaje) desde la tabla oficial de Meta. Sin tarifa, el panel
avisa que el total es parcial.
npm test # pruebas unitarias (Vitest)
npm run test:db # migraciones + RLS + barreras en Postgres (Docker)
npm run test:e2e # app de producción + mini Supabase + Kapso falso: webhooks, salud y campañas (requiere npm run build y Docker)
npm run build
X-Idempotency-Key y respuesta inmediata con procesamiento posterior (after).