Skip to content

Releases: littlefallenstar/dsh-bili-scroll

v0.2.8

Choose a tag to compare

@littlefallenstar littlefallenstar released this 21 Oct 18:11

修「装依赖」按钮在部分网络下必坏

  • 根因:pip 镜像写死了清华源。清华源在部分网络会 403,于是 uv/pip 全挂,按钮点了只会在日志里留一串 403。
  • 现在按「阿里云 → 清华 → 官方 PyPI」依次回退,成功一个就停;日志里会写"正在试哪个镜像"。
  • 想固定某一个仍然可以:环境变量 BILI_DUTY_PIP_MIRROR 优先级最高。

修「本地转写」安装同样卡在清华源

  • 同一套回退逻辑也用在 faster-whisper / yt-dlp 的安装上。

修自动下 uv 时可能被一个卡住的源拖住

  • 拉 uv 版本清单原来只连清华、且没有超时;现在依次试 官方 PyPI / 清华 / 阿里云,每个 8 秒超时,拿不到就跳过(不影响后面几个 GitHub 直连/加速源)。

v0.2.7

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 09:42

修「自动续刷时把历史上所有推荐都塞进稍后再看」

  • 根因:收尾里那句 want = pickBvids.length ? … : doc.items —— 这一轮如果一条推荐都没有,
    它就退化成"当天全部条目",于是把所有历史推荐重新加了一遍。
  • 现在只认这一轮真的标了推荐的(空就是空)。

修「同一轮分开发了两封邮件」

  • 笔记是分批写出来的(模型边搜边写),每批 ingest 都触发一次收尾 ⇒ 一封"1 条"、一封"2 条"。
  • 现在只登记到 pendingMail,90 秒没有新条目才渲染并发出一封;定时器 + 每分钟 tick 双保险。

轮次文件夹默认收起

  • 两个根(推荐列表 / 不推荐)展开;「第 N 轮」默认折叠,点一下再展开。

删笔记文件 = 从列表里消失

  • 对账时发现 notePath 指向的文件不在了,就把这条从今日表里去掉(以磁盘为准)。

v0.2.6

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 09:18

修「一直循环刷」

  • 上一轮一条推荐都没加进待看时,待看当然是空的 —— 但旧逻辑把这判成"看完了",于是又开新一轮,
    模型偶尔一轮 0 推荐就会无限空转。
  • 现在记下每轮实际加进待看的条数;为 0 就明确说「没东西可看,先不续刷」。
  • 续刷间隔默认从 1 分钟改成 5 分钟(1 分钟太密)。

v0.2.5

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 09:14

修「第二轮以后不发报告、不进文件夹、不加待看,然后一直循环」

  • 根因:0.2.3 给今日页加了 15 秒自动刷新,而「读今日列表」这个接口会顺手把新笔记并进今日表
    (对账),它用的是 mail:false。于是面板轮询先把笔记吞了,等定时器那一轮再对账时
    新增 = 0,收尾(发信 / 归文件夹 / 加稍后再看)就永远不触发。
  • 表现完全对得上:笔记产出了、信没发、视频挂在根目录、稍后再看里没有 ⇒ 待看一直"空" ⇒
    自动续刷一直判"看完了"⇒ 无限开新一轮。
  • 修法:面板那条对账也走 mail:true(重复发信由 mailedKey 挡住);
    另外只有真的收进今日表才算"新增"(BV 号不合法的不再虚报)。

修屏幕中间那条提示一直挡着

  • 「上一轮还在跑…」这类 toast 之前偶发不消失(定时器被重渲染吃掉)。
  • 现在加了一道兜底:任何 toast 最多留 7 秒自动消失。

v0.2.4

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:56

修「正在后台运行」一直不结束(真凶:同时起了三份)

  • 现场:16:49、16:51、16:51 各起了一个 dsh 子进程,三个模型同时往同一份产物目录和今日表里写,
    面板那个绿标就一直挂着。
  • 根因:runDuty() 和「自动续刷」都没有检查"上一轮还在跑"。自动续刷每 2 分钟判一次,
    上一轮没结束时它又起新一轮,越堆越多。
  • 修法:
    • dutyRunning 单轮闸:已经在跑就直接拒掉,日志写 刷B站跳过:上一轮还没跑完;
    • 自动续刷先看这个闸,在跑就不判;
    • 单轮超过 45 分钟自动收掉(不会再出现"永远在跑")。

面板上的反馈更清楚了

  • 点「现在跑一轮」时如果上一轮还没完,会直接说 上一轮还在跑 —— 等它跑完,别两个同时跑,
    不再显示"已经在后台跑一轮了"骗人。
  • 绿标旁边多一个 N 分钟,一眼看出是刚起还是卡住了。

v0.2.3

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:31

面板自动刷新(后台跑完那一轮现在自己就上来了)

  • 症状:后台跑完一轮、笔记也写了,但「今日」页的推荐/不推荐列表不动,要手动切一下才更新。
  • 修法:今日页每 15 秒静默重取一次;页面切回来立刻补一次(在后台时跳过,不乱轮询)。

自动续刷:默认不限轮数

  • 原来写死「今天最多续刷 3 轮」,日志里天天是 自动续刷跳过:今天已经续刷 3 轮(上限 3) ——
    看着就像功能不работает(实际是到了上限就停)。
  • 现在 autoNextMaxRounds 默认 0 = 不限(想限制就设 1~50)。等一分钟的间隔也默认改成 1 分钟。

自动点赞:核实过了

  • 日志证据:已点赞:BV1iLaX6REba / BV1NXH661EpG / BV1x2Jq6NEbT(那一轮的 3 条推荐全部点上了,
    判"不推荐"的没点)。功能是好的,之前只是被上一版的崩溃挡住。

v0.2.2

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:31

修一个把整轮收尾吞掉的致命错误(三个症状同一个根因)

  • 症状:第二次点「现在跑一轮」收不到报告、推荐视频没进「第 N 轮」文件夹、自动点赞没动静。
  • 根因:0.2.1 加「自动点赞」时,把代码写在了 const roundItems 声明之前。
    autoLike 一开就抛 ReferenceError: Cannot access 'roundItems' before initialization,
    而这句后面的「归文件夹 → 发信 → 写 Obsidian → 记 rounds」全在同一个函数里,整段被跳过,
    而且异常没人接(对账那边只 catch 了自己)。
  • 修法:把 roundItems 提到最前面;对账里调收尾也加了 try/catch + 日志(以后再出错能在日志里看到,不会再静默吞掉一整轮)。

修:不推荐的视频「拖不进轮次文件夹」

  • 根因:0.2.1 的迁移规则没区分 parent,把「不推荐 → 第 N 轮」里的视频又搬回了「不推荐」根目录,
    表现就是拖过去又弹回来;拖进自己新建的文件夹没事(那不是 kind=round)。
  • 现在只搬「推荐列表下面」的轮次文件夹里的漏网条目。

修:每轮都会发信

  • 去掉「10 分钟内发过就不再发」的时间窗(它把手动再跑一轮的信吃掉了)。
  • 重复跑同一份笔记仍由 mailedKey 防住,不会重复发。

自动续刷加了日志

  • 开没开、为什么没触发(待看读不到 / 今天没加过待看 / 上限到了)现在都会写一行日志,
    下次"没发挥作用"能直接看出卡在哪一步。

点「放入」真的进推荐列表

  • 原来在不推荐里的视频点「放入」只改状态、人还留在不推荐下,看着像没生效。现在会挪到推荐列表。

v0.2.1

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:31

两个根的顺序与分层

  • 「推荐列表」固定在最上面,「不推荐」在下面。
  • 不推荐也能分层了:不推荐的视频按轮次进「不推荐 → 第 N 轮 HH:MM」,跟推荐列表一个结构。

修:不推荐还是会跑到推荐列表里

  • 根因:0.2.0 迁移老数据时,只给"没有归属"的条目分了类,而判成「不推荐」的那些已经待在第 N 轮文件夹里(旧版把两者混在一起建目录),迁移没动它们。
  • 现在每次打开面板都会检查一遍:判「不推荐」的如果待在轮次文件夹里,自动挪回「不推荐」。你昨天那批已经归位。

新:推荐的自动点赞

  • 「功能设置」里多了一个开关:推荐的自动点赞(默认关)。
  • 只点赞,不投币、不收藏、不关注;判「不推荐」的不点。
  • 每条只点一次(记在今日表里),重复跑一轮不会再点。

v0.2.0

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:31

今日列表改成分级文件夹

  • 最外层固定两个:推荐列表 / 不推荐。不推荐的视频不再混进推荐列表里。
  • 推荐列表下面按轮次分:推荐列表 → 第 N 轮 HH:MM → 视频(三层)。
  • 每一层都有「新建」:点一下就地出现输入框,回车即建(不再弹系统对话框)。
  • 视频可以直接拖进任意一层;删文件夹时里面的东西回到上一层,不会变成"未分组"。

修三个点了没反应的按钮

  • 「新建文件夹」没反应 —— 根因:这个面板在侧栏槽位里,window.prompt 弹不出来。改成就地输入框。
  • 「一起清掉」清完又回来 —— 根因:面板一刷新就重新对账,把 _skip-*.txt 和判重表里的记录又导了一遍。
    现在删/清空会记进黑名单(meta.skipIgnored),清空时还会把当天的 _skip-*.txt 改名,不再回头。
  • 单条删除后数字不变 —— 同上,也是被对账加回来了。

邮件「总结」分行

  • 原来是一大段挤在一起。现在是项目符号:看了几条 / 最该先看哪条 / 其余值得看 / 不推荐的几条。

「待看空了自动续刷」修好

  • 根因一:sawNonEmpty(见过待看非空)只存在内存里,重启就清零 ⇒ 永远认为"没见过非空",不续刷。
    现在落盘到 today/<日期>.json。
  • 根因二:提示词里还留着「今天最多挑 N 条」,而 N 就是每轮条数 —— 第一轮挑满后,续刷的每一轮都"超额度"。
    这句话删了,改成"别拿今天已经刷过当理由少刷"。
  • 轮询从 5 分钟缩到 2 分钟,"连续两次确认空"改成一次(空就是看完)。

v0.1.9

Choose a tag to compare

@littlefallenstar littlefallenstar released this 18 Oct 08:31

照着你最爱的那封旧日报,把版式重做了一遍

  • ⭐ 标题变大了(一级标题一行大字),不会再糊在正文里。
  • ⭐ 每个字段单独一行:UP / 链接 / 播放量 / 时长 / 评分 / 推荐 / 为什么值得 / 我的一句话,
    都改成项目符号分行 —— 上一版全挤成一段,读起来太累。
  • ⭐ 每条都有「我的一句话」,缺了会补一句默认的,不会再整行消失。
  • ⭐ 「为什么值得」压到 80~120 字(上一版写到两三百字),说清楚"给谁看 / 能拿走什么 / 有什么坑"就停。
  • ⭐ 末尾「总结」照旧:哪几条值得看、先看哪条。

面板「今日」按文件夹分级

  • 每轮自动生成一个文件夹(第 N 轮 HH:MM),也可以「新建文件夹」自己命名;
    视频可以直接拖进任意文件夹,拖错了删掉文件夹就回到「未分组」。
  • 每条视频多了「删除」按钮。

「本次跳过」修好

  • 标题不再是清一色「(无标题)」—— 提示词要求模型写跳过时必须带标题,旧记录宿主会去补。
  • 每行加了「删除」,顶部加了「一起清掉」一键清空。

自动续刷

  • 修一个真 bug:重启后第一分钟会立刻又续刷一轮(12:53 刷完、12:54 又来一次)。
    现在任何一轮跑完都会盖时间戳,间隔由「自动续刷间隔」控制。
  • 搜到的视频多数已在判重表里时,允许换 1~2 组词补足,不再"一次白搜就收工"。