Sobre o projeto
Tahti Player é o cliente de audição e estúdio de artista para a Tahti, uma plataforma finlandesa sem fins lucrativos, centrada em canais, para artistas independentes. Ele é construído sobre a UI de player gratuita e sem anúncios do Nuclear (React mais um design system compartilhado) e atualmente é distribuído como uma SPA Vite em beta.tahti.live, comunicando-se com a API de produção ao vivo em api.tahti.live. O repositório contém duas partes principais: @tahti-player/tahti-web, o cliente web de audição e estúdio baseado no Nuclear, planejado como candidato à migração do apps/web de produção, e Tahti Player, o app desktop Tauri com complementos e pacotes de UI compartilhados.
O cliente web não é um backend separado; ele usa a mesma API pública da Tahti, o mesmo serviço de chat e a mesma CDN de mídia da produção. O objetivo declarado é um shell nativo de player com fila, temas e interface com bom suporte a teclado, além de um estúdio que pareça uma mesa para entrar ao vivo, em vez de um painel SaaS genérico. Os clientes nativos estão disponíveis para Windows, Mac e Linux e suportam o carregamento de suas próprias faixas para gerenciamento, enriquecimento de metadados e gerenciamento musical geral.
Os recursos de ouvinte incluem diretório de canais, HLS de canais ao vivo e replay de arquivos, um stream Tahti Radio 24/7, chat de canal por websockets Centrifugo com reações e restrição por assinantes, perfis de artista, coleções e álbuns, links inteligentes, embeds, diretório de locais, moções de governança, relatórios de transparência e status da plataforma. Os recursos de conta abrangem seguir, favoritos, histórico de audição, adicionar à playlist, assinaturas de fãs via Stripe Checkout, mensagens diretas, votação de governança para membros e uma biblioteca pessoal.
Os recursos do estúdio de artista incluem um assistente Go Live com OBS/RTMP e multistream, uma biblioteca musical com upload, lançamentos e designer de álbuns, playlists e coleções, um editor de áudio profissional para corte e masterização, agendamento e programação 24/7, horários e programas de rádio, um designer de canal com predefinições visuais e camadas, estatísticas, atualizações de newsletter, receita por tiers de fãs e pagamentos Stripe Connect, distribuição via Revelator, moderadores de canal e links de compartilhamento de som. Uma área de administração do conselho expõe 22 superfícies administrativas restritas por isBoard, cobrindo dashboard, filas de moderação, supervisão de transmissão, finanças, governança, subsídios, AGM, i18n, arquivos e armazenamento, comunicados, solicitações de recursos, suporte e submissões de rádio.
O app desktop Tauri é um player completo baseado no Nuclear, com busca, biblioteca local, complementos, temas e controle remoto. Ele inclui um servidor MCP integrado, preservado do Nuclear upstream, que permite que um agente de IA controle reprodução, fila, favoritos, playlists e provedores; ele se vincula ao localhost na porta 8800 e é documentado como exclusivo para desktop porque a SPA web servida por CDN não pode hospedar a ponte local do plano de controle.
Para desenvolvedores, o projeto oferece um proxy /tahti-api de mesma origem para a API ao vivo no beta, documentação pública OpenAPI/Scalar e um modo mock offline (VITE_FORCE_MOCK=1), no qual os fetchers usam diretamente dados de fixture, sem chamadas de rede. A stack usa pnpm e Turborepo, requer Node 24 e pnpm 10.x, e precisa das dependências de sistema do Tauri 2, além de Rust 1.77.2 ou mais recente apenas para o app desktop. Os comandos abrangem servidores de desenvolvimento para o cliente web e o app desktop, Storybook, builds, lint, verificação de tipos e testes. A configuração é feita por variáveis de ambiente para destino do proxy de API, URL base da API, modo mock, websocket Centrifugo, chave de site hCaptcha e host de vinculação. Helpers de implantação existem para o site beta, e helpers de release, Flatpak e AUR ficam em scripts.
O README é franco sobre o status: o beta cobre os fluxos principais de ouvinte e estúdio com dados ao vivo, enquanto algumas superfícies de produção permanecem parciais ou fora do escopo da UI Nuclear, como profundidade da administração do conselho, SEO/SSR completos e algumas configurações. A paridade de recursos e as lacunas restantes são rastreadas em FEATURES.md e FEATURES-REMAINING.md, com planejamento de migração em CUTOVER.md. O projeto é licenciado sob AGPL-3.0-only, alinhado ao Nuclear upstream, e inclui orientação a agentes em AGENTS.md, além de skills em .agents/skills.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.