Changelog

更新日志

每一次改动的来龙去脉,包括为什么要改。

v1.3.0

2026-09-29 当前版本
  • 新增
    封面 控制台新增一整个页面:写一句今晚想聊什么,她会照着自己的档案(城市、桌上那件旧东西、常去的那条街)翻成画面提示词,出竖版/方形/横版封面;不满意可以传参考图。做好的封面还能变成一段 8 秒的活图 —— 构图、主体、光线原样不动,只让灯光、窗帘、浮尘轻轻动。
  • 修复
    换话题时两段声音叠在一起 点「现在就聊这个」之后,本机停了,但网页那一头还在把上一期念完 —— 因为它有自己的播放队列,压根不知道服务端换了题材。现在所有"打断她"的动作都走同一个出口,本机和网页一起闭嘴。
  • 修复
    冷场久到不出声 四个原因叠在一起,最要命的一个是控场流水线里拿单调时钟跟墙上时钟比大小,一个判断因此永远成立 —— 稿子写好了 43 句、队列空着、日志一行异常都没有,她一个字不说。修完之后实测:出声从 0~1 次变成 9 次,最长静默从 110~234 秒降到 65 秒。
  • 修复
    网页上改「合成超时」从来没生效过 配置生效那段里有两个同名分支,第二个永远走不到 —— 那个值一直没写到播放队列上。顺手把键也统一了(原来界面显示的和代码读的不是同一个)。
  • 新增
    口语化第二轮:更像人在说话 提示词里把"真人特征"改成三档并各给一句可直接抄的原话,补上最有效的三条:一句话劈成两半说、时间数字含糊("前年吧""二三十")、忽然转头跟听众说一句。另外加了「交稿前三刀」:劈三句、删两个主语、换气处补动静 —— 给可执行动作,比再写十条规则管用。
  • 新增
    工程化:开了编排层 src/app/ 229 行的配置热生效从 main.py 搬了出去,靠一个依赖容器接线。另加了接线自检脚本:模块要的字段和装配挂上的字段用 AST 对一遍 —— 这种连接拼错一个字母不报错,只表现为某天"这个旋钮改了没反应"。

v1.2.0

2026-09-27
  • 新增
    逐句情绪标注 现在会为每一句话单独标注状态(happy / low / sleepy …),不再是一整段共用一个底色。上一句还在笑、下一句就沉下来,这种起伏以前做不到。
  • 修复
    声音不再是全程一个调子 emo_text 之前写的是一个抽象词(「开心」),而 QwenEmotion 需要的是一句带着情绪的话。抽象词让它只能猜一个最夸张的向量送过去,听感就成了演戏。现在全部换成具体的口语句子。
  • 修复
    情感浓度按官方建议收敛 emo_alpha 默认从 1.0 降到 0.6。官方明确建议在文本情绪模式下用 0.6 或更低 —— 1.0 是每一句都把情绪拉满,真人说话不会这样。
  • 修复
    报时不再像一个节拍器 原来每 30 分钟准点念一句同格式的话。现在间隔随机抖动 ±35%(实际 30~54 分钟),文案按时段分成七组(凌晨和傍晚不该说同一句话),并且加了上下文判断:正跟人聊着的时候基本不报。
  • 新增
    听众长期记忆 记住每个进来的人的名字、来过几次、每次待多久、说过什么。以前只攒名字用于播报,播完就忘,老观众回来时主播完全没反应。
  • 优化
    缓存命中率 「嗯,好的。」和「嗯,好的」以前算两句不同的话,要各合成一次。现在按听感归一化缓存键;磁盘缓存的清理也从「每次写入都扫一遍目录」改成每 16 次结算一次。
  • 新增
    全新的官网与控制台 官网三个页面(首页 / 更新日志 / 教程),控制台重做视觉与交互,两者都支持中英双语。控制台加了登录门鉴,账号写在 config/auth.yaml。
  • 新增
    全局日志抽屉 日志从「某一页」挪出来变成右侧固定面板,任何页面都能看到,随时可收起。
  • 修复
    点「控制台」会弹登录框了 以前这个按钮是直链,后端发现没登录又 302 回首页,看上去就是点了没反应。现在官网任意页面点它都先弹登录框,登完直接进控制台;登录成功后令牌也会写进 cookie —— 否则跳过去的页面请求带不上凭据,会一直被踢回首页。
  • 优化
    容器 / 反代部署更省心 接口地址改成跟着页面走,反代挂在子路径下(/radio/)也能用;WebSocket 端口做了端口映射时,用 CONSOLE_WS_PORT / CONSOLE_WS_HOST 告诉页面外面那个地址。

v1.1.0

2026-09-20
  • 新增
    潜意识与走神 主播有了「正在想」和「惦记着」两条后台线。它会自己跑题、自己想起别的事,不再是被弹幕触发才说话。
  • 优化
    礼物连击合并 同一个礼物在窗口期内多次触发,会被合成一句感谢,不再重复谢三次。
  • 修复
    WebSocket 心跳导致的断线 直播伴侣的服务端不回 pong,标准库的自动 ping 会把它判成死连接。关掉心跳、改成静默超时重连。

v1.0.0

2026-09-10
  • 新增
    第一个能跑的版本 弹幕接入、LLM 决策、内容审查、口语化改写、Index-TTS2 声音克隆、BGM 自动让位,整条链路打通。
  • 新增
    Web 控制台 schema 驱动的配置表单,改完不用重启。