跳转到正文

更新日志 ​

v0.6.0 ​

本次更新新增单平台多账号、已保存的代理、API 密钥与 MCP 接入、百度网盘上传、直播录制无损分段、输出自动清理、工作流步骤重试、重新设计的直播播放器和可配置的弹幕统计,并修复录制关闭、重启恢复、文件处理及日志泄露凭据等问题。

升级前须知 ​

  • Cookie 迁移到账号凭据配置: 首次启动时,平台、模板和主播设置中保存的 Cookie、令牌和登录信息会成为所在平台上的账号凭据配置,以来源名称加“(migrated)”命名,并由原来的位置继续选用其此前使用的账号。相同的账号会合并;留空的 Cookie 字段现在改为继承,而不再关闭登录。Twitch OAuth 令牌、抖音 TTWID、斗鱼设备 ID 和 SOOP 登录信息也会迁移到这些凭据配置中。Streamlink 平台覆盖许多不同的网站,一个 Streamlink 账号不会用于所有网站,因此保存在 Streamlink 平台上的 Cookie 会改由该平台的各个主播分别选用。导入旧备份时会按同样方式转换。升级前请先备份;回退到旧版本需要该备份。详见从配置中的 Cookie 升级。
  • 代理改为已保存的代理: 首次启动时,全局、平台、模板和主播设置中的代理会成为 设置 → 代理 中的已保存代理,以其地址命名,并由这些设置分别选用;相同的代理会合并。已关闭的代理会变为 直连,使用系统代理 会变为 系统代理。如果全局代理处于关闭状态,且新版本启动时设置了 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY,全局设置会改为 系统代理,使 FFmpeg 和 Streamlink 的下载继续经由该代理;直播检查、Mesio 下载和弹幕现在也会使用它。导入旧备份时会按同样方式转换。升级前请先备份;回退到旧版本需要该备份。详见从旧版代理设置升级。
  • 直连不再使用环境变量中的代理: 选择 直连 时,FFmpeg 和 Streamlink 现在也会忽略 HTTP_PROXY、HTTPS_PROXY 和 ALL_PROXY,因此原先关闭了代理的平台、模板或主播,其下载不再经由这些变量中的代理。如仍需使用,请在相应位置选择 系统代理。详见选择连接方式。
  • API 中的账号: 平台和模板设置不再接受 cookies;客户端改为通过 /api/credentials 添加账号,并用 credential_selection 选择。仍发送 cookies 的请求会被拒绝,避免账号在不知情时丢失。详见凭据选择 JSON。
  • API 中的代理设置: 客户端改用 proxy_route 选择代理,取代 proxy_config;仍发送 proxy_config 的请求会被拒绝,避免代理在不知情时丢失。详见代理连接 JSON。
  • Mesio 循环保护: 循环保护(Loop Protection)与偏移一致性检查(Offset Consistency Check)现在默认关闭。旧版本保存的引擎配置会保留原有设置,因此这些选项可能仍处于开启状态;如不需要,请在 FLV 调优中关闭。详见循环保护。
  • 斗鱼默认提取方式: 斗鱼现在默认使用 Android App 方式录制。未登录时,App 方式不会像 Web 方式那样每五分钟被切断一次,但有多个画质的房间通常限制为超清。添加已登录账号可录制原画,也可以在斗鱼提取设置中改用已弃用的 Web 方式。详见未登录时录制。
  • 登录会话: 现有访问令牌需要通过有效的刷新令牌更新,或重新登录。退出登录、修改密码和成功导入配置会撤销相应登录会话。API 客户端必须串行刷新令牌;重用已消费的刷新令牌可能撤销该用户的全部会话。详见会话安全。
  • 已泄露的凭据: 新日志会隐藏 Cookie、令牌和密码,但不会改写旧日志。如果曾分享包含凭据的日志,请更换相关凭据。
  • 过滤器时区: 新过滤器默认使用 UTC。迁移和旧版备份导入会保留现有 TimeBased 本地时间安排。编辑器现支持选择 UTC、服务器本地或 IANA 时区。详见时区兼容性。
  • 数据库迁移: 预设和模板时间戳统一为 Unix 毫秒,并新增索引以加快工作流和媒体产物列表查询。无效的历史时间戳会使迁移停止,原数据不变;请按修复说明处理。创建索引时会扫描相关表。
  • Execute 模板: 不受支持的占位符用法会在启动前报错。不适合 Shell 模板的任务可改用新增的 program/args 模式或固定脚本。Windows 的程序模式不支持批处理文件。详见支持的语法。
  • 源码构建: 前端和文档现需要 Node.js 26。Docker 和预编译安装不受影响。
  • Web 与后端版本: 请同时更新 Web 容器和后端。新版 Web 界面经服务器代理播放时依赖新版后端。
  • 移除的设置: danmu_sampling_config 已从 API 和数据库移除,该设置从未影响统计;旧版导出仍可导入。已保存的 EmailConfig.batch_window_secs 仍被忽略,该字段已从 Rust 接口移除。
  • Rust 集成: 移除了部分未使用的后端、调度器、下载器和指标接口。请使用统一的 domain::StreamerState 和受支持的子系统快照。详见后端接口变更、调度器变更和下载器变更。

新增功能 ​

  • 单平台多账号: 可为一个平台保存多个账号,并为平台、模板或主播选择一个固定账号,或使用账号池在账号间轮换,或在账号登录失效时切换到下一个账号。一次录制从开始到结束使用同一账号。账号在平台页面管理,包括哔哩哔哩扫码登录,并会显示各账号被哪些配置和录制使用以及最近的使用时间。每个账号还可以选择自己的代理,从登录到下载的所有操作都会经由它。通过 Streamlink 录制的网站,其账号可以注明适用的网站(如 youtube.com),这些网站上的主播无需逐个选择即可使用。没有账号可用时,主播卡片会明确提示,而不是显示为离线;顶部栏会列出需要重新登录的账号;账号被修改或重新登录后,录制会立即重新开始。详见账号配置和账号代理设置。
  • 已保存的代理: 在 设置 → 代理 中保存一次代理(可附带登录信息),并测试能否访问平台。之后全局设置以及每个平台、模板、主播和账号都可以选择直连、使用系统代理或通过其中某个代理连接。列表会显示每个代理被哪些地方使用,仍在使用的代理不能删除。平台对某个代理限流时,只有经由该代理的请求会暂停,账号池会改用通过其他连接的账号。详见代理。
  • 斗鱼扫码登录: 现在可以用斗鱼 App 扫码添加斗鱼账号,登录状态会每隔几天自动续期,无需重新登录。已登录账号会随取流请求一起发送,在限制匿名观众画质的房间中可以解锁原画。详见斗鱼认证。
  • 斗鱼 App 提取: 斗鱼可通过 Android App 播放接口录制,可选择画质、CDN、AVC 或 HEVC 以及所使用的设备身份。Web 方式仍可选用,但已弃用;仅音频录制仍使用 Web 方式。详见斗鱼提取设置。
  • API 密钥与 MCP: 新增可设置有效期的 API 密钥,支持 read_only 和 full 权限;内置 MCP 服务位于 /api/mcp,可查询录制、分析弹幕和管理配置。设置 → API 密钥支持创建、撤销密钥和生成 MCP 客户端配置。密钥仅显示一次,以哈希形式存储;只读密钥不能获取凭据或配置。详见 API 密钥与 MCP。
  • 百度网盘上传: 新增 baidupcs 处理器,Docker 镜像内置 BaiduPCS-Go。预设编辑器支持登录、查看配额和可选的自动重新登录。上传支持目标路径模板、跳过或覆盖策略、逐文件结果和未确认文件重试。记住的凭据保存在服务端,退出登录时删除。详见百度网盘。
  • 工作流重试与超时: 可在编辑器或步骤定义中设置 retry.max_attempts、retry.backoff_secs 和 timeout_secs。计划重试在重启后保留,依赖步骤继续等待;取消工作流会取消待执行的重试。详见按步骤设置。
  • 直接执行程序: 在 Shell 命令模式之外新增 program 和 args。参数中的空格、引号、空值和替换数据保留字面含义。两个工作流编辑器均支持新模式,切换模式时保留输出扫描设置。
  • Streamlink 的 FFmpeg 选择: 引擎设置和模板覆盖新增 ffmpeg_path。可指定可执行文件、继承引擎设置,或使用 FFMPEG_PATH/ffmpeg。含空格的路径原样保留。详见引擎配置。
  • 管道批量操作: 管道任务新增多选及批量取消、重试和删除操作。操作失败的项目保持选中,便于再次尝试。
  • 媒体删除: 媒体产物支持单项和批量删除。默认只删除记录;勾选同时从磁盘删除文件才会删除录制文件,会话大小随之更新。
  • 存储空间显示: 系统健康页显示各录制磁盘的剩余空间和使用量,包括覆盖配置指定的磁盘。仪表盘显示使用率最高磁盘的剩余空间。
  • 顶栏上传状态: 所有页面的顶栏都会显示正在进行和排队中的上传及总体进度。点击可查看每个上传的主播、进度、速度、剩余时间和文件数,可取消上传或跳转到对应任务。失败的上传会连同错误信息一直保留,直到手动忽略。
  • 无损分段: 在正在录制的主播卡片的操作菜单中选择立即分割文件,即可结束当前文件并在新文件中继续录制,不会重新连接,也不会重新编码。Mesio 直接支持;FFmpeg 和 Streamlink 需要打开实验性的引擎选项启用无损分段,该选项默认关闭。详见无损分段。
  • 输出保留: 可在 全局设置 → 保留策略 中设置天数,自动清理已结束会话的输出,可只删除记录,也可连同文件一起删除。默认关闭,仍在使用的文件会被跳过。仅删除记录时保留下来的文件不再被跟踪,之后改为删除文件也无法再清理它们。详见保留策略。
  • TikTok 弹幕: 现在可录制 TikTok 的聊天、表情和礼物弹幕,无需登录。直播间查询无需请求签名,失败时回退到直播页面,新增的 api_mode 选项可强制使用其中一种方式。详见 TikTok。
  • 直播播放器: 播放器会显示直播标题、主播、画质、状态和连接方式,并可在直连和服务器代理播放之间切换。播放失败时提供重试、刷新地址、切换直播源和尝试代理等操作。设置面板可选择格式、CDN、画质和编码,包括以前无法选择的哔哩哔哩 AVC/HEVC 版本,并提供低延迟、均衡和流畅三种缓冲方式。播放详情浮层会对比直播源的标称参数与实测的缓冲、丢帧和直播延迟距离。经服务器代理播放时现在会使用该直播源的代理设置。

录制与恢复 ​

  • 按大小或时长分段的 AV1 录像现在会以播放所需的头信息开头,重复的流头信息也不再干扰时间戳。E-AC-3 流在文件元数据中现在使用标准编解码器名称。
  • 循环保护现在只删除与先前数据包完全一致的数据包,并会保留近期数据包的副本,每个录制最多 16 MiB。
  • 修复 Mesio 录制会切换初始化分段(例如插播广告前后)的 fMP4 HLS 流时的问题:切换回原初始化分段后的视频不再使用错误的初始化数据写入,广告的初始化数据不再混入正片录像,下载重试后录像也不再以缺少初始化数据的内容开头。
  • 修复播放列表重定向到其他服务器时,Mesio HLS 录制的每个分段都下载失败的问题。分段、密钥和初始化分段地址现在按重定向后的位置解析。
  • 修复 CDN 短暂返回空的或过期的播放列表时 Mesio HLS 录制结束的问题。仍在等待下载或重试的分段在移出直播播放列表后会被保留(最多一个播放列表的分段数),不再丢失。
  • Mesio HLS 分段和密钥的重试设置现在生效。密钥下载会在网络和服务器错误时重试,分段的重试次数和延迟决定失败分段在被跳过前的重试方式。
  • 修复 Mesio HLS 清晰度选择:最低码率和最接近码率不再选中仅含关键帧的播放列表,仅音频和仅视频选项现在按清晰度实际包含的流进行选择。
  • 修复 Mesio 的 Twitch 广告检测在每次刷新播放列表时记录警告,以及在长时间直播中漏检新广告的问题。
  • 现在会检查 Twitch 账号:Twitch 不再接受的令牌(例如退出登录或修改密码后)会将账号标记为无效并切换到下一个账号,而不再让每次检查都以无关的错误失败。Twitch 账号现在也可以使用浏览器的 auth-token Cookie,带 oauth: 前缀复制的令牌也能正常使用。
  • 修复斗鱼 Web 方式在斗鱼下发较低画质时仍显示所请求画质的问题,现在显示实际录制的画质。
  • 恢复小红书直播间提取,包括当前的 xhslink.com/o/ 分享链接。此前正在直播的房间会被识别为离线。
  • 修复已结束的抖音直播间和 PandaTV 回放被识别为直播中的问题,此前会在直播结束后反复尝试录制。
  • 修复解码部分抖音弹幕消息时程序崩溃的问题。
  • 通过 Streamlink 进行的直播检查(用于没有内置提取器的网站,或提取器设为 Streamlink 时)现在会使用代理设置,而不再直接连接。
  • 弹幕现在会遵循代理设置(包括账号自己的设置),而不再总是直接连接。选择 系统代理 时,弹幕使用服务器的代理环境变量,并直接连接 NO_PROXY 中的主机。
  • 改进 Mesio FLV 在数据损坏后的恢复:跳过损坏部分后,录制会从下一个真实数据包继续,不再把后续数据包合并成一个无效数据包。
  • 修复 Mesio FLV 录制的以下问题:服务器在发送数据前停滞时停止录制很慢;错误页面被当作正常断开;首批数据以极小片段到达时有效的流被拒绝。中途断开的连接也不再被报告为下载完成。
  • 修复 Mesio HLS 录制在多个下载同时进行时丢失较大分段、服务器忽略字节范围请求时单文件流下载失败,以及声明了初始化分段的 MPEG-TS 流被错误识别的问题。
  • 按大小分段的 Mesio HLS 录制现在每个文件都以初始化数据开头,分割位置也能保证文件不超过大小限制。分辨率变化不再导致录制被反复分割。
  • 修复关闭顺序,使录制工具能在退出前完成文件写入、保存最后分段并关闭弹幕文件。子进程随应用停止,包括 macOS 上父进程已开始退出的情况。
  • 独立后端新增默认 30 秒的关闭期限。可通过 RUST_SREC_SHUTDOWN_TIMEOUT_SECS 调整,并将 Docker 的停止宽限期设得更长。强制或未完成的关闭会在下次启动时提示,只有确认恢复完成后才清除恢复警告。详见关闭设置。
  • 为受支持的 Streamlink 8.5.0 读取器新增协作停止,使已缓冲数据能在收尾前传给 FFmpeg。不受支持的读取器和强制停止会报告数据排空未完成。详见支持范围与限制。
  • 修复 FFmpeg 和 Streamlink 的最后分段上报:仅在确认进程清理完成后标记分段完成,新分段重新计算字节统计。在首个 HLS 分段到达前停止 Mesio 不再报告引擎故障。
  • 修复重启后的未结束会话:仍在直播时复用原会话,确认下播后结束会话并恢复最终后处理。
  • 修复重复结束会话、覆盖结束时间及旧事件停止新会话的问题。关闭应用和禁用主播不再上报错误的下播状态。
  • 修复分段数据库写入失败导致整场录制停止的问题。现在报告保存失败,并继续录制。
  • 修复输出错误分类,即使同时断流或 FFmpeg 正常退出,也会保留存储错误。磁盘写满会触发存储告警和重试限流,不再让各主播反复失败。
  • 修复删除主播时丢失录制历史的问题。删除会等待全部录制和后处理完成,并在重启后继续。清理完成前主播 URL 仍被占用,需要重新创建同一 URL 的脚本应稍后重试。
  • 修复配置导入打断直播录制或重复发送开播通知的问题。新主播立即开始监控,被拒绝的导入不影响运行中的任务。替换导入会暂时保留录制收尾所需的模板和预设,并给出警告。
  • 修复可恢复的内部错误导致监控停止,以及快速禁用、启用导致监控重复或缺失的问题。连续崩溃十次后停止自动恢复;主播已移除等终止状态不会触发重启。详见重启上限。
  • 修复调度器繁忙时丢失开始、结束反馈,以及旧更新覆盖当前录制状态的问题。离线检测使用解析后的全局、平台、模板和主播设置;周期检查加入 ±10% 时间偏移以分散负载。错误计数较大时,退避仍不超过一小时。
  • 修复 Windows 上 FFmpeg 分段录制的 Unicode 路径。标题、名称和具体目录中的百分号保持原文,配置的日期占位符仍正常展开。
  • 引擎测试改用有时限的异步版本检查,无效设置会报错,不再静默套用默认值。Mesio 诊断显示所链接库的版本;自定义静默日志选项不会禁用 FFmpeg 进度跟踪。

工作流与文件处理 ​

  • 保存工作流时新增校验,检查缺失预设、未知处理器、依赖环,以及删除或移动文件时仍有其他步骤读取同一文件的情况。通过选项删除源文件的步骤会给出警告。详见工作流校验。
  • 修复工作流失败处理,仅取消失败步骤的依赖步骤。独立分支可继续完成,重试只重新运行失败或已取消的步骤。属于工作流的任务会提示重试整个工作流。
  • 修复重试后工作流卡住、成功结果未交付及部分文件处理失败仍被标记成功的问题。错误会列出失败文件,保留已生成文件;重试历史保留日志、耗时、大小和先前输出。
  • 修复重启恢复,继续未完成的处理且不重复执行已完成步骤。应执行但尚未创建的处理也会补上;不会对本次更新前已完成的录制追溯执行新处理。
  • 修复取消和删除操作,使运行中的任务停止,工作流标记为已取消,包括 DELETE /api/pipeline/{pipeline_id}。已取消工作流仍可重试,已撤回任务不会自行重启。
  • 修复关闭流程,处理完已接收的管道事件,并在关闭期限前停止耗时任务。短任务可完成,中断的任务在重启后重新执行。已结束会话的延迟清理不再阻塞关闭。
  • 调整队列顺序:同一优先级先处理进行中工作流的后续步骤,再处理新工作流;各组内按入队先后执行。较高优先级仍优先。降低 CPU/I/O 并发上限会立即限制新任务,已运行任务可继续完成。
  • 超时诊断新增配置期限、步骤、处理器、当前文件和最近传输进度。重启后重新排队的任务会清除旧进度。任务日志保留重复消息,不重复写入已保存记录。
  • 修复未知处理器导致会话一直显示处理中的问题。ZIP 预设现在可正确执行,使用不可用处理器的历史任务会在启动时失败。工作流创建失败会释放临时跟踪数据,无效的已保存预设 JSON 会在创建任务前被拒绝。
  • 修复工作流输出顺序,使其遵循工作流定义。无输入文件的步骤直接完成,execute 仍执行命令。恢复时按已保存的视频路径匹配弹幕,无法唯一匹配时给出警告。
  • 将生成的 _inputs.json 附加文件改为管道内部保存的配对数据。旧附加文件已不再使用,可删除。字幕只与自己的录制分段配对,文件移动后仍有效;Execute 脚本可读取 {manifest_json}。
  • 修复媒体处理器的输出提交:先写临时文件,拒绝输入与输出路径冲突,批次失败时回滚。处理失败或取消会保留源文件和已有目标文件;关闭覆盖选项也能防止并发写入覆盖文件。详见处理器行为。
  • 修复输入、输出指向同一文件时,删除源文件操作误删新转换文件的问题。字幕过滤器现支持路径中的单引号和过滤器分隔符。
  • 修复命令或音频探测取消、超时后残留子进程的问题。清理包含后代进程,输出收集有大小限制。
  • 修复复制、移动和归档接受重复目标名称的问题。移动任务首次执行会拒绝缺失输入;重试可识别先前已移动的文件。部分 rclone 和百度上传失败时保留各文件的实际结果。
  • 修复百度上传反复重试永久拒绝的文件,以及文件列表过长时失败的问题。Rclone 支持上传来自不同目录的输入;上传日志省略账号信息和含凭据的连接参数。
  • 新增 ZIP64 支持,可归档大于 4 GiB 的录制文件。重名 ZIP 条目会在写入前被拒绝,可启用 preserve_paths 或重命名输入。
  • 修复录制时长短于缩略图时间点时的处理,改为使用首帧;没有可用帧的录制直接传递给下一步。无重编码的音频提取使用与编码匹配的扩展名。
  • 修复关闭透传时字幕烧录丢弃未处理视频的问题。批量任务报告汇总文件大小,FFmpeg 进度时间戳统一使用毫秒。
  • 修复 Execute 输出扫描,支持目录占位符,且仅接收命令启动后新建并修改的文件。无法读取的扫描目录会使步骤失败。工作流中的 Execute 步骤不接收 {output} 路径。
  • 修复工作流编辑器在步骤重命名后丢失依赖的问题,并拒绝空 ID 和重复 ID。预设按名称精确查找,缺失时明确报错,不再替换为无关预设。
  • 修复使用处理器别名(如 transcode、upload)的工作流步骤在 Web 界面中不显示设置和名称的问题。

弹幕 ​

  • 新增全局、平台、模板和主播级统计配置,可调整排行长度、时间线精度、跟踪容量和额外停用词。可关闭统计并继续保留弹幕文件。详见弹幕统计。
  • 新增约每分钟一次的实时统计快照,重启后恢复已保存计数。长时间录制会降低时间线精度,不再丢弃早期活动。
  • 新增平均消息速率、互动人数估计、聊天与礼物总量、送礼者和礼物排行,以及可展开的活跃用户榜。礼物图表仅在平台上报礼物时显示;互动人数估计误差通常约为 2%。
  • 修复高频词计数虚高,并用 ≈ 标记估计值。中日文消息使用分词,不再将整句计为一个词。
  • 修复活动图表把十秒计数显示为每分钟速率的问题。峰值和平均值使用正确速率,平均值覆盖整场会话,无活动时段显示为零。
  • 哔哩哔哩以新批量格式发送的礼物现在会被录制,并计入礼物统计。
  • 修复连接失败后弹幕采集永久停止的问题。录制期间持续重连并保留统计,长时间断连会显示在系统健康页。
  • 修复弹幕失败阻塞后处理的问题。中断的弹幕文件会完成写入并登记;被丢弃视频分段的弹幕文件也会从会话列表移除。
  • 修复队列中的最后消息在关闭时丢失或被分到下一段的问题。并发停止请求和替换采集器等待同一个完成结果,避免采集器重叠运行。
  • 修复新文件中的无效 XML 字符和头部注释;旧文件不会自动修复。MCP 分页保留完整 UTF-8 字符,并拒绝无效编码或无法推进读取的限制值。

配置 ​

  • 修复哔哩哔哩和抖音表单为未修改选项保存覆盖值的问题。继承设置继续继承,平台默认值正确显示。
  • 两种时间过滤器编辑器新增时区选择。规则匹配和唤醒使用一致的跨夜、夏令时边界,包括重复小时;编辑保留已存时区,备份 schema 0.1.8 明确导出时区。
  • 时间过滤器现在必须至少选择一天,且开始与结束时间不能相同。此前保存的此类过滤器永远不会匹配,导致主播一直不被录制且没有任何提示;请编辑这些过滤器,选择日期并设置有效的时间段。
  • 修复无效全局、平台设置被保存的问题。保存前校验类型、负值和溢出,同时保留受支持的零值、默认值含义。平台编辑不能更改 URL 查找所用的标准名称。
  • 修复全局设置页面在保存成功后仍提示有未保存更改的问题。保存后页面显示服务器实际存储的设置。
  • 模板的平台覆盖现在只提供实际生效的设置:管道和平台选项。以前在模板平台覆盖中填写的其他设置从未生效,请改在模板、平台或主播上设置。
  • 修复代理用户名、密码包含百分号、空格、Unicode 或 URL 分隔符时的处理,所有下载引擎均已生效。下载诊断不再包含代理 URL,Mesio 日志也不再显示代理凭据。Mesio 日志和错误信息还会隐藏流地址中的令牌。
  • 修复备份导入中的账号邮箱冲突。交换邮箱和复用已释放地址不受输入顺序影响,冲突在修改配置前被拒绝。
  • 修复并发数据库操作丢失结果和重复扣减媒体大小的问题。更新失败时回滚相关改动。
  • 修复全新独立数据库的录制目录初始化,使用 OUTPUT_DIR,未设置时使用转为绝对路径的 ./output。已有数据库保留保存的目录。启动输出探测与录制尝试使用相同的目录分组。详见输出根探测。
  • 输出模板中某个主播自己的目录尚不存在时,启动时不再把录制目录报告为不可写。
  • 修复升级后可能以默认全局设置启动、而不是使用已保存设置的问题。现在会先完成数据库更新,再读取任何设置。

通知 ​

  • 新增通知:平台开始限制请求时发送通知,注明被暂停的连接(直连、系统代理或某个已保存的代理)并给出恢复检查的时间;新登录的会话无法保存到账号时也会通知。平台要求的等待时间现在最长为 15 分钟,单个响应不会再让录制暂停数小时。
  • 修复管道开始、完成和失败通知未发送的问题。
  • 修复事件历史中输出路径、GPU 和百度网盘重新登录告警的预览仅显示事件名称的问题,现会显示相关路径或错误。下载被拒绝、凭据失效和系统关闭事件也会显示原因。
  • 各通知渠道并行投递,一个渠道较慢不再拖慢其他渠道。
  • 邮件投递复用 SMTP 连接。渠道重载后,已接收的通知仍发往原目标,持续存在的渠道保留失败历史。
  • 修复队列容量检查、被移出队列通知的重试取消,以及配置定义渠道的失败投递记录。重试不会向已成功的渠道重复发送。
  • 修复 Web Push 退避状态和载荷大小检查。队列已满或不可用时,所有优先级的新事件都会丢弃并计数,不会重放;事件历史和其他渠道独立运行。详见投递限制。
  • 外部渠道新增有上限的投递超时和重试等待。错误报告失败类别或 HTTP 状态,不包含携带凭据的 URL 或响应正文。
  • 修复 Telegram 消息中名称、标题和错误的特殊字符格式化,截断时保留完整 Unicode 字符。不支持的格式模式返回配置错误。
  • 统一渠道启用、优先级检查和单次投递内的本地化渲染。渠道重载失败时保留当前配置。详见通知接口。

认证与 API ​

  • 新增账号和来源地址登录限流,返回 HTTP 429 和 Retry-After;密码校验并发有上限。反向代理后的来源限制按代理地址计算。详见登录限流。
  • 修复并发登录清除其他尝试失败计数的问题。认证失败不透露账号是否存在,只有密码正确后才披露账号禁用状态。
  • 修复刷新令牌轮换,最多签发一个替代令牌,数据库写入失败时保留原令牌。退出登录、禁用账号和修改密码后,已撤销会话无法复用。下载、日志 WebSocket 和日志归档授权会重新校验凭据。
  • AUTH_DISABLED=true 时限制浏览器来源和 Host 头。额外本地来源可通过 API_CORS_ORIGINS 配置;启用认证时行为不变。
  • 资源创建和模板、任务预设克隆改为返回 HTTP 201。OpenAPI 补充会话分段、模板克隆及浏览器 Web Push 操作;不可用的任务进度返回 null,不再显示为零。
  • 媒体内容请求新增 download=1,以附件方式下载。媒体和流相关路由优先使用 Authorization 头,仅在其缺失时使用查询令牌。下载、日志 WebSocket、流代理和日志路由需要完整权限的 API 密钥。
  • 任务、会话、产物、通知和预设搜索按字面匹配 %、_ 和反斜杠。详见搜索行为。
  • URL 解析和会话删除批次超过 100 项时,在处理前拒绝。登录设备描述限制为 256 个 Unicode 字符,API 错误不再包含内部数据库或凭据诊断。
  • 修复 Web 请求转发的标识和 URL 值。拒绝无效标识,正确编码保留字符。
  • 从应用日志、浏览器诊断和通知调试输出中移除凭据及私有目标地址。BaiduPCS-Go 登录改用受保护的临时配置和标准输入,不再通过进程参数传递凭据。详见凭据处理。

Web 界面 ​

  • 同源和跨域 Web 部署的录制下载均直接流式写入磁盘。桌面端操作改为在文件夹中显示已有录制。
  • 修复退出登录后的账号缓存残留,避免下一个用户看到前一会话的数据。会话过期后跳转登录,登录后返回原页面;续期时的临时服务故障会保留当前会话并重试。
  • 修复令牌刷新时传输进度中断。取消任务后仪表盘处理计数及时更新,录制中的实时计数保持一致。
  • 减少重复页面加载和轮询,后台标签页暂停更新,任务日志仅刷新新增内容。实时日志分批渲染,并在会话续期后重连。
  • 减少配置、工作流、导入摘要和时间安排编辑器的不必要重绘。
  • 修复数字字段和斗鱼 CDN 选择清空后恢复旧值的问题,空字段显示继承值或默认值。仅接受整数的设置在表单中校验。
  • 修复可编辑列表删除行后焦点或值错位的问题。空自定义标签在命名前保持独立。
  • 修复原始 JSON 编辑器在每次输入后重新排版的问题。不完整文本可继续编辑,校验错误单独显示。
  • 修复窗口焦点变化后丢失通知订阅修改的问题。扫码登录在二维码过期或对话框关闭后停止轮询。
  • 修复搜索、筛选和翻页后隐藏条目仍保持选中的问题。批量操作只针对当前选择。
  • 修复损坏的已存设置导致整个平台或模板列表加载失败的问题。无效 URL 搜索、筛选参数单独忽略。
  • 弹幕统计不可用、管道不存在或无法访问时,显示明确的空状态或错误。会话时间线在详情缺失时仍能识别已知事件。
  • 恢复通知、预设卡片配色,修复切换预设或明暗主题后色块未更新的问题。
  • 改进媒体卡片,显示文件类型、名称、路径、大小和会话。类型筛选及汇总覆盖整个文件库,并跟随搜索条件。
  • 为图标按钮添加无障碍名称,时间安排控件和备份导入选项支持键盘操作。
  • 补全相关对话框、播放器控件、卡片、计数、校验错误、日期、时间和时长的翻译。
  • 新增侧边栏账号菜单,集中提供 API 密钥、账号设置、修改密码和退出登录入口。
  • 修复日志文件下载失败时提示未翻译或为空的问题。
  • 预设编辑器为所有处理器提供恢复默认值,替换已修改的配置前会先确认。
  • 侧边栏通知红点在有新的严重事件时以动画出现,查看后淡出消失。
  • 主播列表打开时直接显示主播卡片,仪表盘立即显示系统和管道概况,不再先显示占位内容、几秒后才填充。Web 界面首次加载时需要下载的内容也更少。
  • 录制进行中时,显示实时录制的页面占用的处理器资源大幅降低;同时录制较多时,界面依然流畅,笔记本也不易发热。
  • 修复通过 Cloudflare 访问且开启 Rocket Loader 时,打开 Web 界面会短暂闪现错误配色的问题。明暗模式和自定义主题现在从第一帧起即正确显示。
  • 手机和窄窗口下的导航菜单现在点按即开、关闭同样迅速,滑动流畅,主播列表等长页面也不再卡顿。关闭后键盘焦点回到菜单按钮。
  • 宽屏下收起或展开侧边栏现在是一段连贯的动画:图标保持原位不再横向跳动,文字随边缘淡入淡出。鼠标悬停某个菜单项时,只有该项的图标会放大,不再是侧边栏里所有图标一起放大。
  • 修复部分浏览器中鼠标悬停设置卡片时文字变模糊的问题。设置、系统健康和管道图中的卡片悬停时不再放大,改为高亮显示,输入框和工作流连线也不会随之移动。
  • 修复管道任务顶部统计卡片与下方列表对不上的问题。统计卡片、状态筛选和仪表盘现在都按管道计数;等待空闲工作线程的管道显示为“待处理”,可在“待处理”筛选中找到。平均时长改为统计整个管道(包括等待时间)。搜索框现在可按名称、主播、会话或 ID 筛选管道。

监控与维护 ​

  • 健康检查在组件状态未知时报告降级。文件系统采样缓慢时保留旧值并标记为过时或降级,不阻塞其他探测或不断创建任务。详见健康监控。
  • 应用日志默认限制为每文件 16 MiB、共 16 个文件,共享目录的实例协调轮转。启动时执行保留清理,超大记录标记为截断。详见日志保留。
  • 日志归档通过有界缓冲流式生成 ZIP64,最多两个并发下载,每个归档最多 10,000 个文件。超额请求返回 HTTP 429,读取或压缩失败时终止下载。
  • 日志初始化失败返回错误,不再触发 panic。重定向控制台日志省略 ANSI 颜色,无订阅者时跳过实时日志格式化。启动耗时保留 I/O、引擎发现和总体测量。
  • SQLite 连接池共用建议的 64 MiB 私有页缓存额度,其中读取连接 56 MiB、写入连接 8 MiB;这不是进程内存硬上限。详见 SQLite 内存预算。
  • Vacuum 调度检查实际录制,只在获准执行期间暂停新录制启动。缓慢的文件系统预检查不会持有录制启动锁。
  • 任务列表和导出使用批量关联查询,配置刷新采用有界并发,并缓存已解析的过滤规则和短期配置读取结果。
  • 合并服务生命周期、仓库写入、导入持久化和处理器结果逻辑。移除未使用的依赖功能、重复模型、闲置辅助方法及未接入的 Prometheus 导出器。JSON 健康接口和 Web Push 计数器继续可用。

部署与桌面端 ​

  • HTTPS 反向代理传递的协议用于自动设置安全登录 Cookie。COOKIE_SECURE 仍可覆盖自动判断;使用明文 HTTP 的生产部署会记录警告。
  • Web 容器改以普通账号而非 root 运行应用服务,并为所有响应添加 X-Content-Type-Options 和 Referrer-Policy 响应头;如果反向代理已添加这些响应头,请只保留一处。自行构建镜像时,不再打包 Web 源码目录中遗留的本地数据库文件。
  • 修复 NVIDIA GPU 有时不显示在系统健康页面的问题。GPU compose 文件现在会请求 GPU 状态检查所需的 compute 和 utility 能力,已有部署请重新下载 docker-compose.gpu.yml。启动时响应较慢的 GPU 现在会显示其错误,而不是被忽略。详见 NVIDIA GPU。
  • 新增可选 Watchtower 自动更新,通过 docker compose --profile autoupdate up -d 启用,使用无需认证的 /api/health/idle 检查。需要可变镜像标签,空闲检查后才开始的录制仍可能中断;自动升级应保留备份。详见自动更新。
  • 安装脚本根据系统语言或 SREC_LANG 选择中英文,检查下载内容,并在无法安全生成密钥时停止。
  • 修复内置 systemd 单元的权限、状态与日志目录、环境加载和关闭等待。新数据库使用 /var/lib/rust-srec/output,已有数据库保留保存的目录。录制文件可由服务账号及其用户组读取。详见 systemd 安装。
  • 桌面端退出前会完成录制收尾,包括启动期间退出及 macOS 菜单、Dock 退出,最长等待一分钟。通过 Dock 退出或注销时,窗口在清理期间可能无响应。
  • Linux 和 macOS 最小化到托盘改用窗口事件,不再持续轮询。
  • 防止桌面端和独立后端同时使用同一个录制数据库,修复桌面端首次启动的 SQLite 锁冲突。
  • 新增桌面启动恢复界面,说明数据库锁定、权限错误、存储已满或数据库损坏等问题,并提供复制诊断及打开数据、日志目录的入口。

基于 MIT 许可证发布。