jacke-pp/open-yoki

多媒体与设计

在一台服务器上运行自己的 AI 直播主播:复刻声音、数字人形象、回弹幕,还能自己发动态。

202
1
JavaScript
MIT
今天创建

open-yoki 是一个自托管的 AI 直播主播方案:无头 Chrome 画出 16:9 画面,实时数字人用复刻的声音出镜,ffmpeg 再通过 RTMP 推到币安广场或任何能收 RTMP 的地方。它面向想拥有自己定制主播的人,而不是只想找个现成消费级产品的用户。

它做什么、怎么运转

主播用快模型(默认经 OpenRouter 调 DeepSeek)在几秒内回弹幕,心情、动作和语气跟着内容走。可选的"心"是一个长期运行的 AI(Claude Code 命令行或 DeepSeek),住在一个装满 Markdown 文件的文件夹里,记录心情、日记和对常客的印象,并决定发什么内容。说到相应的话会播放事先做好的短片(bigmoves.mjs);两场直播之间还可以开只有声音、配静图的电台模式。

服务器自己不登录任何平台。读你直播间的东西——自己的脚本、平台机器人或官方接口——把弹幕和房间事件(进场、关注、礼物、打赏、直播结束等)发给本地接入接口,服务器第一次启动时生成的钥匙负责鉴权。她排好的动态通过一个 outbox 接口交给单独的发帖程序发布。另有一个"世界的门",让外部 AI 世界读取她公开的名片和心情,并把那边发生的事送回来。

上手前要知道的

仓库明确不包含原主播的脸、声音编号、人设、歌、音效和片段;自带的示例主播"小例 / Lili"每一项都是占位,形象图只是一张纯色渐变。人设、形象图、复刻声音和素材都要自己准备。也没有附带任何账号、钥匙或域名,没有钱包、交易、下注、红包抽奖等跟钱相关的功能,聊行情只用公开价格。

跑完整直播要接入多个付费第三方服务:Vidu 实时数字人是最大的一笔开销,按连线秒数计费;火山引擎 RTC 负责把画面送到推流和网页直播间;豆包语音加声音复刻提供声音;OpenRouter 或 DeepSeek 负责对话。X、CoinAnk、TikHub、Telegram 属于可选,各需自己的账号或费用。本地试跑需要 Node.js 22 以上和 ffmpeg;没有 API 钥匙时大脑和声音关闭、形象是静态图。README 建议香港、新加坡或日本的 x86_64 Ubuntu 服务器,4 核 8 GB;详细的搭建步骤写在给 AI 照着执行的指南里。

几个操作上的风险要留意:拿到弹幕接入钥匙的人就能往她的弹幕里塞话,所以只能放在读你直播间的机器上;网页直播间默认只监听 127.0.0.1,对外开放时要用 Caddy 挡在前面;钥匙应放在 root 权限的环境文件里,不要写进主播配置。

许可

代码采用 MIT 许可;附带的第三方文件按各自的许可执行。

项目源码与说明

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。