Subspace Institute
Background Decoration

AI 陪聊

基于 LLM 的「观众人格」陪聊引擎,结合同传文字与观众弹幕自动生成或推荐弹幕内容

LAPLACE Chatterbox 的 AI 陪聊功能在「同传」选项卡内提供,由内置的轻量引擎驱动:实时读取同传识别出的主播语音文字,并结合最近的观众弹幕作为上下文,调用 OpenAI 兼容的 LLM 接口生成贴合直播节奏的候选弹幕

支持「自动发送」与「候选审核」两种工作模式,可在「自动陪聊」与「手动挑选」之间随时切换,所有 LLM 请求均直接发往用户自行配置的接口,弹幕助手不经手任何提示词或 API Key

与「自动融入 YOLO 模式」的区别:AI 陪聊由 LLM 凭空创作新的弹幕内容,作为「观众人格」与主播互动,输入是同传语音 + 观众弹幕上下文;而 自动融入 的 YOLO 模式仅在检测到公屏「跟车」时调用 LLM 改写已有的热门弹幕,本质仍是融入观众群体。前者更适合让直播间多出一位「AI 观众」,后者更适合让自动跟车的内容显得不那么千篇一律

特性

  • 双驱动触发:由同传识别到的主播语音(句末标点 / 端点检测 / 缓冲区超长)与累计的新观众弹幕共同驱动生成
  • 两种工作模式
    • 自动发送:LLM 决定 send=true 时直接进入发送队列
    • 候选审核:生成的弹幕进入「候选弹幕」列表,由用户点击「发送 / 编辑 / 跳过」决定是否发出
  • 观众弹幕上下文:维护最近 N 条观众弹幕(可配置)作为上下文,便于 LLM 理解当前公屏氛围
  • 滚动历史摘要:将最近的「主播语音 + 已发送内容」对作为对话历史回传给 LLM,避免重复发言
  • 结构化输出:调用时强制使用 json_schema 响应格式,LLM 必须返回 send / message / reason 三个字段
  • 自我回声去重:30 秒内发出的弹幕被 Bilibili 回推至公屏时会自动忽略,不会污染上下文
  • 大表情过滤:观众发送的大表情弹幕(仅有图片、无文字含义)不会进入上下文
  • 多人格预设:内置「杠精 / 吐槽役 / 暖男 / 互动引导」四套提示词,可随时切换或自行编辑
  • 决策日志:保留最近 50 条决策记录(成功 ✅ / 跳过 ⏭ / 失败 ❌),可一键清空
  • 共享发送队列:与独轮车、自动融入、同传共享发送队列与 Bilibili 频率限制,AUTO 优先级,可被手动发送抢占

使用方法

准备工作

  • 在「设置 → LLM 设置」中填入 OpenAI 兼容的 API Base、API Key 与模型 ID
  • 在「设置 → LLM 提示词 → AI 陪聊」中确认已激活一份提示词(首次启用时默认会激活「杠精」)
  • 在「同传」选项卡中启动同传,AI 陪聊会基于同传产生的实时文字工作
AI 陪聊与同传共用同一识别流,若未启动同传则只能依赖观众弹幕触发;建议启用同传以获得完整的「主播语音 + 观众弹幕」上下文

启用与模式切换

  • 切换至「同传」选项卡,在「AI 陪聊」区域勾选「启用 AI 陪聊」
  • 点击「自动发送 / 候选审核」按钮在两种模式之间切换:
    • 按钮高亮(filled)= 当前为「自动发送」
    • 按钮描边(outline)= 当前为「候选审核」
  • 点击「立即生成」可跳过缓冲等待,强制触发一次 LLM 调用

候选审核模式

  • 生成的候选弹幕显示在「候选弹幕」列表(最多保留 30 条,溢出时旧候选被丢弃)
  • 每条候选可选择:
    • 发送:直接将原文加入发送队列
    • 编辑:弹出输入框修改后再发送(支持 Enter 确认 / Esc 取消)
    • 跳过:丢弃该候选,记录到决策日志

切换人格

  • 在「AI 陪聊」区域底部的「提示词」下拉框中切换当前激活的提示词
  • 完整的提示词管理(新增、编辑、删除、调整顺序)在「设置 → LLM 提示词 → AI 陪聊」中进行
  • 内置提示词每条第一行为人格名称,可作为预览快速识别

选项说明

触发与上下文

选项说明默认值
弹幕最长生成弹幕的最大字符数,同步写入 LLM 响应 JSON Schema 的 message.maxLength30
每 N 条弹幕触发累计观众弹幕达到此数量时触发一次「观众驱动」生成10
观众窗口上下文中携带的最近观众弹幕条数50
上下文上限发往 LLM 的上下文(历史 + 观众弹幕)字符总数预算2048
采样温度LLM temperature 参数,范围 0 ~ 20.7

模式

选项说明
启用 AI 陪聊主开关,关闭后引擎完全停止订阅观众弹幕与同传缓冲
自动发送 / 候选审核决定 LLM 输出是直接发送还是进入候选列表
立即生成跳过防抖等待立即调用一次 LLM,无论缓冲区状态如何

触发时机

引擎内部的调度逻辑:

  • 主播语音缓冲区检测到句末标点(。.!!??)、Soniox 报告端点(endpoint)或缓冲超过 200 字符时,500 ms 后触发生成
  • 缓冲区有内容但「未就绪」时,最长等待 8 秒后兜底触发
  • 观众弹幕累计达到设定值时,3 秒后触发一次「观众驱动」生成(仅在没有其它任务排队时)

注意事项

  • API Base / Key / 模型等所有 LLM 配置仅存储在浏览器的脚本存储空间,弹幕助手与 LAPLACE 服务器不会接收任何 LLM 相关数据
  • LLM 接口费用由用户与 LLM 服务商按调用次数 / Token 用量结算,请合理设置「弹幕最长」与「上下文上限」以控制成本
  • 若 LLM 返回内容无法解析为合法 JSON,引擎会在日志中报错并放弃本次结果,不会发送任何弹幕
  • AI 陪聊不接管「同传」自身的弹幕发送:同传的文字仍由「同传」面板决定是否发送,AI 陪聊在另一条路径上独立生成内容
  • 切换房间或刷新页面后,候选列表会被清空;决策日志会保留至本次会话结束
  • 若希望完全停止引擎,请取消勾选「启用 AI 陪聊」,否则即使「立即生成」未点击,观众弹幕仍会维持调度状态

On this page