一、仓库定位
Open-LLM-VTuber 是一款开源的基于大语言模型(LLM)驱动的虚拟主播(VTuber)解决方案,旨在降低虚拟主播开发与部署的门槛,为开发者、创作者提供开箱即用的技术框架。该项目聚焦于结合大语言模型的智能交互能力与虚拟形象(如 Live2D)的可视化呈现,支持多平台适配(如 B 站),兼具灵活性与可扩展性,既满足个人创作者快速搭建虚拟主播的需求,也适配开发者进行二次开发与功能定制。
二、仓库架构
1. 整体目录结构与核心模块
该仓库采用模块化的目录设计,核心模块与目录功能如下:
目录 / 文件 | 核心功能 |
src/ | 项目核心代码目录,包含 LLM 交互逻辑、虚拟形象渲染、平台对接等核心功能代码 |
web_tool/ | 网页端工具相关代码,提供可视化配置、操作界面等 Web 层面支持 |
live2d-models/ | Live2D 虚拟形象模型文件存储目录,适配虚拟形象的加载与渲染 |
characters//avatars/ | 虚拟角色、头像资源目录,管理虚拟主播的视觉资源 |
prompts/ | 大语言模型提示词模板目录,定义虚拟主播的交互话术、性格、场景化指令 |
scripts/ | 辅助脚本目录,包含自动化部署、环境配置、功能测试等脚本 |
config_templates/ | 配置文件模板目录,提供不同场景(如不同 LLM、不同平台)的配置示例 |
doc/ | 项目文档目录,包含使用说明、开发指南、API 文档等 |
run_server.py | 项目核心启动文件,用于启动虚拟主播服务端,整合各模块功能 |
model_dict.json | 大语言模型配置字典,管理支持的 LLM 类型、接口地址、参数等 |
mcp_servers.json | 多客户端 / 服务端配置文件,适配多终端、多平台的对接配置 |
requirements*.txt | 依赖包清单,区分通用依赖(requirements.txt)与 B 站专属依赖(requirements-bilibili.txt) |
dockerfile/.dockerignore | 容器化部署相关文件,支持 Docker 一键构建与部署 |
upgrade.py/upgrade_codes/ | 项目升级脚本与升级码目录,支持版本迭代与功能更新 |
2. 核心运行逻辑
项目以 run_server.py 为入口,通过加载 model_dict.json 配置的大语言模型完成智能交互逻辑处理,结合 live2d-models 中的虚拟形象资源实现视觉渲染,通过 requirements-bilibili.txt 等平台依赖包完成直播平台对接,最终实现 “LLM 智能交互 + 虚拟形象渲染 + 直播平台联动” 的核心能力。
三、技术栈
1. 核心开发语言
Python:项目核心逻辑(LLM 交互、服务端启动、平台对接)的主要开发语言。
2. 核心依赖 / 框架
大语言模型相关:适配主流 LLM 接口(如 OpenAI API、国产大模型 API 等),通过 model_dict.json 统一管理模型配置;
虚拟形象渲染:基于 Live2D SDK 实现虚拟形象的加载与交互渲染(关联 live2d-models 目录);
Web 相关:Web 工具模块(web_tool/)采用前端框架(如 Vue/React,需结合具体代码确认)+ Python Web 框架(如 FastAPI/Flask)搭建可视化操作界面;
平台对接:针对 B 站等直播平台,封装专属 API 对接逻辑(依赖 requirements-bilibili.txt);
环境管理:支持 pixi(pixi.lock)、uv(uv.lock)等现代 Python 包管理工具,也兼容传统 pip(requirements.txt);
容器化:Docker(dockerfile)支持跨环境一键部署;
代码规范:pre-commit-config.yaml 配置代码提交前的格式校验、语法检查等。
四、核心功能与用途
1. 核心功能
智能交互:基于 LLM 实现虚拟主播的自动问答、场景化话术生成、个性化对话逻辑;
虚拟形象渲染:支持 Live2D 虚拟形象加载、动作联动(如语音 / 文字驱动表情 / 动作);
多平台适配:优先支持 B 站直播平台对接,可扩展至其他直播 / 社交平台;
可视化配置:通过 web_tool/ 提供网页端配置界面,无需编写代码即可调整 LLM 参数、虚拟形象样式;
版本升级:通过 upgrade.py 实现项目功能一键升级,兼容历史版本;
灵活部署:支持本地部署、Docker 容器化部署等多种方式;
二次开发:模块化架构设计,支持开发者扩展新的 LLM、虚拟形象类型、平台对接逻辑。
2. 主要用途
个人创作者:快速搭建专属智能虚拟主播,开展直播、互动问答等内容创作;
开发者:作为虚拟主播技术底座,二次开发定制化功能(如新增行业专属 LLM 话术、自定义虚拟形象);
教学 / 研究:作为 LLM + 虚拟形象结合的开源案例,用于 AI 交互、虚拟人技术的学习与研究;
企业 / 团队:快速落地智能虚拟主播场景(如客服型虚拟主播、品牌虚拟形象直播)。
五、安装与部署方式
方式 1:本地环境部署
前置条件
操作系统:Windows/Linux/macOS;
Python 版本:匹配 .python-version 指定的版本(如 3.10+);
网络:可访问 LLM 接口(若使用云端模型),或本地部署 LLM 服务。
安装步骤
克隆仓库:
bash git clone https://github.com/[仓库作者]/Open-LLM-VTuber.git cd Open-LLM-VTuber |
安装依赖:
通用依赖:
bash pip install -r requirements.txt |
若需对接 B 站:
bash pip install -r requirements-bilibili.txt |
或使用现代包管理工具(如 uv):
bash uv pip install -r requirements.txt |
配置参数:
复制 config_templates/ 中的模板配置文件,修改 LLM 接口地址、虚拟形象路径、平台对接密钥等;
调整 model_dict.json,适配目标大语言模型;
启动服务:
bash python run_server.py |
访问 Web 工具(可选): 启动后访问 web_tool/ 模块对应的端口(如localhost:8000),通过可视化界面配置虚拟主播参数。
方式 2:Docker 容器化部署
前置条件
已安装 Docker 环境(Docker Engine 20.10+);
部署步骤
克隆仓库(同本地部署步骤 1);
构建 Docker 镜像:
bash docker build -t open-llm-vtuber:latest . |
启动容器:
bash docker run -d -p [主机端口]:[容器端口] \ -v [本地配置目录]:/app/config \ -v [本地live2d模型目录]:/app/live2d-models \ open-llm-vtuber:latest |
(注:替换 [主机端口]/[容器端口]/[本地配置目录] 等为实际路径 / 端口)
验证部署: 访问容器映射的端口,确认服务正常启动。
方式 3:升级现有部署
若已部署旧版本,可通过升级脚本更新:
bash python upgrade.py |
(需确保 upgrade_codes/ 目录下的升级码文件完整)
* 官方开源代码仓库:
夜雨聆风