Skip to content

Releases: Alterssss/dsh-bili-whale

v0.4.0

Choose a tag to compare

@Alterssss Alterssss released this 21 Oct 13:53

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 个用例全过
  • 测试使用临时目录、虚构凭据、模拟网络与宿主接口;不登录真实账号、不发送真实消息

升级注意

  1. 停止 DSH,备份旧插件目录和 ~/.bili-ai
  2. 用新的插件目录替换旧的,重启 DSH
  3. 到设置页跑一次「依赖体检」
  4. 旧版计划没有可靠的绝对日期,首次读取会重算待执行时间
  5. 如果你以前用自定义 DSH_HOME,请在设置页重新保存一次 cookie 并核对账号

0.3.0

Choose a tag to compare

@Alterssss Alterssss released this 20 Oct 02:04

v0.1.11

Choose a tag to compare

@Alterssss Alterssss released this 18 Oct 10:19