VSingerBoard

VSingerBoard Logo
# VSingerBoard - 您的专属虚拟主播点歌台 ![Flet](https://img.shields.io/badge/flet-0.84.0-blue.svg) ![Python Version](https://img.shields.io/badge/python-3.12-blue.svg) ![License](https://img.shields.io/badge/license-GPL--3.0-green.svg)

VSingerBoard 是一款专为虚拟主播、歌手和音乐爱好者打造的跨平台智能点歌管理面板。它能将直播间混乱的点歌弹幕转化为一个优雅、有序、可交互的列表,让您专注于直播,而非手忙脚乱地记录。

✨ 核心功能

📸 应用截图

image image image

🛠️ 技术栈

📂 项目结构

.
├── assets/                   # 静态资源 (图标、字体、JS 签名库等)
├── doc/                      # 项目文档与截图
├── hooks/                    # PyInstaller 打包与运行时钩子
├── src/                      # 核心源码
│   ├── database/             # 数据模型与 Tortoise-ORM 封装
│   ├── douyin/               # 抖音协议适配、签名逻辑与 Protobuf 定义
│   ├── live/                 # 直播平台 (Bilibili/抖音) 适配器实现
│   ├── manager/              # 服务器、消息订阅与生命周期管理器
│   ├── notifypy/             # 跨平台桌面通知封装库
│   ├── ui/                   # Flet UI 组件与页面
│   │   ├── components/       # 业务相关 UI 组件 (如平台 Tab)
│   │   ├── controls/         # 通用自定义控件 (分页、进度条、Toast)
│   │   └── pages/            # 各功能模块路由页面
│   └── utils/                # 工具函数 (日志、异步工作流、WebSocket 封装)
├── tests/                    # 单元测试与集成测试
├── main.py                   # 应用启动入口
├── pack.sh                   # 多平台打包构建脚本
├── pyproject.toml            # uv 项目配置与依赖管理
└── VSingerBoard.spec         # PyInstaller 打包配置文件

🤝 开发与贡献

本项目推荐使用 uv 进行包管理,推荐使用 VS Code 作为开发 IDE。

  1. 克隆项目:
    git clone https://github.com/zangxx66/VSingerBoard.git
    cd VSingerBoard
    
  2. 安装依赖:
    uv sync
    
  3. 运行应用:
    uv run flet run main.py
    
  4. 本地构建 (打包):
    bash pack.sh
    

❤️ 致谢

本项目的实现离不开以下优秀开源项目的支持:

📄 许可证

本项目基于 GPL-3.0 许可证发布。详情请见 LICENSE 文件。