Ingeniería de Blue Steel HMC
Arquitectura, decisiones y prácticas que sostienen una experiencia multimedia completa.
Detalles de ingeniería
La arquitectura de Blue Steel HMC busca separar responsabilidades, mantener operables los flujos multimedia y ofrecer una base preparada para evolucionar. Estos son los criterios técnicos y las decisiones que sostienen el producto.
Resumen técnico
Arquitectura
Responsabilidades separadas
La solución sigue Clean Architecture, con responsabilidades diferenciadas entre reglas de negocio, casos de uso, persistencia, integraciones y ejecución.
Servidor, cliente y comunicación
Dos experiencias conectadas
El servidor concentra las capacidades del producto y las aplicaciones Windows y Android se conectan mediante API, actualizaciones en tiempo real y autorización de dispositivos.
Entrega multimedia
Streaming dentro de la red LAN
La reproducción en el mismo PC Windows es local. Para Android o Chromecast, el servidor Windows transmite el medio dentro de la red LAN; Android también puede controlar la sesión de Chromecast.
Asistente Blue
RAG local, aislado y verificable
Blue, el asistente de IA, recibe consultas desde las aplicaciones Windows y Android a través de la API autenticada. La API valida la sesión y el acceso a la conversación, y delega la generación en un worker local supervisado. Este recupera información del manual y transmite respuestas con fuentes, manteniendo la inferencia en el equipo Windows que aloja Blue Steel.
Calidad y operación
Continuidad verificable
Pruebas, logs, diagnósticos, copias de seguridad y recuperación complementan la operación de los flujos de catálogo, ingestión y reproducción.
Arquitectura y límites
Aplicaciones Windows y Android
Las aplicaciones permiten consultar contenido, gestionar sesiones y perfiles, reproducir medios y preguntar al asistente desde la propia experiencia de Blue Steel.
API y comunicación en tiempo real
REST API, SignalR y un fallback de consulta periódica conectan el cliente con las capacidades del servidor y mantienen el estado de reproducción.
Casos de uso y reglas de negocio
Los casos de uso coordinan catálogo, bibliotecas, metadatos, perfiles, dispositivos, ingestión y reproducción sin acoplar la experiencia a detalles de infraestructura.
Persistencia, integraciones y ejecución
SQLite, el sistema de archivos, TMDb, LibVLCSharp, mDNS/Zeroconf, logging y servicios en segundo plano sostienen los flujos del producto.
Decisiones y tradeoffs
| Decisión | Motivo | Beneficio | Tradeoff y revisión |
|---|---|---|---|
| Servidor Windows y cliente Android | Separar la operación multimedia del acceso desde los dispositivos. | Control centralizado del contenido con una experiencia de consumo independiente. | Dependencia de dos superficies de producto; revisar si aparecen nuevos clientes o necesidades de despliegue independiente. |
| REST API y SignalR | Combinar contratos explícitos con actualizaciones de estado en tiempo real. | Interoperabilidad y sincronización fluida de reproducción, ingestión y actividad. | Mayor complejidad de conexión y estados; revisar resiliencia y versionado si crecen los consumidores. |
| Consulta periódica como fallback | Mantener una alternativa cuando la comunicación en tiempo real no está disponible. | La experiencia puede seguir consultando el estado en escenarios de conectividad variable. | Más tráfico y menor inmediatez; revisar intervalos y necesidad si mejora la cobertura en tiempo real. |
| SQLite y Entity Framework Core | Persistir localmente el catálogo y mantener un modelo relacional organizado. | Simplicidad operativa, productividad y consistencia transaccional para el alcance actual. | Menor margen para escenarios distribuidos o de gran volumen; revisar si cambian la escala o las consultas. |
| Ingestión en segundo plano | Evitar bloquear la experiencia mientras se escanean y enriquecen bibliotecas. | Progreso observable, pausa, reanudación y recuperación ante errores. | Complejidad de estado, reintentos y consistencia; revisar si aumentan el volumen o la concurrencia. |
| LibVLCSharp para reproducción | Integrar capacidades multimedia en el cliente. | Controles de reproducción, selección de audio y subtítulos en una experiencia unificada. | Dependencia de integración multimedia nativa; revisar compatibilidad si cambian plataformas o formatos. |
| TMDb para metadatos | Enriquecer el catálogo sin mantener manualmente toda la información. | Cast, equipo creativo, imágenes, trailers y géneros más completos. | Dependencia de un servicio externo y sus límites; revisar caché y degradación si cambia su disponibilidad. |
| mDNS/Zeroconf para descubrimiento | Facilitar la conexión con servidores dentro de la red local. | Onboarding con menor configuración manual. | Dependencia del comportamiento de la red; revisar alternativas si se amplían los escenarios remotos. |
Stack tecnológico
Aplicación
Experiencia y servicios
El producto utiliza .NET, ASP.NET Core y .NET MAUI Blazor Hybrid para organizar el servidor y la experiencia cliente.
Comunicación
Contratos y estado compartido
REST API, SignalR y JWT soportan la comunicación, la actualización de estado y la autorización de las sesiones y dispositivos.
Datos
Persistencia organizada
SQLite y Entity Framework Core organizan el acceso al catálogo, las bibliotecas, los perfiles y el estado de reproducción.
Multimedia e integración
Servicios conectados al producto
TMDb, LibVLCSharp, Chromecast, mDNS/Zeroconf y el sistema de archivos sostienen metadatos, reproducción y descubrimiento.
Operación
Continuidad del sistema
Serilog, logs, diagnósticos, servicios en segundo plano, backups versionados y restauración protegida complementan la operación.
IA local
Asistente basado en el manual
La arquitectura RAG recupera información pertinente del manual para responder consultas y mostrar sus fuentes. La inferencia se ejecuta localmente en el servidor Windows mediante la tecnología de modelos integrada en Blue Steel.
Seguridad, calidad y operación
Autorización y perfiles
La autorización explícita de dispositivos, los dispositivos confiables y administrados, los roles, el usuario invitado, la visibilidad configurable y el PIN forman parte del modelo conceptual de acceso.
Pruebas y continuidad
Las pruebas unitarias validan reglas y casos de uso; las pruebas de integración se enfocan en persistencia y consultas. Logs, diagnósticos, backups versionados, restauración y recuperación del cliente complementan la calidad operativa.
Alcance y ciclo de conversación
El asistente se limita al manual: no consulta Internet ni el catálogo en vivo, y no ejecuta acciones. Si el documento no basta, debe indicarlo. La conversación se comparte entre Windows y Android, puede expirar por inactividad y se elimina al reiniciar el servidor.
¿Quieres volver a la narrativa del producto?