Repository navigation
Releases
Releases · btbxbob/dsh-deepseek-balance
v0.2.0 — 娱乐化耗尽估算、界面常驻显示、DSH 0.1.5 兼容修复
本次更新
预计耗尽时间:更娱乐,也更常出现
- 旧算法要求「余额连续下降且跨度 ≥ 1 天」——在每 2 分钟采样、余额长期持平的现实下几乎永远凑不出来,所以估算经常缺失
- 改为取最近 N 次查询(新配置
estimateLookback,默认 8):把窗口内相邻采样之间的每次下降累加为消耗,摊到窗口跨度得到日均消耗,再除以当前余额 - 三种情况都有显示:有消耗 → 具体天数;窗口内纹丝不动 → 「余额纹丝不动,感觉能用到地老天荒」;历史不足 2 次 → 「查询次数还太少,再攒几次就能瞎猜了」
- 响应新增
windowHours(估算依据的时间跨度)与basedOnSamples(依据的查询次数) - 可配置项:
estimateLookback(默认 8)、historyMaxAgeDays(默认 90)
界面上常驻显示耗尽时间
- 徽标改为双行卡片:第一行余额,第二行常驻显示预计耗尽时间(不再只放在悬停
title里) - 估算不足 1 天时显示具体时分:
今天 13:22 见底(最近不到 1 小时瞎猜) - 窄条(折叠)模式显示紧凑版:
≈7h/≈37天/≈1.2年/用不完 - 悬停仍保留充值 / 赠送明细、日均消耗、依据查询次数与最近更新时间
兼容性修复(重要)
-
DSH 0.1.5 起重写的 slots 运行时要求插槽先被父条目声明。原先在
apply()里直接ctx.slots.register(...)会导致整个 loader entry 加载失败:failed to apply loader entry <hash> (dsh-balance): slot "sidebar.footer.action" is not declared (a parent entry's children table must declare it)症状很有迷惑性:宿主路由正常、boot 清单里也有
dsh-balance/client.js,但页面上徽标就是不出现,只在浏览器控制台报错 -
改用
ctx.slots.inject("sidebar.footer.action", …)等待声明:已声明则立即执行,否则等声明提交后执行;控制器归属本 fiber,卸载会自动取消等待 / 撤下贡献 -
已在 DSH 0.1.5-rc.1 端到端验证:宿主路由 200、宽屏与窄条两种模式均正常渲染、控制台零报错
文档
- 新增兼容性章节(含上述报错原文、根因与修法)
- 修正安装 / 生效 / 卸载路径:生效副本在
~/.dsh/profiles/node_modules/<name>(扁平回退目录,纯拷贝,不是profiles/web/node_modules);并强调cordis.patch.yml里的挂载行被注释 = 完全不加载
安装
见 README。
验证
curl http://127.0.0.1:3080/ds-balance/balance
# {"ok":true,"is_available":true,"balance_infos":[{"currency":"CNY","total_balance":"61.60",...}],
# "estimation":{"available":true,"daysLeft":36.4,"basedOnSamples":8,"windowHours":135.2}}所有估算数字都是刻意放松准确性的娱乐向结果,别当真。
完整版本历史见 CHANGELOG.md。