Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BiliQueue

BiliQueue 是一个本地运行的 B 站直播横向排队工具。程序提供网页控制台和浏览器源横条,可通过弹幕管理排队、取消排队和礼物插队。

当前版本:v0.2.2

功能

  • 使用直播间号连接 B 站直播弹幕
  • B 站扫码登录,登录信息仅保存在本机项目目录
  • 通过弹幕指令加入或取消排队
  • 当前用户、等待队列和说明区域独立显示
  • 三个区域宽度及横条统一高度可调整
  • 单行、双行队列及连续滚动、分页滑动、淡入淡出模式
  • 普通弹幕用户头像获取与本机缓存
  • 用户头像大小可调整
  • 舰长、提督和总督识别及头像大航海图标
  • 支持程序目录 fonts 文件夹中的自定义字体
  • 支持付费礼物、当前直播间粉丝牌和大航海排队资格
  • 按单次礼物电池门槛触发礼物排队或礼物插队
  • 支持大航海优先排队及礼物优先区价值排序
  • 记录排队期间的礼物图标和累计电池数
  • 手动新增、删除和拖动排序
  • 当前用户也可参与队列排序
  • 横条文字内容支持手动应用,编辑时不会实时同步到横条
  • Windows 版支持直接双击 exe 静默启动到系统托盘
  • 托盘菜单支持恢复下载或立即安装已发现的更新,以及打开控制台、打开简易控制页、复制浏览器源地址、修改端口、下一位、清空队列、自动检查更新、打开数据文件夹、打开日志和退出
  • 简易控制页可选择置顶并保留置顶状态
  • 支持为打开控制台、打开或关闭简易控制页、下一位和清空队列录制 Windows 全局快捷键
  • 支持 Gitee 优先、GitHub 备用的应用内更新检查和 Windows 正式版自动更新
  • 当天队列异常退出恢复
  • 配置导入、导出与导入前自动备份

下载与运行

请从 GitHub ReleasesGitee Releases 下载:

BiliQueue-v0.2.2-windows.zip

解压后推荐直接双击:

BiliQueue-windows-amd64.exe

启动后请在 Windows 右下角系统托盘区域找到 BiliQueue 图标,右键打开菜单。

Windows 原生窗口使用系统自带的 Win32、Direct2D 和 DirectWrite,不需要安装 WebView2、.NET、Windows App SDK 或其他运行环境。窗口统一使用 #202020 纯色背景,不依赖 Mica 或 Acrylic 材质。

备用启动脚本:

start-BiliQueue.cmd

地址

控制台地址:

http://127.0.0.1:18303/control

浏览器源地址:

http://127.0.0.1:18303/overlay

浏览器源的宽度和高度,建议参照控制台顶部预览区域显示的数值填写。

基本使用

  1. 启动 BiliQueue。
  2. 首次使用时,在控制台点击“扫码登录”。
  3. 填写直播间号并连接。
  4. 观众发送 排队 加入队列,发送 取消排队 退出队列。
  5. 在直播软件中添加浏览器源并填写横条地址。
  6. 根据直播需求调整区域尺寸、文字样式、滚动方式、背景渐变和礼物规则。

弹幕指令、空态文字、右侧说明内容和文字样式均可在控制台修改。

v0.2.2 重点变化

  • 控制台更新日志改为动态读取 Gitee 与 GitHub Release,不再依赖编译进程序的固定历史文档。
  • 同版本优先显示 Gitee 内容,并由 GitHub 补齐 Gitee 已清理的更早历史版本。
  • 更新日志按版本从新到旧排序并缓存 15 分钟;两个平台都无法访问时会显示错误并提供重试。
  • RELEASE_NOTES.md 继续作为开发记录和双平台 Release 正文的发布来源。

历史变化

## v0.2.1 重点变化
  • 使系统标题栏与内容区域保持一致。
  • 优化托盘 Direct2D 菜单首次打开的响应;发现新版本后可从托盘继续“下载更新”,下载完成后可直接“立即更新”。
  • 托盘在更新下载或安装期间会显示灰色不可点击状态,自绘菜单与系统备用菜单行为一致。

v0.2.0 重点变化

  • 简易控制窗口、修改端口、重复运行、清空队列、更新进度及通用信息窗口迁移为 Win32 + Direct2D + DirectWrite 原生实现。
  • 原生窗口统一使用设计稿 v16 的内嵌主题与布局;正式版不创建或读取外部主题编辑文件。
  • Windows 11 优先使用 Mica,DWM 材质不可用时自动使用 Direct2D Acrylic 或纯色背景。
  • 简易控制窗口直接订阅程序内队列状态,并与网页控制台共用下一位、暂停、清空、手动添加、移除和拖拽排序逻辑。
  • 托盘右键菜单优先使用统一的 Direct2D 菜单,创建失败时自动回退标准 Win32 菜单。
  • 移除 WebView2 依赖、运行时检测、下载引导和用户数据入口;保留 /mini-control 作为浏览器与非 Windows 备用页面。

v0.1.18 重点变化

  • 主动下载更新时显示下载进度、实时速度和更新包保存位置。
  • 立即更新时显示替换与重启进度;新版本启动后自动刷新控制台,并通过 Windows 通知提示更新完成。
  • 自动检查更新继续采用“提醒后下载”,不会在未确认时静默下载更新包。
  • 启动提示、重复运行提示、修改端口及托盘信息窗口优先使用统一的 WebView2 样式,缺少 WebView2 时自动回退原生窗口。
  • WebView2 弹窗和简易控制窗口在启动阶段后台预加载,并在同一进程内隐藏复用,改善重复打开时的白屏、等待和假死。

v0.1.17 重点变化

  • 更新日志弹窗增加固定显示的版本侧栏,可按新到旧切换历史更新日志,并保持弹窗尺寸稳定。
  • 更新日志和检查更新在没有新版本时统一显示单个“确认”按钮;有更新时继续提供下载、立即更新或下次启动时更新。
  • 检查更新弹窗增加“自动检查更新”复选框,并与托盘菜单及本地配置同步。
  • 收紧大航海等级识别和更新包 SHA-256 校验失败处理。

v0.1.16 重点变化

  • 新增付费礼物、当前直播间粉丝牌和大航海排队资格,并支持总督、提督、舰长分级识别。
  • 新增大航海优先排队,优先级高于付费礼物插队;同级用户保持原入队顺序。
  • 横条和队列管理可显示大航海图标、最后一次礼物图标及排队期间累计电池数。
  • 手动添加用户统一使用蓝色星标头像,并支持选中后模拟礼物。
  • 简易控制窗口缩小为 420 × 560 内容区域,全局快捷键可直接打开或关闭窗口。
  • 优化分页滑动、淡入淡出和连续滚动在增减用户时的页面保持、首尾衔接及闪烁问题。
  • 新增控制台“更新日志”和“检查更新”,以及托盘“自动检查更新”选项。
  • 新增 Gitee 优先、GitHub 备用的更新检查,支持下载、SHA-256 校验、安全解压、立即更新或下次启动时更新。

v0.1.15 重点变化

  • 精简托盘菜单,新增“下一位”和带确认提醒的“清空队列”,并保留控制台、简易控制页和浏览器源常用入口。
  • 新增打开控制台、打开简易控制页、下一位和清空队列四组 Windows 全局快捷键。
  • 简易控制页改为 540 × 720 的固定原生 WebView2 窗口,支持置顶、重复打开复用已有窗口和队列区域独立滚动。
  • 简易控制页使用独立紧凑布局,礼物信息仅显示电池数,不影响网页控制台的队列管理样式。
  • 未安装 WebView2 Runtime 时,可选择下载微软引导程序、改用默认浏览器打开或取消。
  • 清空队列、退出登录、导入配置和修改服务地址统一使用页面内确认弹窗。
  • 分页滑动和淡入淡出模式在新增或移除用户后保留当前有效页,减少跳回第一页的闪烁。
  • 优化简易控制窗口首次打开的深色加载状态,并在关闭后隐藏复用,缩短再次打开等待时间。

v0.1.14 重点变化

  • 重构控制台页面布局和控件样式,统一双列宽度、18px 边界和 45px 单行控件高度。
  • 队列管理改为拖拽排序,并支持选中用户后对指定用户模拟礼物插队。
  • 文字编辑与区域文字样式双向同步,补充空态文字对齐、内部多行文字行距和就地应用操作。
  • 控制台会记住各区域展开状态,并新增固定在右下角的回到顶部按钮。
  • 优化礼物用户在插件和控制台中的图标、间距、渐变高亮和对齐效果。
  • 修复双行队列在控制台增删用户后第二行布局异常,以及连续滚动更新时短暂位移的问题。
  • 连续滚动布局与分页滑动、淡入淡出模式统一,并在队列更新时保留当前滚动位置。
  • 配置写入改为串行执行,避免自动保存覆盖恢复默认、导入配置或应用文字。

v0.1.13 重点变化

  • 修复横条从单行首次切换到双行时,第二行可能因布局测量时机错误而显示异常的问题。
  • 分页滑动改为上下边缘渐隐蒙版效果,避免伪循环回到第一页时闪烁;双行模式下第二行使用独立渐隐蒙版。
  • “大小与样式”中新增“启用当前区域”和“启用说明区域”开关,关闭后对应区域不占横条宽度。
  • “统一高度”最小值改为 0,恢复默认值改为 50。
  • 新增启动参数 -fonts,便于本地测试时指定独立字体目录。
  • 修正 Windows 剪贴板写入逻辑中的 unsafe.Pointer vet 提示。

v0.1.12 重点变化

  • 调整控制台“恢复默认”按钮,使其高度、字号和圆角与“收起 / 展开”按钮一致。
  • 优化端口占用和修改端口弹窗,地址与端口输入分行显示并对齐。
  • 托盘“修改端口”弹窗标题改为“修改端口”。
  • 新增端口配置:端口写入配置,下次启动沿用。
  • 启动时端口被占用时,Windows 版会弹出输入框,可改用新的本地端口或地址。
  • 控制台增加本机服务地址修改入口,修改成功后自动跳转到新控制台地址。
  • 托盘菜单增加复制控制台地址、修改端口、打开简易控制页。
  • 新增单实例运行,重复启动时会尝试打开已有控制台。
  • 新增 /mini-control 简易控制页,用于浏览器源交互窗口中的队列管理和横条文字修改。
  • 新增“是否开启排队”开关。关闭后,弹幕排队和礼物插队不触发,右侧说明区域只显示说明内容。
  • 新增主播清空队列弹幕指令,默认 清空队列,可在控制台自定义。
  • 修正双行队列第一行的拉伸对齐问题。
  • 新增队列用户间距、第二行每页最多人数。
  • 双行第二行分页改为上下切换,并按实际宽度判断每页可完整显示的人数。
  • 新增淡入淡出滚动模式,并为分页/淡入淡出增加停留时间和切换耗时参数。
  • 控制台去掉特定直播软件描述,统一使用浏览器源表述。
  • 优化数值输入框样式,并在数值框右侧增加上下微调按钮。

v0.1.11 重点变化

  • Windows 版改为无控制台窗口程序。
  • 推荐直接双击 BiliQueue-windows-amd64.exe 静默启动到系统托盘。
  • 将 BiliQueue 图标写入 exe 文件本身,资源管理器中会显示应用图标。
  • 托盘右键菜单支持打开控制台、打开简易控制页、复制浏览器源地址、修改端口、下一位、清空队列、打开数据文件夹、打开日志文件和退出。
  • 增加本地日志文件:data/logs/biliqueue.log
  • 将横条文字内容编辑区移动到控制台前部。
  • 编辑横条文字时不再实时同步,需点击“应用文字到横条”后才保存并同步到横条。
  • 将启动脚本改为 start-BiliQueue.cmd,避免 Windows / zip / GitHub Actions 间的文件名编码问题。
  • Windows 测试包说明文件统一为 README.md

字体文件夹

程序目录下提供:

fonts/

将字体文件复制到 fonts 后,在控制台点击“刷新字体列表”。程序不会附带字体文件,字体文件由使用者自行准备,并需确认授权范围。

排队资格与礼物

付费礼物排队、当前直播间粉丝牌排队和大航海排队是相互独立的附加排队资格;同时开启时,满足任意一项即可获得排队资格。

开启付费礼物排队后,未排队用户的单次付费礼物达到“礼物排队门槛”时可以进入队列;如果同一次礼物也达到插队门槛且已启用付费礼物插队,则会直接进入礼物优先区。未开启付费礼物排队时,礼物插队只作用于已经排队的用户。

礼物插队按单次付费礼物价值判断,低于门槛的多次礼物不会累计。

关闭“按礼物价值排序”时,新触发插队的用户会追加到现有礼物优先区末尾:

当前A → D(先送礼)→ C(后送礼)→ 普通队列

开启后,礼物优先区按最近一次达到门槛的单次礼物价值从高到低排列。

免费礼物不参与电池门槛计算,但会和其他礼物一样记录最后一次礼物图标。累计电池数只统计用户本次排队期间收到的付费礼物,不改变按单次礼物判断的插队逻辑。

开启大航海优先排队时,大航海用户进入队列前方,优先级依次为总督、提督、舰长,高于付费礼物优先用户。

数据位置与升级

所有运行数据均保存在程序所在目录的 data 文件夹中,自定义字体保存在 fonts 文件夹中:

data/
├── auth.json
├── config.json
├── queue-today.json
├── logs/
├── avatars/
└── backups/

fonts/
└── .gitkeep

其中 auth.json 含 B 站登录 Cookie,请勿分享或提交到 GitHub。

升级方式:

  • 从 v0.1.16 开始,可在控制台检查更新;自动检查默认在启动 10 秒后执行,之后每 24 小时执行一次。
  • 更新源优先使用 Gitee,Gitee 不可用、附件不完整或镜像版本落后时使用 GitHub。
  • 下载完成后可选择立即更新或下次启动时更新,临时文件保存在主程序同级的 .biliqueue-update 目录。
  • 只有正式包中的 BiliQueue-windows-amd64.exe 会自动替换自身;源码运行和测试程序只支持检查更新。
  • 在原目录覆盖新版 EXE,可以继续使用原登录状态、配置和字体。
  • 解压到新目录时,将旧版 datafonts 文件夹复制到新目录。

仓库已通过 .gitignore 排除用户数据、缓存、日志、构建产物、压缩包和登录信息。

配置导入与导出

控制台支持导出和导入配置。

导出的配置包括直播间、指令、礼物规则、横条布局、文字样式和背景样式,不包括:

  • B 站登录 Cookie
  • 当前队列
  • 当天队列快照
  • 头像缓存
  • 字体文件
  • 最近弹幕或礼物记录

导入前,当前配置会自动备份到 data/backups

源码构建

要求:

  • Go 1.23 或更高版本
  • Go 模块依赖由 go mod 自动下载,Windows 构建仍不需要 CGO
  • Windows 图标嵌入由 tools/embed_icon_pe.py 处理

运行测试:

go test ./...
go test -race ./...
go vet ./...

Windows AMD64 构建:

GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-H=windowsgui -s -w" -o BiliQueue-windows-amd64.exe .
python tools/embed_icon_pe.py BiliQueue-windows-amd64.exe assets/biliqueue.ico BiliQueue-windows-amd64-icon.exe
mv BiliQueue-windows-amd64-icon.exe BiliQueue-windows-amd64.exe

版本发布规则

仓库只提交已经确认的正式版本。后续测试包按以下方式命名:

v0.2.2-test1  本地测试,不创建 Release
v0.2.2        确认后提交仓库并创建 Release

未确认的测试版本不会直接写入仓库。

隐私说明

BiliQueue 为本地程序。账号 Cookie、配置、队列、日志和头像缓存保存在本机项目目录。使用源码或发布包时,请自行保护 data 文件夹中的敏感内容。旧版本创建的 data/webview2 不再使用,可在确认不需要回退旧版本后手动删除。

About

BiliQueue 是一个本地运行的 B 站直播横向排队工具。程序提供网页控制台和浏览器源横条,可通过弹幕管理排队、取消排队和礼物插队。

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages