Overview y stack
EMA Emi es un orquestador de agentes de IA que atiende a múltiples productos del ecosistema EMA con personalidades especializadas. Una sola URL, un solo deployment, varios agentes detrás:
- SalesAgent sirve al chatbot del website (
emahealth.io). - SupportAgent sirve al panel clínico (
emaclinic) con tools FHIR. - AnalyticsAgent sirve al panel interno (
emavault) con tools sobre Supabase.
Cada producto cliente envía sus requests a la misma API; emaemi decide qué agente responder según la app de origen y qué tools tiene permitidas.
Estado del producto
Sección titulada «Estado del producto»- Phase 1 ✅ — SalesAgent operativo, integrado en emahealth.io.
- Phase 2 ⏳ — SupportAgent (tools FHIR) y AnalyticsAgent (tools Supabase) implementados; emavault todavía requiere completar configuración de secrets.
- Phase 3 📋 — pendientes: DatabaseAgent dedicado, DocumentsAgent (PDFs) y persistencia de conversaciones.
| Capa | Tecnología | Versión |
|---|---|---|
| Runtime | Cloudflare Workers | — |
| Framework | Hono | 4.7 |
| Lenguaje | TypeScript | 5.7 |
| Modelo LLM | Claude (vía fetch nativo, no SDK) | claude-haiku-4-5-20251001 |
| FHIR client | Aidbox (fetch nativo) | — |
| Data layer | Supabase REST (fetch nativo) | — |
| Test | Vitest 4.1 + coverage | — |
| Deploy | Wrangler | 4 |
Dominio
Sección titulada «Dominio»emaemi.cristian-ruiz-mti.workers.dev (cuenta personal Cloudflare).
Custom domain pendiente de mapear.