{"id":48345000,"url":"https://github.com/chthollyphile/folia-major","last_synced_at":"2026-06-12T08:01:33.764Z","repository":{"id":327795331,"uuid":"1105953775","full_name":"chthollyphile/folia-major","owner":"chthollyphile","description":"专注于绚丽的歌词动画效果的第三方网易云播放器","archived":false,"fork":false,"pushed_at":"2026-06-06T20:36:54.000Z","size":10855,"stargazers_count":110,"open_issues_count":6,"forks_count":14,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-06T22:19:17.410Z","etag":null,"topics":["ai","music","music-player","navidrome-client","netease-music","player","pwa","react","typescript","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://folia-site.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chthollyphile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-11-28T11:58:07.000Z","updated_at":"2026-06-06T15:02:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chthollyphile/folia-major","commit_stats":null,"previous_names":["chthollyphile/folia-major"],"tags_count":78,"template":false,"template_full_name":null,"purl":"pkg:github/chthollyphile/folia-major","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chthollyphile%2Ffolia-major","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chthollyphile%2Ffolia-major/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chthollyphile%2Ffolia-major/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chthollyphile%2Ffolia-major/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chthollyphile","download_url":"https://codeload.github.com/chthollyphile/folia-major/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chthollyphile%2Ffolia-major/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34234557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","music","music-player","navidrome-client","netease-music","player","pwa","react","typescript","vercel-deployment"],"created_at":"2026-04-05T06:03:39.576Z","updated_at":"2026-06-12T08:01:33.741Z","avatar_url":"https://github.com/chthollyphile.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"/img/1.png\" alt=\"Folia\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# Folia\n\nLyrics Reimagined // 辞曲新境\n\n[![GitHub release](https://img.shields.io/github/v/release/chthollyphile/folia-major?label=release)](https://github.com/chthollyphile/folia-major/releases)\n[![License](https://img.shields.io/github/license/chthollyphile/folia-major)](https://github.com/chthollyphile/folia-major/blob/main/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/chthollyphile/folia-major?style=social)](https://github.com/chthollyphile/folia-major/stargazers)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-339933?logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n[桌面版下载](https://github.com/chthollyphile/folia-major/releases)\n·\n[Vercel 部署](https://vercel.com/new/clone?repository-url=https://github.com/chthollyphile/folia-major)\n·\n[使用指南](https://folia-site.vercel.app/guide/)\n·\n[技术说明](docs/technical.md)\n\n\u003c/div\u003e\n\n## 项目简介\n\nFolia是一个以全屏沉浸式歌词播放为核心的在线音乐播放器，支持网易云，navidrome和本地音乐库，通过智能歌词匹配，AI生成配色主题，以及多种全屏歌词动画为用户提供独特的听歌体验。\n\n如果你希望直接开箱即用，马上体验，推荐直接使用基于Electron的 windows/ macOS/ Linux 桌面端版本。\n\n如果希望能够在移动设备上使用，或在浏览器上体验云端多平台，可以选择[一键部署到 Vercel](https://folia-site.vercel.app/guide/deploy-vercel) 的 Web 版本，或自行部署到其他支持 Node.js 的平台。\n\n## 展示\n\n### 演示视频\n\nhttps://github.com/user-attachments/assets/fd27f4f0-64b9-4c57-8c3b-10df767f934b\n\nhttps://github.com/user-attachments/assets/704f195a-2194-434b-86e8-8f36290e5cc4\n\n### 主题预览\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-fume.png\" alt=\"Fume 主题预览\" /\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-lumi.png\" alt=\"Lumi 主题预览\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e浮名\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e流光\u003c/strong\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-cad.png\" alt=\"Cad 主题预览\" /\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-pat.png\" alt=\"Pat 主题预览\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e心象\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e云阶\u003c/strong\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-cappella.jpg\" alt=\"群唱 主题预览\" /\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50%\"\u003e\n      \u003cimg src=\"./img/preview-tilt.png\" alt=\"Tilt 主题预览\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e群唱\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cstrong\u003e倾诉\u003c/strong\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n不同的歌词动画具有不同的排版氛围和可调参数，让全屏歌词拥有如同文字PV般的丰富视觉效果，同时又能兼顾响应式布局，自动适配不同窗口尺寸。\n\n## 核心能力\n\n| 模块 | 说明 |\n| --- | --- |\n| 在线搜索与播放 | 搜索歌曲、歌手或专辑后即可播放，并自动加载相关封面与歌词。 |\n| 本地音乐支持 | 可导入本地音频文件，在本地安全保存索引信息，不上传文件内容。 |\n| 智能歌词匹配 | 本地歌曲可自动匹配在线歌词与封面，也支持手动修正匹配结果。 |\n| LRC 文件识别 | 自动加载同目录同名 `.lrc` 歌词文件，或歌词文件内嵌lrc歌词。适配 LDDC 生成的增强型逐字歌词格式 |\n| Now Playing 接入 | 支持通过本机 [Now Playing](https://github.com/Widdit/now-playing-service/) 服务接入外部播放器的歌曲、时间轴与歌词信息，并驱动 Folia 的舞台视图与全屏歌词渲染。 |\n| AI 主题生成 | 基于歌曲情绪与歌词内容生成沉浸式背景与视觉参数。 |\n| 多端体验 | 提供 Web 部署方式，同时支持桌面端打包分发。 |\n\n## 桌面端下载\n\n桌面版内置前后端运行环境，适合希望即装即用的用户。最新版本请前往 [Releases 页面](https://github.com/chthollyphile/folia-major/releases)。\n\nLinux 包、Wayland / Hyprland 遥控窗和桌面端细节见 [技术与开发说明](docs/technical.md)。\n\n## 文档与开发\n\n更完整的使用说明请访问 [Folia Guide](https://folia-site.vercel.app/guide/)。\n\n部署、环境变量、本地开发、Stage API、常用脚本和技术栈见 [技术与开发说明](docs/technical.md)。\n\n如果你希望快速上线 Web 版本，请阅读 [Vercel 一键部署指南](https://folia-site.vercel.app/guide/deploy-vercel) 来创建项目\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/chthollyphile/folia-major)\n\n## 本地音乐与匹配说明\n\n使用本地音乐时，Folia 会优先尝试从以下来源补全信息：\n\n1. 音频文件自身元数据\n2. 同目录同名歌词文件\n3. 在线匹配结果\n\n如果自动匹配不准确，可以在播放界面的右侧面板进入“本地”选项卡，手动搜索并指定更合适的歌词、封面或元数据来源。你也可以选择只使用本地信息，关闭在线匹配结果。\n\n\n## 贡献者\n\nThanks goes to these wonderful people. Issue reports, bug reports, ideas, docs, design, tests, and code are all counted through the [all-contributors](https://allcontributors.org/) spec.\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/chthollyphile\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/30263107?v=4?s=100\" width=\"100px;\" alt=\"冬霧\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e冬霧\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/commits?author=chthollyphile\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ZhaoAlpha931206\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/113200713?v=4?s=100\" width=\"100px;\" alt=\"zhao_alpha\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ezhao_alpha\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3AZhaoAlpha931206\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/hz1ang\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/79741472?v=4?s=100\" width=\"100px;\" alt=\"hz1ang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ehz1ang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3Ahz1ang\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-hz1ang\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/steadyoak\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/62462010?v=4?s=100\" width=\"100px;\" alt=\"steadyoak\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esteadyoak\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3Asteadyoak\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-steadyoak\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jin6yang\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68692517?v=4?s=100\" width=\"100px;\" alt=\"POINTER\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePOINTER\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3Ajin6yang\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-jin6yang\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Yuki-3939\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/171513605?v=4?s=100\" width=\"100px;\" alt=\"Yuki-3939\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYuki-3939\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Yuki-3939\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/MewsCat-Dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/207451147?v=4?s=100\" width=\"100px;\" alt=\"MewsCat\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMewsCat\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3AMewsCat-Dev\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-MewsCat-Dev\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://afdian.com/a/tumuyan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3126801?v=4?s=100\" width=\"100px;\" alt=\"tumuyan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etumuyan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3Atumuyan\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-tumuyan\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/chthollyphile/folia-major/commits?author=tumuyan\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/948720857\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/23718388?v=4?s=100\" width=\"100px;\" alt=\"948720857\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e948720857\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3A948720857\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/setube\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/73606411?v=4?s=100\" width=\"100px;\" alt=\"谦君\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e谦君\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-setube\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/suheandzl\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3975134?v=4?s=100\" width=\"100px;\" alt=\"suheandzl\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esuheandzl\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/chthollyphile/folia-major/issues?q=author%3Asuheandzl\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n\u003c!-- 添加 issue 提出者时可以使用：\n\n```bash\nnpm run contributors:add -- github-username bug\nnpm run contributors:add -- github-username bug,ideas\nnpm run contributors:generate\n``` --\u003e\n\n## 法律与免责声明\n\n本项目在 AI 的广泛协助下开发，因此仍可能存在细微或不易察觉的问题。若给你带来不便，敬请理解。\n\n本项目主要用于展示播放动效、界面设计与相关工程实现。应用中涉及的在线音乐流媒体、歌词、专辑封面及其他内容，其版权均归对应权利人所有。\n\n本仓库及其源代码仅供个人学习、技术交流与非营利测试使用。请勿将其用于商业盈利用途。若因对在线资源的传播、加工或再分发而引发版权纠纷或其他责任，均由使用者自行承担，项目开发者不承担相关责任。\n\n请始终尊重数字版权，并在条件允许时通过官方平台支持正版音乐。\n\n## 许可证\n\n本项目基于 `AGPL-3.0` 许可证开源。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchthollyphile%2Ffolia-major","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchthollyphile%2Ffolia-major","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchthollyphile%2Ffolia-major/lists"}