24小时营业:基于 VTube Studio + 硅基流动的 AI 看板娘直播全流程
目录导航
- 前言:为什么你的官方号需要一个“赛博打工人”?
- 准备工作:硬件环境与虚拟声卡
- Step 1. 大脑构建:接入硅基流动 (SiliconFlow) API
- Step 2. 感官系统:B 站弹幕抓取与过滤逻辑
- Step 3. 躯体驱动:VTube Studio 的口型与表情同步
- Step 4. 直播集成:OBS 推流与自动化兜底
- 结语
前言:为什么你的官方号需要一个“赛博打工人”?
做过游戏社群运营的都知道,官方直播间最难熬的就“长草期”。真人主播这周播了 2 小时下班了,剩下 22 小时直播间是黑屏的,流量白白流失。“AI 值守”已经成为官方号的标配。但市面上那些几百块买的“一键 AI 直播软件”效果太差,声音像电音,回复像客服。
我们要做的,是一套工业级的解决方案:
- 低延迟:利用 硅基流动 (SiliconFlow) 的 Token 加速,让回复延迟控制在 3 秒内。
- 高表现力:用 VTube Studio 的 API 控制 Live2D 模型做表情(生气时皱眉,收到礼物时比心)。
- 甚至能打游戏:通过视觉识别让 AI 边打游戏边解说(本文重点讲互动逻辑)。
准备工作:硬件环境与虚拟声卡
在写代码前,必须搞定音频路由。这是新手最容易卡关的地方:怎么让 AI 说话的声音,既能被 VTube Studio 听到(做口型),又能被直播间观众听到?
1. 软件清单
- VTube Studio (Steam版):目前面捕最稳的工具。
- VB-Cable (Virtual Audio Cable):免费的虚拟声卡驱动。
- Python 3.12+:编写中控脚本。
- OBS Studio:推流软件。
2. 关键设置:VB-Cable
下载安装 VB-Cable 后,你的电脑会多出一个“CABLE Input”和“CABLE Output”。
- 逻辑:Python 把 TTS 生成的音频 -> 发送给 CABLE Input。
- VTube Studio:麦克风输入选择 CABLE Output。
- 结果:AI 一说话,VTube Studio 就以为有人对着麦克风说话,皮套嘴巴自动动起来。
- 图注:音频信号流向图。Python TTS -> VB-Cable Input -> (分流) -> VTube Studio (口型) & OBS (观众听到)。
- 目的:直观展示虚拟声卡的连接方式,解决“有声音没口型”的常见 Bug。
Step 1. 大脑构建:接入硅基流动 (SiliconFlow) API
我们在国内首选 硅基流动。原因很简单:DeepSeek-V3 和 Qwen-2.5 等国产顶流模型在上面的推理速度极快(TPOT < 20ms),且 API 兼容 OpenAI 格式。
代码实操 (Python)
我们需要封装一个 AIBrain 类,负责把弹幕变成回复。
from openai import OpenAI
class AIBrain:
def init(self):
# 2025年硅基流动 API 配置
self.client = OpenAI(
api_key="你的_SILICONFLOW_API_KEY",
base_url="https://api.siliconflow.cn/v1"
)
self.history = [] # 短期记忆池
# 核心:System Prompt (人设注入)
self.system_prompt = """
你现在是游戏《赛博修仙》的官方看板娘“小师妹”。
【性格】傲娇,贪财,护短。
【知识】熟知游戏内所有攻略,特别是“结丹期”的渡劫技巧。
【限制】回答要在 30 字以内,多用口语,禁止像客服一样说话。
"""
def chat(self, user_text):
# 构建消息链
messages = [{"role": "system", "content": self.system_prompt}] + self.history
messages.append({"role": "user", "content": user_text})
response = self.client.chat.completions.create(
model="deepseek-ai/DeepSeek-V3", # 2025年性价比之选
messages=messages,
temperature=0.8, # 稍微调高,增加活泼感
max_tokens=100
)
reply = response.choices[0].message.content
self.update_history(user_text, reply)
return reply
不要用全部历史记录,会爆 Token 且费钱。保留最近 10 轮对话即可。一定要加上敏感词过滤(本地 SDK),防止 LLM 被钓鱼说出违规内容导致直播间封禁。
Step 2. 感官系统:B 站弹幕抓取与过滤逻辑
B 站直播平台有 WebSocket 协议,我们可以用开源库 blivedm 实时抓取。
1. 抓取逻辑
我们不能回复每一条弹幕,否则 AI 会累死,观众也会觉得吵。我们需要一个“优先级队列 (Priority Queue)”。
2. 过滤策略 (Filter)
- SC / 礼物 (High Priority):必须秒回,触发“感谢语音”+“比心动作”。
- 提问 (Medium Priority):包含“怎么”、“哪里”、“什么时候”关键词的弹幕,放入 LLM 处理。
- 闲聊 / 复读 (Low Priority):随机抽取 10% 进行回复,或者忽略。
- 黑名单:正则匹配 GHS、政治敏感词,直接丢弃。
- 图注:弹幕漏斗模型。海量弹幕 -> 正则过滤 -> 权重排序 -> LLM 生成 -> 语音输出。
- 目的:展示如何处理直播间的高并发消息。
Step 3. 躯体驱动:VTube Studio 的口型与表情同步
光有声音不行,皮套得动起来。VTube Studio 提供了一套强大的 VTS API。
1. 口型同步 (Lip Sync)
只要按照准备工作里设置好了 VB-Cable,口型是自动的,无需代码控制。
2. 表情触发 (Expression Trigger)
我们需要 LLM 在输出文本的同时,顺便告诉我们需要做什么表情。
- Prompt 修改:要求 AI 输出格式为
[Happy] 谢谢老板的辣条! - Python 控制脚本:
import pyvts
import asyncio
async def trigger_expression(expression_name):
myvts = pyvts.vts(plugin_info=plugin_info)
await myvts.connect()
# 发送热键指令触发表情
await myvts.request(
myvts.vts_request.requestTriggerHotkey(expression_name)
)
逻辑判断
if "[Angry]" in ai_reply:
await trigger_expression("Face_Angry") # 触发皱眉
elif "[Love]" in ai_reply:
await trigger_expression("Anim_Heart") # 触发比心动画
- 图注:VTube Studio 的插件授权界面。你需要在这里允许你的 Python 脚本(Client Name)控制模型。
- 目的:指导用户打通代码与美术资源的最后一公里。
Step 4. 直播集成:OBS 推流与自动化兜底
最后一步,把画面推出去。
1. OBS 场景搭建
- 来源 1:游戏画面捕获(作为背景)。
- 来源 2:VTube Studio(选“允许透明”)。
- 来源 3:文字源(实时显示“正在回复:XXX 的弹幕”),防止观众以为是录播。
2. 兜底机制 (Failsafe)
AI 是不稳定的,网络是会波动的。我们需要 “冷场保护”。
- 闲聊模式:如果队列里 30 秒没有新弹幕,脚本自动触发
Topic_Generator,让 AI 自己聊游戏背景故事、天气或者讲冷笑话。 - 报错处理:如果 API 报错,播放预设的录音:“脑子有点痒,正在重启系统...”,而不是让直播间死寂。
3. 合规性 (Compliance)
2025 年新规:必须在直播间显著位置(通常是右上角贴片)标注 “AI 生成内容” 或 “虚拟主播” 字样,否则会被限流。
- 图注:标准的 AI 直播间布局。
- 目的:提供一个标准的直播间装修模板。
结语
这套系统的核心不在于技术(其实都是 API 调用),而在于策划。 当你看到深夜 2 点,依然有几十个玩家在直播间和你的 AI 讨论游戏剧情,甚至为了测试 AI 的反应而刷礼物时,你会明白:这不是省钱,这是在创造一种全新的陪伴关系。
Tags: #虚拟主播 #VTubeStudio #Python开发 #硅基流动 #B站直播 #AI应用 #OBS推流#



