跳到主要内容

1.2.0 版本发布

· 阅读需 18 分钟

本次版本更新幅度相当大,包含基于 Letta 的长期记忆,MCP 服务器,Live2D Cubism 5 支持,前端页面的中文支持,更新系统的升级,BiliBili 弹幕接收等重磅功能,并且修了很多 bug。

关于这过长的更新周期得先说声抱歉,之后我们会尽可能避免如此之长的更新周期。

另外,本项目的前端 (Open-LLM-VTuber-Web 仓库,即项目自带的 Web 端和 Electron 端),在本次发布之 (1.2) 之后,将从 无协议 (即保留所有权利) 改为 Open-LLM-VTuber License 1.0

后端在 1.2 仍保留 MIT 协议,并预计将在 1.3 ~ 1.4 期间,统一改为 Open-LLM-VTuber License 1.0,具体修改我们还会继续讨论,修改协议时会在 GitHub Release 明确通知。请注意 Live2D 模型有自己的协议,请单独检查。

⚠️ 注意: 潜在的不兼容性

在这个版本中,我们改变了 Live2D 的实现方式,新增了 Live2D 5.0 模型的支持,修复了很多 Live2D 模型无法显示的问题,同时不再支持 Live2D 2.1 的模型。理论上支持的现代模型会更多,不过如果你在更新之后遇到了 Live2D 模型不显示的问题,请让我们知道,并回退到上个版本。

✨ 重要更新

  • (MCP) AI 可以调用支持 MCP 协议的工具 (内置了 timeddg-search)。前端显示工具调用状态。(效果演示见最后的附录)
  • 支持基于 BrowserBase 的 Browser Use MCP 在前端的 Live View
  • 前端 Live2D SDK 从 pixi-live2d-display-lipsync 迁移到官方 Live2D Web SDK,支持 Cubism 5,不再支持 Cubism 2。模型对点击操作有更好的反馈。
  • 预设的 Live2D 模型改成 mao_pro,因为 shizuku 的表情在 Live2D 5 版本中被官方删掉了。
  • 前端语言支持切换为中文。
  • 实现了对接直播的接口,并实现了 BiliBili 直播客户端
  • 支持了基于 Letta 的长期记忆。
  • (LLM) 添加了 LM Studio 支持
  • (TTS) 添加了 OpenAI Compatible TTS, SparkTTS, SiliconFlow TTS,
  • 添加了 requirements.txt,方便不熟悉 pip 命令且不愿使用 uv 的用户
  • 修复很多 bug。
  • 更新了文档,文档上线了 Ask AI 功能。

自 v1.1.0 以来的详细变化:

后端:

  • 修改了配置文件中的一些预设选项: llm_provider -> ollama_llm
  • conf.yaml 中的 project_idorganization_id 默认设置成 null,避免有 api 报错。
  • Azure ASR: 添加侦测语言列表,修复一些bug
  • 修复了与配置文件更新相关的一些 bug (2bc0c1b5f75ea79f563935b038a2267e6584d9bc @ylxmf2005)
  • 为了让 windows 用户能自信的在配置文件中输入文件地址的反斜线,配置文件中所有的双引号都被改成了单引号 (758d0b304bfa9d2c561987e9d3edac74857309c7)
  • 修复了 Claude 的视觉能力。这玩意儿应该从来没正常过,之前都没人发现吗?
  • 现在可以从 GET /live2d-models/info route 获取 live2d 模型的相关信息了。
  • 使用更新脚本更新时,透过 git submodule 链接的前端会一同被更新
  • 修复了 #150, Open CompatibleLLM 初始化时temperature 未被传入的问题
  • 修复了 #141, intel mac dependencies problem
  • 实现了支持直播平台的接口和基于 blivedm 的 BiliBili 弹幕接收 (fea16ace015851656e6c044961758c69247ce69e), #142 @Fluchw, @ylxmf2005
  • 合并了 #161,添加了 StatelessLLMWithTemplate 类 @aaronchantrill
  • 添加了 openai compatible tts #178 @fastfading
  • 基于 Letta 的长期记忆实现。#179 @rayburstray,文档参见 Letta Agent
  • 添加了 LM Studio LLM。(b971867b231dac5f3e9e14a28e6c4124fa592a72)
  • 添加了 requirements.txt 以及使用 pip 与 conda 安装本项目的相关文档 (在快速开始文档里面)。(044e5ba9aaab9de8fae440f54e6667c63ab89b85)
  • 添加了 Spark TTS #182 @Because66666, SiliconFlow TTS #208 @endtower, MiniMax TTS #214 @Y0oMu,
  • 修复了 FunASR 不能离线运行的问题 (issue #7, 在 #214 @Y0oMu 中修复)
  • 添加了 whisper, fast-whisper , whisper.cpp 的 prompt config #214 @Y0oMu
  • 修复了 #159 当使用第三方的 openai compatible api 时,可能会返回空的chuck,导致报错的问题 #184 @872226263
  • ✨ 功能增强:MCP Plus 实现 #185 @Stewitch @ylxmf2005,实现了 MCP。
  • 修复了 AI 群聊相关的 bug。(4da3c82e6388604dc0817927a7f07796ef524785 @ylxmf2005)
  • 修复了 merge_config 时可能导致 conf.yaml 文件乱码的问题。 (67e1622891e264cc71b6da71533a3be188a09692)
  • 添加了基于 duckduckgo 的网络搜索 mcp 工具 (3904419fb9f0b67e5f22027e183741cc0f1719dc @ylxmf2005)
  • 修复了 faster-whisper 不能选择自动语言识别的 bug (#188)
  • 给 AI 主动说话 添加了可以在 conf.yaml 配置的提示词 (https://github.com/Open-LLM-VTuber/Open-LLM-VTuber/issue/190 @ylxmf2005)
  • mcp 函数调用添加了状态栏 (51adb61895f1e5040e238fa1c97acdeefe9e2690 @ylxmf2005)
  • 添加了可选的说话风格的提示词 (0a76ac69b04d288c102ec52423d927a4ab9a246d @ylxmf2005)
  • 实现了基于 stagehand 的浏览器操作能力: AI 现在能操作浏览器了。 (1dc2055d74d342202d4a54ea96109d3cfaa7bee7 @ylxmf2005)
  • 实现了后端对 frontend submodule 的检查和自动拉取,避免用户运行项目时前端代码不存在。

前端 (@ylxmf2005):

1.3~1.4 可能的更新预告

  • 流式 TTS,将对主要的 TTS 模型支持流式传输,这会大大降低响应延迟
  • 删除 Hume AI Agent,并提供 Hume AI API TTS 的选项(官方之前不提供 TTS API,最近才出的)。Hume AI 的 emotion control 和声音的自然程度是我见过效果最好的 TTS(当然价格也是最高的 $200/1M characters, Fish Audio 才 $15 / 1M characters)
  • 提供类似 neuro-sama 说话时自然摆动的示例和教程文档。
  • 增加 motionMap 功能,类似 emotionMap ——让模型可以在说话时做出动作。

角色一键添加功能。

  • 支持 MCP Bridge,增加 MCP Bridge Demo(MCP和OLV分离部署,需要在客户端运行 MCP Server&Client,服务端会提供 ready-to-use 的 Bridge 将 MCP command 通过 ws 连接推送到客户端并接受返回值)
  • 新增区域——角色状态栏,允许设定角色状态(心情、好感度、想法、在做什么等允许高度自定义的选项),角色状态将与角色的行为互相影响。并将 think tag 的内容移动到状态栏中——大概率 1.4

1.3~1.4 未来的许可变更说明

随着项目的不断发展壮大,我们计划对许可模式进行一些重要调整,以更好地实现项目的长期可持续发展。

从 1.3.0 版本起 (具体改变许可证的版本号会明确通知),Open-LLM-VTuber 项目采用修改版 Apache 2.0 许可证,具有以下特点:

  • 统一许可:整个项目(包括前端和后端组件)现在采用统一的修改版 Apache 2.0 许可证。
  • 明确使用范围:新许可证明确了允许的用途和需要额外许可的商业用途。

对您有什么影响?

对大多数用户(包括直播主、教育或研究用途)来说,没有影响。

本软件基于 Apache 2.0 许可证,并附加如下使用条款:

✅ 无需额外授权的用途:

  • 所有非商业用途(如个人项目、教育、学术研究、非营利活动)
  • 使用本软件进行 VTuber 直播、视频创作(如 YouTube、Twitch、Bilibili 等)。

❌ 需要获得商业授权的用途:

  • 提供付费访问、订阅或托管服务(包括将本软件作为 SaaS、付费下载、在线服务等)
  • 重新分发、转售、重命名或改包装软件用于商业用途
  • 将本软件集成进需付费销售或许可的商业产品中(包括软硬件)

详情请参见前端仓库中的 LICENSE 文件,以及之后更新后端时具体的更新日志。

为什么我们计划做出这项变更?

此次调整的主要原因:

  1. 以往我们的前端没有明确许可证,存在直接拿我们的软件重新包装、更换品牌进行商业部署而不注明来源的情况。
  2. 我们未来可能发展为SaaS服务。希望保护我们投入大量精力维护的软件不被直接复制为竞品。

注意: 就算我们未来发展成 SaaS 服务,闭源 Open-LLM-VTuber 项目核心也不在计划中,我们也不打算改变 Open-LLM-VTuber 可以完全离线,本地运行的本质。我们非常重视我们在开源社区建立的信任。 就算我们有一天闭源了,你也依旧可以使用我们旧版本的 Open-LLM-VTuber。

开源协议是同时约束用户以及开发者的协议。我可以保证我们不会删库,除非不可抗力(当然考虑到 GitHub 的 fork 机制,删库实际上也没啥用)。

发展 SaaS 的核心目的是让项目变的可持续,同时更好的实现我们对 AI 陪伴的愿景。可能在未来的某一天,我们核心开发者都不再有时间和精力继续维护 Open-LLM-VTuber 项目的更新;或许某一天,开源社区出现了更好,更先进的方案,用户离我们而去,我们项目就此扫入历史垃圾堆。但我希望这一天能到来的晚一些。

关于项目的可持续性,我目前思考了两个方案。一个就是上面提到的,将项目发展成 SaaS。另一个,则是让贡献者能更好的参与我们项目的开发,提升我们的开发效率和开发者留存率。这点我会在 1.2 发布之后逐步推进。

至于修改许可证,这是源自于多个滥用开源项目以及违反开源许可证的事件。看了这么多事件之后,我们逐渐觉得 MIT 协议可能不是我们希望的理想协议。开源协议应当反映核心开发者对代码如何被使用的期望,是对开发者以及用户的保护与约束。过去因为我本人的疏忽,没有选择能够良好反应我们期望的许可证 (我当时定 MIT 协议的时候根本没想过项目会发展的这么大,就随便选了一个)。为了使我们项目的贡献者能继续无忧无虑的写代码,让我们的用户理解我们期望的行为边界,我们决定修改开源许可证。

其实我们前端代码 (1.0.0 之后基于 react 的前端) 一直都没有指定协议。根据 GitHub 的规定,如果仓库没有明确协议,我们拥有对项目代码完整的版权 (也就约等于没开源)。我们希望从现在开始,明确我们的协议。

在修改的过程中,我们考虑了不同的方案,参考了 dify,lobehub 等开源项目的做法,尝试避免对普通用户和开源社区的开发者造成影响。

Which files should I get? 我应该下载哪些文件?

For Existing Open-LLM-VTuber Users (v1.0.0 or newer) 如果你是现有 Open-LLM-VTuber 用户(v1.0.0 或更新版本)

  1. Run uv run upgrade.py to update to the latest version 运行 uv run upgrade.py 来更新到最新版本
  2. Download the new electron app from the releases section 从发布区(下面)下载新的 electron 应用程序

For New Users or Versions Below v1.0.0 如果你是新用户或 v1.0.0 版本之前的用户

Please refer to the new deployment documentation for installation instructions. 请参考新部署文档获取安装说明。

Download Files 下载文件

If you are here because you read the documentation, download the zip file and the electron app below. Download both of these files:

  1. The electron app
  2. The language-specific ZIP file:
    • English: Open-LLM-VTuber-v1.2.0-en.zip
    • Chinese: Open-LLM-VTuber-v1.2.0-zh.zip

Note: The ZIP files are identical except for the language of the configuration file. Both packages include the SenseVoiceSmall model file to ensure accessibility for Chinese users.

如果你是按照文档指引来到这里的,请下载以下的 zip 文件和 electron 应用程序。 请下载这两个文件:

  1. electron 应用程序
  2. 对应语言的 ZIP 文件:
    • 英文版:Open-LLM-VTuber-v1.2.0-en.zip
    • 中文版:Open-LLM-VTuber-v1.2.0-zh.zip

注意:这些 ZIP 文件除了配置文件的语言不同外完全相同。两个包都包含 SenseVoiceSmall 模型文件以确保内地用户可以愉快使用。

附录

MCP examples tested in Open LLM Vtuber

mcp-server-browserbase image

ScreenPilot 1DfLpUV2Hvu8n7E

Open-LLM-VTuber-v1.2.0-zh.zip (包含 sherpa onnx asr 的 sense-voice 模型,就不用再从github上拉取了)

open-llm-vtuber-1.2.0-setup.exe (桌面版前端,Windows) (注意,这只包含前端)

open-llm-vtuber-1.2.0.dmg (桌面版前端,macOS) (注意,这只包含前端)