内容
# CueVote - 互动点播系统
<p align="center">
<a href="https://cuevote.com">
<img src="DemoImages/channel_top.png" width="600" alt="CueVote 应用横幅">
</a>
</p>
<p align="center">
<strong>🌐 访问在线平台: <a href="https://cuevote.com">CueVote.com</a></strong>
</p>
---
**CueVote** 是一个现代的、社区驱动的社交点播系统,专为 YouTube 时代打造。它通过允许房间里的每个人建议视频并实时投票队列,实现了音乐选择的民主化。
无论您是举办聚会、经营酒吧,还是只是在线闲逛,CueVote 确保播放的视频是观众选择的,而不是算法决定的。
---
## 🚀 核心功能
### 🎧 社交点播系统
* **民主队列:** 用户对视频进行投票(点赞或踩)。评分最高的视频会跳到队列顶部。
* **协作建议:** 任何人都可以从 YouTube 搜索和添加视频。
* **实时同步:** 队列更新、投票和播放状态在所有设备上即时同步。
### 🏛️ 大厅与发现
* **公共和私人频道:** 创建开放房间供所有人使用,或为朋友创建受密码保护的私人房间。
* **搜索和筛选:** 轻松找到活跃的派对或按您创建的频道筛选。
* **个性化体验:** 使用 Google 登录以跟踪您的历史记录、收藏视频和管理频道。
### 🧠 智能队列系统
* **基于投票的排序:** 队列根据实时投票动态重新排序。
* **自动补充(自动 DJ):** 当队列为空时,系统会智能地从房间历史记录中选择视频以保持氛围。
* **智能替换:** 如果队列已满,新建议的高质量视频可以自动替换评分最低的曲目(可选)。
* **重复预防:** 智能检查防止相同视频(或标题)过于频繁地播放。
### 📺 播放模式
* **主持人模式(场馆/电视):** “主屏幕”体验。连接笔记本电脑、电视或投影仪以播放音乐和视频。
* *电影模式:* 全屏沉浸式体验。
* *场馆模式:* 专门为电视设计的视图,显示播放列表/二维码而不是视频。
* **嘉宾模式:** 用户加入手机以查看队列、投票和建议,而不会中断播放。
* **预听:** 嘉宾可以在自己的设备上私下预览视频,然后再投票。
### 🛡️ 管理与控制
* **所有者权限:**
* **跳过/暂停/快进:** 完整的播放控制权。
* **强制播放:** 立即将特定视频跳到“正在播放”。
* **禁止:** 禁止特定视频在会话中播放。
* **手动审批:** 切换到“手动模式”以在建议进入队列之前进行审查。
* **系统完整性:**
* **垃圾邮件保护:** 速率限制和重复冷却。
* **内容过滤器:** 选项限制为“仅音乐”类别或限制视频时长。
### 📚 频道库
* **曲目历史记录:** 频道自动记住过去播放的视频。
* **快速添加:** 轻松将以前播放的视频重新添加到队列中,无需搜索。
### 🤖 AI 与自动化(MCP)
* **模型上下文协议服务器:** CueVote 配备了 MCP 服务器(`cuevote-mcp/`),因此可以由 AI 助手驱动(Claude Desktop/Code,…)。
* *运维控制台:* 只读洞察(房间、用户、统计数据、保留健康)+ 通过 SSH 进行实时管理(跳过、禁止、批准、GDPR 删除),供操作员使用。
* *AI DJ:* 受 OAuth 保护的远程模式(“与 CueVote 连接”)允许用户附加他们的 AI 以建议歌曲、投票和查看正在播放的内容 — 以他们自己的名义。
### ⚖️ 法律与隐私
* **GDPR 合规:** 用户完全控制请求删除帐户和数据,直接在应用内进行。
* **透明度:** 专门的法律中心,包含服务条款、隐私政策和说明。
* **YouTube 合规:** 使用官方 YouTube iFrame API,以确保创作者获得浏览量和广告收入(如果适用)。
---
## 🛠️ 技术栈
* **前端:** React、Tailwind CSS、Lucide Icons。
* **后端:** Node.js、WebSocket (`ws`)、SQLite3。
* **数据库:** SQLite with WAL mode for high-performance, concurrent read/write operations.
* **API:** YouTube Data API v3 for robust video metadata verification.
* **AI Integration:** Model Context Protocol (MCP) server (`@modelcontextprotocol/sdk`) — an ops console + an OAuth-based AI DJ. See `cuevote-mcp/`.
---
## 📦 部署(简要)
CueVote 已在 **[CueVote.com](https://cuevote.com)** 上准备就绪,供开发者托管自己的实例:
1. **克隆仓库**
2. **安装依赖项:** `npm install`(根目录),`cd cuevote-server && npm install`,`cd cuevote-client && npm install`
3. **配置 `.env`:** 添加您的 `YOUTUBE_API_KEY` 和 `GOOGLE_CLIENT_ID`。
4. **构建和运行:** `npm run build` 和 `npm start`。
*参见 `DEPLOYMENT.md` 获取完整说明。*
---
## 📜 许可证与致谢
Copyright © 2026 **Julian Zienert** — hello@cuevote.com
该项目的源代码在 **[PolyForm Noncommercial License 1.0.0](LICENSE)** 下获得许可。
您可以自由阅读、修改和自我托管以供个人使用。禁止将此代码用于商业用途。
如需直接使用,请访问 [cuevote.com](https://cuevote.com)。
*CueVote — 社区与节奏相遇的地方 — 每次投票都改变节奏。*