MK Asistente — PWA (solo app) + Backend PHP ================================================= Qué hace - Captura audio por micrófono (MediaRecorder). - Offline-first: guarda chunks/audio + eventos + transcripción + análisis en IndexedDB. - Online: sube chunks al backend y obtiene: - STT (OpenAI -> fallback DigitalOcean) - Análisis: temas + extracción de pregunta concreta + respuesta (si aplica) UI - Orbe sintiente (pulso por nivel de audio). - Toggle Log / Solo Orbe (para dejarlo ultra limpio). - Muestra el endpoint exacto de ONLINE: /server/api.php?op=health Icono PWA - https://cdn.maskapital.mx/ia-app-platform/assets/icons/icono-mk.webp Estructura - public/ => webroot PWA - server/ => backend PHP + storage local Endpoints - GET /server/api.php?op=health - POST /server/api.php (multipart) op=ingest_chunk + file - POST /server/api.php (json) op=event (opcional) Config por ENV (backend) - MK_API_KEY (opcional) -> header X-API-KEY - OPENAI_API_KEY - OPENAI_STT_MODEL (default whisper-1) - OPENAI_ANALYZER_MODEL (default gpt-4.1-mini) - DO_STT_URL + DO_STT_TOKEN (fallback STT) - DO_AI_URL + DO_AI_TOKEN (fallback análisis) Deploy (Apache) 1) Copia public/ y server/ a tu webroot: /var/www/html/mk_asistente/ ├─ public/ └─ server/ 2) Permisos de escritura: sudo mkdir -p /var/www/html/mk_asistente/server/storage sudo chown -R www-data:www-data /var/www/html/mk_asistente/server/storage sudo chmod -R 775 /var/www/html/mk_asistente/server/storage Notas - En localhost también funciona. - Para PWA instalada, abre /public/ y usa “Instalar”.