Sobre el proyecto
Tahti Player es el cliente de escucha y de estudio de artista para Tahti, una plataforma de retransmisión finlandesa sin ánimo de lucro y centrada en los canales para artistas independientes. Está construido sobre la interfaz de reproductor gratuita y sin anuncios de Nuclear (React más un sistema de diseño compartido) y actualmente se distribuye como una SPA de Vite en beta.tahti.live, que se conecta a la API de producción en vivo en api.tahti.live. El repositorio contiene dos piezas principales: @tahti-player/tahti-web, el cliente web de escucha y estudio basado en Nuclear, pensado como candidato de migración para el apps/web de producción, y Tahti Player, la aplicación de escritorio Tauri con complementos y paquetes de interfaz compartidos.
El cliente web no tiene un backend independiente; utiliza la misma API pública de Tahti, el mismo servicio de chat y la misma CDN de medios que producción. El objetivo declarado es un shell nativo de reproductor con cola, temas y controles adaptados al teclado, además de un estudio que se sienta como un escritorio para emitir en directo, en lugar de un panel genérico de SaaS. Hay clientes nativos disponibles para Windows, Mac y Linux, y permiten cargar tus propias pistas para su gestión, enriquecimiento de metadatos y administración musical general.
Las funciones para oyentes incluyen un directorio de canales, HLS de canales en directo y reproducción de archivos, una señal 24/7 de Tahti Radio, chat de canal mediante websockets de Centrifugo con reacciones y acceso restringido para suscriptores, perfiles de artista, colecciones y álbumes, enlaces inteligentes, embebidos, un directorio de venues, mociones de gobernanza, informes de transparencia y estado de la plataforma. Las funciones de cuenta incluyen seguir, favoritos, historial de escucha, añadir a listas de reproducción, suscripciones de fans mediante Stripe Checkout, mensajes directos, votación de gobernanza para miembros y una biblioteca personal.
Las funciones del estudio de artista incluyen un asistente Go Live con OBS/RTMP y multistream, una biblioteca musical con carga, lanzamientos y diseñador de álbumes, listas de reproducción y colecciones, un editor de audio profesional para recorte y masterización, programación y parrilla 24/7, franjas y programas de radio, un diseñador de canales con preajustes visuales y capas, estadísticas, novedades por boletín, ingresos mediante niveles de fans y pagos por Stripe Connect, distribución a través de Revelator, moderadores de canal y enlaces de intercambio de audio. Un área de administración de la junta expone 22 superficies de administración protegidas por isBoard, que cubren panel, colas de moderación, supervisión de emisiones, finanzas, gobernanza, subvenciones, junta general anual (AGM), i18n, archivos y almacenamiento, anuncios, solicitudes de funcionalidades, soporte y envíos radiofónicos.
La aplicación de escritorio Tauri es un reproductor completo basado en Nuclear con búsqueda, biblioteca local, complementos, temas y control remoto. Incluye un servidor MCP integrado, conservado del Nuclear upstream, que permite a un agente de IA controlar la reproducción, la cola, los favoritos, las listas de reproducción y los proveedores; se vincula a localhost en el puerto 8800 y está documentado como exclusivo para escritorio porque la SPA web servida mediante CDN no puede alojar el puente local del plano de control.
Para desarrolladores, el proyecto ofrece un proxy /tahti-api del mismo origen hacia la API en vivo en beta, documentación pública OpenAPI/Scalar y un modo mock sin conexión (VITE_FORCE_MOCK=1) en el que los fetchers se desvían directamente a datos de fixture sin llamadas de red. La pila utiliza pnpm y Turborepo, requiere Node 24 y pnpm 10.x, y necesita las dependencias de sistema de Tauri 2 además de Rust 1.77.2 o más reciente solo para la aplicación de escritorio. Los comandos cubren servidores de desarrollo para el cliente web y la aplicación de escritorio, Storybook, compilaciones, lint, comprobación de tipos y pruebas. La configuración se realiza mediante variables de entorno para el destino del proxy de la API, la URL base de la API, el modo mock, el websocket de Centrifugo, la clave de sitio de hCaptcha y el host de vinculación. Existen ayudas de despliegue para el sitio beta, y ayudas para lanzamientos, Flatpak y AUR en scripts.
El README es claro sobre el estado: la beta cubre los flujos principales de oyente y estudio con datos en vivo, mientras que algunas superficies de producción siguen siendo parciales o quedan fuera del alcance de la interfaz Nuclear, como la profundidad de la administración de la junta, el SEO/SSR completo y algunos ajustes. La paridad de funciones y las lagunas restantes se registran en FEATURES.md y FEATURES-REMAINING.md, con la planificación de la migración en CUTOVER.md. El proyecto tiene la licencia AGPL-3.0-only, igual que el upstream de Nuclear, e incluye orientación para agentes en AGENTS.md además de habilidades en .agents/skills.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.