Skip to content

Releases: yujianke100/Ayabot

v1.2.5

Choose a tag to compare

@github-actions github-actions released this 20 Oct 08:21

v1.2.5 — 新建直播间不再报错,AI 配置页终于把「免费额度」写在明面上

🐞 修复:新建直播间提示「根目录 config.yaml 不存在」

有用户反馈:新建直播间、填好 UID 和直播间号,点确定却弹一句「根目录 config.yaml 不存在」,房间根本建不出来。

原因不是配置丢了,而是新建房间时只在一个固定位置找配置模板。一旦运行方式不同(用的是 exe、从别的目录启动、或者之前手动删过根配置),就找不到模板,直接报错退出。

现在改为按四个位置依次查找,全都找不到时按内置默认值生成一份可用的配置 —— 这条路不会再因为「缺模板」而失败。

💡 AI 回复设置:魔搭的免费额度直接摆在眼前

「AI 回复」页原来的提示是一个不起眼的灰色小感叹号,基本等于没提示。现在 API Key 下面就有一张醒目的卡片:

  • 写明手机号注册即送 2000 次/天免费调用(部分模型 500 次/天),日常直播聊天够用
  • 「一键填入魔搭配置」:自动把接口格式设成 OpenAI 兼容、Base URL 填 https://api-inference.modelscope.cn/v1,
    已经配好的模型名不会被覆盖(没填过才补一个 Qwen/Qwen2.5-7B-Instruct)
  • 「去领 API Key」直达令牌页面,领完粘进去保存即可
  • 可展开的详细说明:模型名怎么填、为什么不能用 Anthropic 格式、还有智谱 GLM-4-Flash 等可选方案

🌐 帮助页加了官网入口

「帮助」页顶部多了一张官网卡片(点一下直接打开),写着官网地址和它上面的内容:
最新版下载、功能说明、常见问题。页脚也加了「官网」链接。

找不到下载地址、想确认自己是不是最新版的时候,不用再翻聊天记录了。

📱 手机端布局修正

管理后台在手机上原来有几处挤成一竖排单字,现在都修好了:顶部导航换行显示、
房间卡片按钮单独一行、房间子标签横向滑动、送礼排行的日期框不再被截断、日志页按钮不再堆成一列。

📦 升级方式

  • Windows:下载后直接覆盖旧的 exe,房间配置和统计数据都在 %LOCALAPPDATA%\Ayabot\,不受影响
  • Docker:docker pull ghcr.io/yujianke100/ayabot:1.2.5(或 :latest)

🇨🇳 国内下载

校验值:见下方 Assets 里 Ayabot-v1.2.5.exe 的 sha256。

v1.2.4

Choose a tag to compare

@github-actions github-actions released this 20 Oct 06:56

v1.2.4 — 更新检查在国内更快了(Gitee 直接给版本号)

本次主要是把 v1.2.3 引入的 Gitee 下载线路「接上元数据」:以前国内用户检查更新要绕加速站问版本号,
现在直连 Gitee 就能问到,本机实测 2.5 秒 → 0.3 秒。

⚡ 检查更新更快

  • 版本号新增一条 Gitee 发行版来源,与加速站并发抢答,谁先答用谁
  • 实测(中国移动杭州家宽,无代理):Gitee 285 ms vs 原来的加速站 2530 ms
  • 缓存命中仍是 2 ms 级,10 分钟内重复打开页面不会再发请求

🇨🇳 国内下载线路

🔧 修复

  • Gitee 的 /releases/latest 返回的是「latest 别名发行版」,旧逻辑把它当作非法版本号丢弃,
    导致这条线路永远只能当下载镜像、不能提供版本号 —— 改为读发行版列表并按版本号挑选
  • 全部线路探测超时时,Gitee 的兜底推荐地址不再被错误拼接加速站前缀

📦 升级方式

  • Windows:下载后直接覆盖旧的 exe,房间配置和统计数据都在 %LOCALAPPDATA%\Ayabot\,不受影响
  • Docker:docker pull ghcr.io/yujianke100/ayabot:1.2.4(或 :latest)

校验值:见下方 Assets 里 Ayabot-v1.2.4.exe 的 sha256。

v1.2.3

Choose a tag to compare

@github-actions github-actions released this 20 Oct 05:59

v1.2.3 — 国内下载新增 Gitee 线路,图标统一

🇨🇳 下载与更新在国内更快了

之前安装包只放在 GitHub Release,国内直连经常失败,只能靠第三方加速站(时好时坏)。现在多了一条官方线路:

Gitee 发行版:https://gitee.com/yujianke100/Ayabot/releases/download/latest/Ayabot-latest.exe

  • 走 Gitee 自己的国内 CDN(foruda.gitee.com),实测约 2 MB/s,不需要加速工具
  • 地址固定为 .../releases/download/latest/Ayabot-latest.exe,永远指向最新版

App 内的「检查更新」也一起改了:

  • 版本号来源新增 Gitee 的发行版 API(公开接口,不吃 GitHub 那 60 次/小时的限流)
  • 下载线路新增 Gitee(排在第一位),原来那些加速站仍然保留并实测排序
  • 排序规则统一为:国内线路优先,GitHub 直连永远垫底(它时通时不通,不该被推荐)

官网 https://ayabot.jianke-yu.online 的下载按钮现在会在你自己的网络里给每条线路实测一遍,
自动选最快的那条,还能点「重新测速」。

🎨 图标

  • exe、网页标签页、WebUI 顶部导航、iOS 添加到主屏,统一使用软件图标(原先网页标签页是个 emoji)
  • 顺手修了 WebUI 的 /favicon.ico:以前把 PNG 字节当 image/x-icon 发送,浏览器可能按错误类型处理

📝 主页

产品主页上线:https://ayabot.jianke-yu.online (国内可直连,包含功能说明、三步上手、下载、常见问题)

⚠️ 如果你还在 1.1.x

1.1.x 的礼物统计、上舰记录、登录失效提示都是坏的,请直接升到这个版本。

Full Changelog: v1.2.2...v1.2.3

v1.2.2 — 检查更新从十几秒降到 1 秒(国内线路优先)

Choose a tag to compare

@github-actions github-actions released this 20 Oct 05:02

v1.2.2 — 检查更新从十几秒降到 1 秒

国内网络下「检查更新」一直偏慢。查下来不是网络本身的问题,是检查逻辑的排法不对:

环节 旧逻辑 现在
取版本号(问 GitHub 要 latest release) 串行,先试 GitHub 直连(国内常挂死,白等 8s)再试镜像 并发抢答,国内镜像先跑、GitHub 延迟 1.2s 起跑兜底,谁先回用谁(实测 250ms)
测速下载线路(7 条) 并发,但要等最慢那条(GitHub 直连挂死 → 拖到 10s) 拿到第一条可用线路后再等 0.5s 就收工,剩下的标「未测速」
重复检查 每次开页面/点按钮都重新测一遍 结果缓存 10 分钟,静默检查直接复用(2ms)
环境里配了失效代理 3 个 URL 各自等 8s 有总预算,最坏 6s + 4s 封顶

实测(同一台机器,同一网络):

旧:  10 ~ 18 秒(GitHub 直连超时 + 等最慢线路)
新:  0.87 ~ 1.26 秒    版本号来自 gh-proxy.com(250ms),下载线路 gh-proxy.com(65ms)
缓存: 2 毫秒

另外修了一个坑:gh-proxy.net 对 api.github.com 会返回 200 + HTML 错误页,旧代码把它当成「拿到了数据」,解析失败才继续下一条,白等一轮。现在校验必须是合法 JSON 且带 tag_name 才算成功,并且这个站已经从版本号候选里移除(实测只有 gh-proxy.com 和 hk.gh-proxy.com 能代理 GitHub API)。

界面上:弹窗底部会显示 线路 gh-proxy.com · 耗时 1.0s,出问题时一眼能看出是哪条线路慢;其他线路列表里新增 ⏱ 未测速 状态,不再把「没来得及测」误显示成「不通」。

升级

  • exe:下载 Ayabot-latest.exe 覆盖旧文件
  • Docker:docker pull ghcr.io/yujianke100/ayabot:1.2.2

注意:这个修复只在 v1.2.2 及以后生效。如果你还在 1.1.x / 1.2.0,它们内置的仍是旧逻辑 ——
需要手动升级一次,之后的检查才会变快。

Full Changelog: v1.2.1...v1.2.2

v1.2.1 — 打开软件自动恢复房间 + 不再反复提示「无法验证发布者」

Choose a tag to compare

@github-actions github-actions released this 20 Oct 03:45

v1.2.1 — 打开软件自动恢复房间 + 去掉「无法验证发布者」提示

如果你是从 v1.2.0 升上来的,只修了两个问题,直接覆盖 exe 即可(配置和统计都在 %LOCALAPPDATA%\Ayabot,不会丢)。
如果还在 1.1.x,请直接升到这个版本 —— 1.1.x 的礼物统计、上舰记录、登录失效提示都是坏的。

🐛 修复:打开软件后房间不会自动启动

症状:关掉软件再打开(或关机重开),房间状态显示「运行中」,但机器人完全没反应,礼物统计不涨、弹幕不回。

原因:托盘进程和 WebUI 各有一套「恢复上次房间」的逻辑,托盘的写法和 WebUI 的事件循环冲突 ——
它在自己的临时事件循环里创建机器人任务,然后立刻把这个循环关掉。任务就此变成僵尸:
既不会执行,也不会结束,于是 WebUI 认为「房间已经在跑」,跳过了真正的启动。
后面的守护逻辑也只会在心跳超时后重启,而僵尸任务的表现正是「没有心跳」,旧代码对这种情况直接跳过,永远恢复不了。

修复:

  • 房间恢复只保留一条路径:WebUI 启动后按 data/desired_states.json 在它自己的事件循环里拉起,托盘不再插手。
  • 判定「在运行」时检查机器人任务所在的事件循环,已关闭的僵尸任务一律当没在跑并清理掉。
  • 守护进程补上「状态是运行中但从来没有心跳」这种情况:宽限 2 分钟后自动重启。
  • 老用户升级不用手动点:优先从旧的 running_rooms.json 迁移,没有就按上次心跳的 phase=running 推断,只恢复上次确实开着的房间。

🐛 修复:每次打开都提示「无法验证发布者,你确定要运行此软件吗?」

这是 Windows 给「从网上下载、没有数字签名」的程序打的下载标记(Zone.Identifier),本来就会每次双击都弹。

现在:程序启动后会自动清掉自己的下载标记,所以只有升级后的第一次启动会提示,点「运行」之后就不再出现。
(等价于手动「右键 → 属性 → 勾选解除锁定」,只是替你做了。)

想彻底没有这个提示、让 Windows 显示发布者名称,需要给 exe 做代码签名。
构建流程已经支持:仓库配好 WIN_CERT_BASE64 / WIN_CERT_PASSWORD 两个 secret 后,
每次发版 CI 会先签名(带时间戳)并校验再上传;不配就跳过,构建不受影响。
另外 exe 现在带完整的版本信息(产品名 / 版本 / 版权),文件属性里不再是空白。

📥 升级方式

  • exe:下载下面的 Ayabot-latest.exe 覆盖旧文件即可(也可以直接在管理后台点「检查更新」,会自动选最快的国内线路)。
  • Docker:docker pull ghcr.io/yujianke100/ayabot:1.2.1

说明

历史数据(升级前没记上的礼物 / 上舰)不会自动补回来 —— 当时的事件根本没写进数据库。
上舰记录可以从 B站主播后台「航海记录」人工核对。

Full Changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 07:24

⚠️ 建议所有 1.1.x 用户尽快更新

本次修复了三类「静默失效」的线上问题——它们不会报错、界面照常,但功能已经不工作了。

🔧 修复

1. 礼物统计全部为 0(含 #盲盒统计、#今日盲盒)

B 站 2026-07 起灰度新礼物协议:送礼事件从 SEND_GIFT(JSON)换成 SEND_GIFT_V2,礼物数据放在 base64 的 protobuf 里。旧版只监听老事件名,所以一条礼物都收不到。

  • 已适配新协议(纯标准库解析,不新增依赖)
  • 一个事件里打包多件礼物(盲盒批量)会逐件入库
  • 关闭「礼物感谢」不再连带关掉统计

2. 上舰(大航海)没有感谢文案、也没有任何记录

解析上舰事件的代码里有个运算符优先级 bug,导致 B 站的三种上舰事件全部解析失败。已修复并支持全部三种结构(GUARD_BUY / USER_TOAST_MSG / USER_TOAST_MSG_V2):

  • 同一次开通只感谢一次、只记一条
  • 自动用实付价纠正原价
  • 关闭「大航海感谢」也照样记录

3. 登录凭证失效时直接退出、只显示「启动失败」

现在凭证失效不会退出:房间保持运行,显示「⚠️ 登录已失效,需重新扫码」,点「去扫码登录」即可,扫完自动恢复,不用重启房间。

4. Windows 上机器人偶尔自己停掉

加了三层守护:单次轮询异常不再顶掉进程;弹幕连接断了会自动重连;主程序每 20 秒巡检,进程意外退出或卡死会自动拉起(15 分钟内最多 5 次,避免无脑循环重启),崩溃原因会显示在房间页。

✨ 新增

  • 🚢 上舰记录面板:房间 → 送礼排行页底部,含等级徽章与舰长/提督/总督汇总
  • 检查更新自动选国内镜像:登录后约 8 秒静默检查一次,有新版本时导航栏亮起「🎁 新版本」提示(可点「忽略此版本」)。下载线路会在后台自动测速,并识别镜像缓存了旧包的情况
  • AI 回复页新增魔搭 ModelScope 免费额度提示(每天 2000 次免费 API 调用,适合不想买 key 的用户)

📦 升级方式

Windows:下载 Ayabot-latest.exe 覆盖旧文件即可,data/、rooms/、accounts/ 里的配置和统计都会保留。

国内下载慢可以换镜像:https://gh-proxy.com/https://github.com/yujianke100/ayabot/releases/latest/download/Ayabot-latest.exe

Docker:docker pull ghcr.io/yujianke100/ayabot:1.2.0(或 Docker Hub yujianke100/ayabot:1.2.0,最新版也可用 :latest)

📌 说明

  • 修复只对之后发生的事件生效。之前没记录下来的礼物和上舰无法回填(当时数据没有落库)
  • 上舰用户如果记不清 8 月那次,可以到 B 站主播后台的「航海记录」里核对

Full Changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 05 Aug 07:54

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 15:05

🐛 Bug 修复

  • proxy_image 429 限流:磁盘缓存 + 并发控制 + 请求去重 + 指数退避重试
  • proxy_image 误入速率限制:白名单判断移到限流检查之前
  • user_stats API SQL 绑定错误:gift_detail_rows 查询参数从 6 个改为 5 个
  • 精美导出文件名:所有人模式不再使用残留的 UID
  • 排序下拉框无效:改用 @change 方法替代 v-model(Vue 生产版 ref 解包问题)

✨ 新功能

  • 精美导出排序:按用户(大航海优先)、按价值(合并总价)、按时间
  • 单用户支持多选日期:后端 export_all 新增 uid 参数
  • 合并相同礼物时禁用按时间排序,自动切到按价值
  • 生成按钮加载态:加载中变灰 + ⏳ 加载中...
  • 白屏处理:CSS #app { background: #fff } 防止闪烁

Full Changelog: v1.0.13...v1.1.0

Full Changelog: v1.0.13...v1.1.0

Full Changelog: v1.0.13...v1.1.0

Full Changelog: v1.0.13...v1.1.0

Full Changelog: v1.0.13...v1.1.0

v1.0.13

Choose a tag to compare

@github-actions github-actions released this 18 Jun 09:58

v1.0.13 (2026-06-18)

🚀 新功能

  • 日历多选:所有人模式下选 1 天也显示「确定」按钮
  • 合并礼物:新增复选框,合并同用户同名礼物记录,隐藏时间戳
  • 多日期显示:启用时时间格式变为 MM-DD HH:mm

🐛 修复

  • proxy_image 429 限流:精美导出时大量头像请求触发 B站 CDN 限流,图片无法显示
    • 新增磁盘缓存 (data/cache/images/),已缓存图片不再请求 B站
    • 新增并发控制(最多 3 个并行请求)
    • 新增请求去重,相同 URL 同时请求只发一次
    • 429 时自动指数退避重试(1s → 2s → 4s)
  • proxy_image 误入速率限制:排除出全局速率限制中间件
  • 启动保护:防止快速双击启动按钮导致重复启动

🔧 优化

  • 精美导出移除单价显示(不再显示 ¥0.10/个)
  • 导出按钮在导出中禁用并显示 ⏳ 导出中...
  • SQL 修复:user_stats 外部 API 中 gift_detail_rows 查询参数绑定错误(5 个占位符传了 6 个参数)

Full Changelog: v1.0.12...v1.0.13

Full Changelog: v1.0.12...v1.0.13

Full Changelog: v1.0.12...v1.0.13

Full Changelog: v1.0.12...v1.0.13

Full Changelog: v1.0.12...v1.0.13

Full Changelog: v1.0.12...v1.0.13

v1.0.12

Choose a tag to compare

@github-actions github-actions released this 18 Jun 09:38

Full Changelog: v1.0.11...v1.0.12