外观
关于我们
拼好歌(phgmusic) 是一个由个人开发者发起并维护的开源项目:一套能跑在手机、平板与桌面上的音乐播放器客户端,加上一套可以部署在自己账号下的服务端。代码以 Apache-2.0 协议开放,完全免费、非商业。
项目缘起
做这个项目的出发点很具体:现有播放器要么把数据锁在别人的账号体系里,要么在跨端体验上妥协——手机、平板、桌面各写一套,功能与界面都不一致。
拼好歌选择了两条不同的路径:
- 客户端只写一次。用 uni-app + Vue 3 维护同一套界面与业务逻辑,桌面端由 Electron 承载,Android 走原生打包;
- 后端交给你自己。服务端基于 Cloudflare Workers,可以部署在你自己的账号下,账号、歌单、收藏与播放历史都留在你部署的实例里。
对开发者而言,这个项目同时也是一份可运行的参考实现:跨端布局适配、QuickJS 沙箱、Workers 上的数据库与后台管理,都在真实场景里跑过。
我们关心什么
- 数据自主:同步目标是使用者自己的实例,不依赖任何第三方账号体系;
- 跨端一致:同一份数据在手机、平板、桌面上是同一套结构,而不是各自维护一份;
- 边界清晰:项目只做播放器与框架本身,不碰内容、不分发插件、不运营公开服务。
项目性质
- 本项目是播放器工具与开发框架,本身不提供、不存储、不传输任何音频内容;
- 不内置、不附带、不推荐、不分发任何插件;插件由使用者自行提供并自行承担相应责任;
- 项目不运营任何面向公众的在线服务,使用者部署的实例由使用者自行管理;
- 项目不接受商业合作、广告投放与捐赠。
技术构成
| 部分 | 技术栈 | 职责 |
|---|---|---|
| 客户端 | uni-app + Vue 3,桌面端由 Electron 承载 | 播放界面、歌单与收藏、数据同步、个性化设置 |
| 服务端 | Cloudflare Workers + D1 + QuickJS(WASM) | 账号体系、数据同步、插件沙箱、管理后台 |
| 本站 | VitePress(Vue 生态静态站点生成器) | 信息索引、文档与法务入口 |
致谢与参考
拼好歌不是凭空写出来的,有两个开源项目值得单独说明:
| 项目 | 与本项目的关系 |
|---|---|
| 洛雪音乐(lx-music,Apache-2.0) | 音源插件协议与插件运行方式的参考来源。拼好歌的插件层按它的脚本协议实现,播放器交互也参考了它的设计 |
| Ceru Music | 部分功能的实现思路参考 |
有两点需要说清楚:
- 拼好歌的代码是独立实现,不是洛雪音乐的分支或修改版。两者共享的只是「音源脚本协议」这一层公开接口:遵循该协议编写的脚本在拼好歌里同样可以运行。插件本身仍需使用者自行准备,其来源与授权由使用者自行确认。
- 拼好歌同样以 Apache-2.0 发布。上述项目的名称与代码版权归各自作者所有;本项目与它们没有隶属、合作或背书关系。
本站定位
本站是项目的信息索引站点,只做三件事:
- 说明项目是什么、由哪些部分组成;
- 给出当前有效的代码入口(代码仓库);
- 提供部署与使用文档。
本站不提供:插件下载、在线播放、任何音频内容;下载页仅指向项目自身发布的安装包文件。
维护方式
项目由个人在业余时间维护,不承诺响应时限,涉及安全的报告会优先处理。所有变更记录在更新日志,仓库地址或域名变动会同步更新到代码仓库与 RSS 订阅源。
想直接问人的话,可以加入反馈 QQ 群(群号 1016773775);问题能公开检索的,仍然建议走仓库 Issue。
许可与声明
- 代码以 Apache-2.0 协议开源,可自由使用、修改与分发,需保留版权与许可声明;
- 本项目按「现状」提供,不附带任何明示或暗示的担保;
- 使用者应自行确认其使用方式符合所在地法律法规。
