Repository navigation
Releases: Debuger-114514/dsh-bili-jar
Release list
0.3.0 · 打开就有东西,还会认熟人
上一版之后最主要的一件事:把「打开面板先空白 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
这一版:让片单真的「新」起来
冷启动补偿
搜索接口不返回投币/收藏,新条目进池时互动分是 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
这一版
- 头像多一张「走路」:用原来那套两帧走路裁头部做的 GIF,页头的头像会动
- 装罐时列表底下那个小人也迈步(同一套两帧)
- README 顶图换成新的「出门找 → 满载而归」
v0.2.4
这一版
每根轴自己决定看不看老内容
freshness:按合格条目的年龄中位数判定,超过 90 天就算常青(不限日期),否则按 14 天。
设置页每根轴旁边一个两态开关,手填之后不再被自动覆盖。
冷门轴补货
搜「空洞骑士」时前 3 页被续作「丝之歌」挤满,五年前的好片排不进来。凑不够 3 条时会换两条通道:
- 按时长带重搜:B 站 的
duration参数,一页 20 条全落在想要的时长里 - 种子扩散:
/archive/related按内容相似度给,种子不要求合格
实测「空洞骑士」从 0 条变成 19 条。
动画
装罐时底部廊道里「出门找 → 满载而归」,2 倍大小、一步一步走、每步轻微左右晃。
v0.2.3
这一版
- 日期窗口可配:设置里填「0」就是不限日期
- 新增「小众 tag」加权(0.06),从贴轴和时效里匀出来
- 设置页补了日期窗口 / 时长 / 播放门槛 / 每轮条数四个数字框
v0.2.2
这一版
- 修两处安全问题:跨站请求被拒、
/debug不再输出完整 API Key - README 重写成平实口吻
v0.2.1
这一版
- 封面 / 文件结构整理;npm 正式发布通路打通
- 修一批小问题(登录、状态文件、设置页)
v0.2.0 · 30 根预设轴 + 轴树会长
右下角一只罐子,替你挑「今天看哪几条」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站 登录是可选的,只用于取字幕;凭证只落在插件自己的目录