Repository navigation
Releases: Alterssss/dsh-bili-whale
Releases · Alterssss/dsh-bili-whale
Release list
v0.4.0
v0.4.0(2026-10-21)
这一版以「人设版」(2026-10-21)为基础,把第三方审查报告里剩下的四条修完,
并补上了一套 24 个用例的自动测试。
新增:她专属的人设
- 设置页「她是谁」那三个字段下面新增 人设正文 输入框 + 注入人设 按钮
- 存在
~/.bili-ai/persona.md(和凭据、账本放一起,换机器拷.bili-ai就带着走) - 每次唤醒 / 私信 / 评论 / 弹幕 / 直播间提示都会附上(前 3000 字)
- 人设文件优先:和设置里的「名字 / 自称」冲突时以人设文件为准
修:审查报告剩余四条
- 分享总开关管住了私信:评论和私信走同一套校验(
share.enabled/minScore/--reason/--rank 1)。
以前关掉分享,dm --share照样能发出去。 - 凭据路径统一:插件和工具链都从用户目录
.bili-ai/credentials.json读写,
自定义DSH_HOME不再导致设置页显示新账号、工具却还在用旧账号。 - 跨午夜不再出错:生物钟改用绝对时间戳。以前 23:00–01:00 的窗口里抽到次日 00:30,
会被"修正"成当天 23:00。 - 不再每分钟重抽签:未触发的计划保留原时刻和「看 / 不看」的决定。
以前每 tick 重排一次,skipChance等于失效。
修:多窗口
- 只有作息字段变了才重排(改推送、改人设不会重置待执行计划)
- 已跳过的窗口按「窗口起始日期 + 窗口名称」记账,重启、跨午夜、保存设置都不会复活
- 按真实截止时刻排序窗口,窄窗不会再被静默跳过
- 一次「不看」只作废那一个窗口,不再连累当天后面的窗口
修:调度器与生命周期
- Node 运行时初始化失败 → 不再启动调度器,并在状态接口里明确报错
(以前是静默失效,界面上一切正常,但它永远不会醒) - 唤醒投递失败可以在下一轮重试;只有投递成功才进入冷却
- 停止插件时清理启动定时器
- 「生物钟」状态在依赖体检和设置页可见:正常显示「已启动」,坏了显示「没起来:<原因>」
修:此前累积的一批
notify的私信后端忽略--dry,预演会真的发出私信- 批准待审回复时引用未定义的
cfg,草稿在发送前就被删除 - 「推送日记摘要」开关存不进配置(字段白名单漏了
diary) - 跨午夜窗口里的评论监听始终判定为窗口外
- 工具链 11 处
process.execPath(在 Electron 派生进程里那是主程序,spawn 它不执行脚本) buvid3不再必填(以前缺它连评论都发不出)- 评论/私信分享之外的写操作:三条动态命令调了
gate()却没导入 mention-check不再用调试残留的假 mid / 假昵称video-content不再写死拉无关的 GitHub 仓库- 命令表清掉三个悬空条目
stop()补上私信轮询的clearInterval- 视频下载改流式写盘(两小时 720p 不再吃 1–2 GB 内存)
- 失败的命令改为非 0 退出码(以前 agent 会误判成成功)
diary的时区分歧(凌晨 0–8 点的发言被算到昨天)- 动态图片的限额闸门提到上传之前(以前图传上去了才拦)
fav缺文件不再裸崩
测试
- 新增
tests/:node --test tests/planner.test.mjs tests/integration.test.mjs,24 个用例全过 - 测试使用临时目录、虚构凭据、模拟网络与宿主接口;不登录真实账号、不发送真实消息
升级注意
- 停止 DSH,备份旧插件目录和
~/.bili-ai - 用新的插件目录替换旧的,重启 DSH
- 到设置页跑一次「依赖体检」
- 旧版计划没有可靠的绝对日期,首次读取会重算待执行时间
- 如果你以前用自定义
DSH_HOME,请在设置页重新保存一次 cookie 并核对账号