Skip to content

Releases: Debuger-114514/dsh-bili-jar

0.3.0 · 打开就有东西,还会认熟人

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 28 Oct 13:29

上一版之后最主要的一件事:把「打开面板先空白 40 秒」修掉了。

不再空白

以前片单超过 30 分钟就阻塞重建,重开 DSH 后面板要对着空气等四十多秒。现在磁盘上有上一批就立刻给你看(实测 74ms),重建挪到后台;后台换好了只在顶部弹一行「新的一批装好了 · 点此查看」,点了才换 —— 不会把你正在读的卡片抽走。

三档刷新

不再是每 30 分钟跑一次全量 + 一次模型调用:

距上次完整重建 做什么
不到 3 小时 不动
3–24 小时(打开时)或满 6 小时(自动) 轻量探测:6 个熟人的最新投稿 + 每根轴一次「最新发布」
超过 24 小时 完整重建

轻量探测只在真捞到合格新片时才升级为完整重建,不叫模型、不算分。

熟人名单

从点赞、稍后看、点开过的记录里认人。同一条视频点三次只算一次,180 天前的互动不算。

  • 1–2 次 = 观察中,3 次及以上 = 转正
  • 转正之后他的新片(3 天内)直接进候选并加权 —— 靠预测,不等互动数据成熟
  • 踩一次扣 2 次互动,扣到 0 以下拉黑

名单不占设置页,只在日志和 STATE.md 里报一行。

防回音室

片单里熟人来源最多 2 条(5 条时)。规则挑选和模型策展两条路径都收 —— 模型那条实测出现过多达 3/5。11 条单测守着。

修了什么

  • 固定 UP 拉不到投稿:/space/wbi/arc/search 只做 WBI 签名会被风控挡回(游客态稳定 -352,偶尔直接返回 HTML 拦截页)。补浏览器指纹参数 + buvid4 + 全局 750ms 节流;失败时「关注」页会说人话
  • 决赛圈查详情改 4 并发、字幕/评论改 3 并发
  • history.json 补存 mid;feedback.jsonl 同一条视频只记一次(之前一条能记 3 行,把熟人分数算虚了)

数字

  • 首屏 40s+ → 74ms
  • 重建 ~43s → 16–21s(2 轴实测)
  • 每天 B站请求 ~210 → ~96 次;模型调用最多 10 → 1 次
  • 单测 83 → 128

完整说明见 README 和 docs/ups-and-refresh.md。

v0.2.9

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 27 Oct 16:01

这一版:让片单真的「新」起来

冷启动补偿

搜索接口不返回投币/收藏,新条目进池时互动分是 0,而详情补查只覆盖初评前 12 名 ——
新条目永远挤不进前 12、永远没数据。现在:

  • 每轮额外给 8 条「刚进池、缺数据」的补详情
  • 缺数据且播放达标(≥5 万)、非标题党时,按年龄给 0.05 / 0.03 / 0.01 的临时补偿
  • 补过数据就失效,补贴是临时的

新鲜度配额

main 里至少担保一条:≤3 天 + 播放达标 + 贴轴 + 非标题党。
分数调不动时由规则兜底,且不会把某根轴清空。

数据会过期

互动数据 7 天后重刷(每轮最多 3 条,播放高的先刷)。
历史条目自动补 statsAt,让老数据也能进入刷新队列。

播放增速

记上一次的播放量和时间,算出「每天涨多少」。涨得快的优先补数据,冷启动再加 0.01(总分仍封顶 0.05)。

多样性(新设置项)

分数排序太确定,同一个池子每次推的都一样。现在:

  • 前 5 名固定
  • 其余名额按分数加权抽签(Gumbel 噪声)
  • 设置里「多样性 0–1」可调,0 = 完全确定
  • 种子记在 stats.diversity,出问题能重放

测试

74 → 83 个用例,覆盖补数据门槛、配额替换、增速基准、抽样可复现。

v0.2.5

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25

这一版

  • 头像多一张「走路」:用原来那套两帧走路裁头部做的 GIF,页头的头像会动
  • 装罐时列表底下那个小人也迈步(同一套两帧)
  • README 顶图换成新的「出门找 → 满载而归」

v0.2.4

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25

这一版

每根轴自己决定看不看老内容

freshness:按合格条目的年龄中位数判定,超过 90 天就算常青(不限日期),否则按 14 天。
设置页每根轴旁边一个两态开关,手填之后不再被自动覆盖。

冷门轴补货

搜「空洞骑士」时前 3 页被续作「丝之歌」挤满,五年前的好片排不进来。凑不够 3 条时会换两条通道:

  • 按时长带重搜:B 站 的 duration 参数,一页 20 条全落在想要的时长里
  • 种子扩散:/archive/related 按内容相似度给,种子不要求合格

实测「空洞骑士」从 0 条变成 19 条。

动画

装罐时底部廊道里「出门找 → 满载而归」,2 倍大小、一步一步走、每步轻微左右晃。

v0.2.3

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25

这一版

  • 日期窗口可配:设置里填「0」就是不限日期
  • 新增「小众 tag」加权(0.06),从贴轴和时效里匀出来
  • 设置页补了日期窗口 / 时长 / 播放门槛 / 每轮条数四个数字框

v0.2.2

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25

这一版

  • 修两处安全问题:跨站请求被拒、/debug 不再输出完整 API Key
  • README 重写成平实口吻

v0.2.1

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25

这一版

  • 封面 / 文件结构整理;npm 正式发布通路打通
  • 修一批小问题(登录、状态文件、设置页)

v0.2.0 · 30 根预设轴 + 轴树会长

Choose a tag to compare

@Debuger-114514 Debuger-114514 released this 23 Oct 03:25
2661b34

右下角一只罐子,替你挑「今天看哪几条」B 站视频。

不用 B 站 的推荐流:按你自己的兴趣轴去搜,按互动率(赞/币/藏)而不是播放量排好坏,
攒进一个跨天的池子,最后让大模型当策展人挑五条、写一句讲内容不讲数据理由。

这一版有什么

  • 预设轴树 30 根 / 68 个子簇:游戏 音乐 舞蹈 动画 知识 科技 影视 娱乐 生活 美食 运动
    汽车 时尚 动物 鬼畜 纪录片 搞笑 学习 手工 摄影 历史 哲学 心理学 编程 数学 物理 军事 财经 职场 育儿
  • 轴树会长:从池子里挖子簇(tag 的 DF + PMI,泛标签按 PMI 中位数判、跨轴去重、阈值自适应),
    再让模型审核(判要不要 / 起中文名 / 说理由),设置页点一下才写进你自己的树
  • 前端重做:插画面板、装罐时两帧走路、列表底部的小人、四档头像预设
  • 赞/踩参与打分:攒够 20 条后生效(同 UP ±0.04/0.07,tag 小幅加减,上限压死)
  • 小窗播放:卡片上直接浮一个播放器,不跳走
  • 语气预设:自带三套,支持一键导入 .md;头像四档可换
  • 更多电子榨菜:不重新搜,从池子里再捞,推荐语优先用存过盘的
  • 记账:按 DeepSeek 官方峰谷规则算钱(北京时间工作日 9–12 / 14–18 为峰),三层看

修掉的

  • 峰谷计价按本机时区算,成本被算成一半(0.023 vs 平台 0.039)
  • /explain 的 ReferenceError(点了必 500)
  • /debug 把完整 API key 吐给浏览器
  • explainOn 是个死开关;换头像后页头不刷新
  • 走路帧用人工量的框切,把背包裁掉了 42px

安装

dsh plugin --profile web add dsh-bili-jar

桌面版(desktop profile)由 Electron 独占,需手改 ~/.dsh/profiles/desktop/package.json 后 pnpm install,详见 README。

注意

  • 插件会调用 DeepSeek API(你自己的 key),一轮「换一批」约 ¥0.004–0.01
  • API key 存在 ~/.dsh/bili-jar/config.json(明文),HTTP 接口只返回掩码
  • B站 登录是可选的,只用于取字幕;凭证只落在插件自己的目录