MCPcopy Index your code
hub / github.com/asxez/MusicBox

github.com/asxez/MusicBox @0.2.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.5 ↗ · + Follow
3,434 symbols 9,842 edges 222 files 834 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MusicBox Logo

🎵 MusicBox

高颜值、插件化、可深度定制的本地音乐播放器






<a href="https://musicbox.asxe.vip/"><strong>🌐 官方网站</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="#-安装"><strong>📦下载安装</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="#-开发"><strong>🛠️开发指南</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="#-插件开发"><strong>🔧为MusicBox开发插件</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a href="#-相关截图"><strong>📌相关截图</strong></a>

Ask DeepWiki License Platform Electron Node


📖 项目简介

  • MusicBox是一款专注于本地音乐播放的桌面应用程序,采用现代化的技术栈和精美的用户界面设计。
  • 项目灵感来源于 YesPlayMusic 的设计美学。

✨ 特性

  • 💻️ 支持 Windows / macOS / Linux
  • ✅ 支持flac, mp3, wav, ogg, m4a, aac, wma等多种音乐格式
  • 🔧 强大的插件系统
  • 🎶 支持 WASAPI 音频独占模式
  • 📄 支持逐字歌词(使用 TTML 格式歌词)
  • 🤏 支持迷你播放器
  • 📔 支持在线获取歌曲封面和歌词
  • ⌨️ 支持自定义局内/全局快捷键
  • 🎈 浅色/深色主题切换
  • 🎼 支持图形/参量均衡器,搭配专业级预设
  • 📃 支持桌面显示歌词
  • 📔 支持识别内嵌封面和内嵌歌词
  • 👁️ 支持自由的页面显示开关
  • 💾 支持挂载 SMB/WebDAV 等网络磁盘
  • 🖋️ 支持编辑歌曲元数据
  • ▶️ 支持无间隙播放,为连续的专辑歌曲提供更好的播放体验
  • 🛠️ 更多特性开发中

📔 TODOS

0.2.3版本后

✅已完成,❌未完成,🔄进行中,❓待定

  • ✅ 歌词逐字
  • ✅ 高级均衡器
  • ✅ 主进程重构
  • ❌ Last.fm scrobbler
  • 🔄 完善插件系统(插件市场,更多内置插件)
  • ✅ 迷你播放器
  • ❌ 首页频谱
  • ✅ 列表多选
  • 🔄 更多优质内置插件

📦 安装

预编译版本下载

前往 Releases 页面下载适合你系统的安装包。

从源码构建

环境要求

  • Node.js >= 22.18.0
  • Python >= 3.8
  • Rust == 1.94.1

从源码构建 MusicBox,请按照以下步骤操作:

1. 克隆仓库

git clone https://github.com/asxez/MusicBox.git
cd MusicBox

2. 安装依赖

npm install
npm run install:renderer
npm run install:rs
pip install -r requirements.txt

3. 开发模式运行

npm run dev

4. 构建应用

# 构建当前平台版本
npm run build

🛠️ 开发

项目架构

MusicBox 架构文档

🔧 插件开发

可在 issue 中提交你开发的插件,我会在此链接你的仓库😋

MusicBox 插件文档

可用插件列表

内置插件:主题增强插件

🤝 贡献

我们欢迎所有形式的贡献!无论是报告 bug、提出功能建议、提交代码,或者说提交你开发的插件!

注意:日志输出请务必以相关 emoji 图标开头!(日志过多,便于快速查看)

📄 许可证

本项目基于 MIT License 开源协议。

🙏 致谢

  • 所有为项目做出贡献的开发者们

📌 相关截图

MusicBox 应用截图 MusicBox 应用截图 MusicBox 应用截图 MusicBox 应用截图 MusicBox 应用截图 MusicBox 应用截图


如果你喜欢这个项目,请给它一个 ⭐️

Extension points exported contracts — how you extend this code

IDisposable (Interface)
(no doc) [13 implementers]
src/renderer/src/js/extensions/core/Lifecycle.ts
NetworkFileAdapter (Interface)
* 网络文件适配器接口 [1 implementers]
src/main/utils/metadata.ts
ReadSeek (Interface)
组合 Read 和 Seek traits 的 trait,用于动态分发 [1 implementers]
native/src/audio_engine.rs
ServicesAccessor (Interface)
(no doc) [9 implementers]
src/renderer/src/js/extensions/core/Instantiation.ts
LyricsTimestamp (Interface)
* 同步歌词时间戳
src/main/utils/metadata.ts
ReadSeek (Interface)
组合 Read 和 Seek traits 的 trait,用于动态分发 [1 implementers]
native/src/decoder.rs
ElectronAPI (Interface)
* Electron API 类型定义
src/renderer/src/js/types/global.d.ts
SynchronizedLyrics (Interface)
* 同步歌词对象
src/main/utils/metadata.ts

Core symbols most depended-on inside this repo

error
called by 736
src/renderer/src/js/api/core/logger.ts
log
called by 726
src/renderer/src/js/api/core/logger.ts
warn
called by 215
src/renderer/src/js/api/core/logger.ts
log
called by 197
src/renderer/src/js/extensions/core/ExtensionAPIProxy.ts
IpcHandle
called by 195
src/main/decorators/IpcHandler.ts
add
called by 172
src/renderer/src/js/extensions/core/Event.ts
on
called by 171
src/renderer/src/js/extensions/api/types/ui.ts
get
called by 131
src/renderer/src/js/extensions/api/index.ts

Shape

Method 2,462
Function 477
Class 320
Interface 166
Enum 9

Languages

TypeScript93%
Rust6%
Python1%

Modules by API surface

src/renderer/src/js/core/app.js87 symbols
src/renderer/src/js/components/component/ArtistsPage.js68 symbols
src/renderer/src/js/components/component/Settings.js67 symbols
src/renderer/src/js/services/audio/WebAudioEngine.js63 symbols
src/main/services/library/LibraryCacheManager.ts58 symbols
src/renderer/src/js/api/api.js55 symbols
src/renderer/src/js/components/component/Lyrics.js52 symbols
src/renderer/src/js/components/component/PlaylistDetailPage.js51 symbols
native/src/audio_engine.rs51 symbols
native/src/lib.rs47 symbols
src/renderer/src/js/services/audio/WasapiEngine.js46 symbols
src/main/services/library/LibraryCacheManager.js46 symbols

For agents

$ claude mcp add MusicBox \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact