# 直播间自动回复系统 **Repository Path**: vxupu/live-reply-system ## Basic Information - **Project Name**: 直播间自动回复系统 - **Description**: 一个纯AI驱动的直播间自动回复系统,支持B站直播间弹幕监听、AI自动回复、语音合成、3D模型口型同步。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-14 - **Last Updated**: 2026-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 直播间自动回复系统 一个纯AI驱动的直播间自动回复系统,支持B站直播间弹幕监听、AI自动回复、语音合成、3D模型口型同步。 ## 核心特性 - ✨ **古老星空魔女人设**:静谧、深邃、疏离、温柔,带着不可名状的神圣与诡异 - 🎤 **龙呼呼TTS语音合成**:带情感的奶音(支持happy/sad/surprised三种情感) - 🎬 **3D模型自动口型同步**:通过VTube Studio Auto Lip Sync实现 - 📺 **B站直播间弹幕监听**:实时接收观众弹幕并自动回复 - 💬 **对话历史记忆**:AI能够记住之前的对话内容,最多10轮 - 🎛️ **可视化测试平台**:Gradio Web界面,无需前端知识 - ⚙️ **后台控制面板**:实时开关AI、切换情感、调节音量、清空对话历史 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置API密钥 复制环境变量模板: ```bash cp .env.example .env ``` 编辑 `.env` 文件,填入你的DashScope API密钥: ``` DASHSCOPE_API_KEY=your_api_key_here ``` ### 3. 配置VTube Studio 详细配置步骤请参考 [VTUBE_SETUP.md](VTUBE_SETUP.md) 关键步骤: 1. 启动VTube Studio并加载Live2D模型 2. 开启 `Auto Lip Sync` 功能 3. 关闭 `Face Tracking`(纯AI模式不需要) ### 4. 运行程序 ```bash python app.py ``` 浏览器会自动打开 `http://localhost:7860` ## 使用说明 ### 基本操作 1. 在左侧输入框输入弹幕(如"你好"、"我很迷茫") 2. 点击"发送弹幕"按钮 3. 系统自动生成回复并播放语音 4. VTube Studio中的3D模型自动同步口型 ### B站直播间连接 1. 在"直播间ID"输入框中输入B站直播间ID 2. 点击"连接"按钮 3. 系统自动连接到B站直播间 4. 观众发送弹幕后,系统自动回复 ### 后台控制面板 - **直播间连接**:输入B站直播间ID,点击"连接"按钮连接直播间 - **AI回复总开关**:ON/OFF切换,关闭时弹幕静默不触发回复 - **自动回复模式**:开启后弹幕自动触发回复,关闭后需手动点击回复按钮 - **情感模式**:切换TTS情感参数(happy/sad/surprised) - **音量控制**:0%~100%调节输出音量 - **清空对话历史**:清空AI的对话记忆 ### 测试用例 | 输入弹幕 | 预期回复(示例) | |---------|----------------| | 你好 | 你好啊……风刚从星轨的缝隙里穿过,带来一点微凉。 | | 我很迷茫 | 星途失序时,只需记得——你本是星辰碎片。星光会指引你回归原初。 | | 世界好黑暗 | 黑暗不是终点,只是星光尚未抵达。微光未熄,静待群星归位。 | ## 项目结构 ``` MoeStreamer/ ├── app.py # Gradio Web界面主程序 ├── config/ │ └── settings.py # 配置文件 ├── llm/ │ └── generator.py # LLM对话生成模块 ├── tts/ │ └── synthesizer.py # TTS语音合成模块 ├── audio/ │ └── player.py # 音频播放模块 ├── danmaku/ │ ├── __init__.py │ └── listener.py # B站弹幕监听模块 ├── requirements.txt # 依赖列表 ├── .env.example # 环境变量模板 └── VTUBE_SETUP.md # VTube Studio配置说明 ``` ## 技术架构 ``` 输入层: - Gradio GUI界面提供弹幕输入框与后台控制开关 - B站弹幕监听模块实时接收观众弹幕 ↓ 控制层: - 全局状态变量存储AI开关状态、当前情感模式、音量值 - 对话历史管理(最多10轮) ↓ 处理层: - 弹幕到达后,先检查AI开关状态 - 若开启,调用LLM生成回复(包含对话历史) - 调用龙呼呼TTS生成语音 - 播放语音到系统扬声器 ↓ 输出层: - 音频通过系统扬声器输出 - VTube Studio的Auto Lip Sync自动检测声音 - 3D模型实时同步口型与表情 ``` ## 安全要求 ### API密钥管理 - ✅ 代码中禁止硬编码API_KEY - ✅ 使用环境变量读取:`os.getenv("DASHSCOPE_API_KEY")` - ✅ `.gitignore`中已添加敏感文件过滤 ### 额度控制 建议在DashScope控制台设置月度消费上限(建议¥50),避免超额消费。 ### 版权规避 - ✅ 仅使用已授权的通用3D模型 - ✅ 禁止使用原神/米哈游等未授权角色 - ✅ 人设描述使用"古老星空魔女"等通用词汇 ## MVP验收标准 必须全部满足才算MVP完成: 1. ✅ 启动程序后,浏览器自动打开GUI界面(localhost:7860) 2. ✅ 在弹幕输入框输入"你好",点击"发送",弹幕显示区新增该条弹幕 3. ✅ 后台开关为ON时,2秒内听到龙呼呼奶音,且3D模型自动张嘴同步 4. ✅ 后台开关为OFF时,发送弹幕后无任何回复(静默) 5. ✅ 切换情感开关为"sad",生成带哭腔的回复 6. ✅ 连接B站直播间后,观众发送弹幕自动回复 7. ✅ AI能够记住之前的对话内容 ## 常见问题 ### Q: 模型不动嘴怎么办? A: 请参考 [VTUBE_SETUP.md](VTUBE_SETUP.md) 中的常见问题部分。 ### Q: API调用失败怎么办? A: 请检查: 1. `.env` 文件中的 `DASHSCOPE_API_KEY` 是否正确 2. DashScope账户是否有足够余额 3. 网络连接是否正常 ### Q: 如何连接B站直播间? A: 1. 在"直播间ID"输入框中输入B站直播间ID 2. 点击"连接"按钮 3. 系统会自动连接到B站直播间 4. 观众发送弹幕后,系统自动回复 ### Q: 如何清空对话历史? A: 点击"清空对话历史"按钮,AI会忘记之前的所有对话。 ## 开发路线图 - [x] Phase 1:GUI测试平台搭建 - [x] Phase 2:核心链路集成 - [x] Phase 3:稳定性优化 - [x] Phase 4:B站对接 - [x] Phase 5:对话历史记忆 ## 许可证 本项目仅供学习和研究使用,请勿用于商业用途。 ## 贡献 欢迎提交Issue和Pull Request!