Releases: TomShi11/douyin-spark-keeper
Release list
v1.9.3 · 默认发送火花表情 🔥
v1.9.3 · 默认发送内容改为火花表情 🔥
变更
- 默认发送内容由文字「续火花」改为火花表情 🔥,更贴合续火花场景。已安装用户如果之前没改过设置,重新加载扩展后仍会沿用旧的已保存值,可到设置页「发送内容」清空后保存以恢复默认。
- 修复富文本 emoji 读取:抖音编辑器会把 emoji 替换成
<img alt="🔥">,此时textContent为空,旧逻辑会误判「内容没写进输入框」而跳过发送。现在会从alt/data-emoji/aria-label还原字符。 - 修复空行防护:emoji 变成图片节点后,内容归一化会因比对失败而整个跳过,导致消息上方残留空行。现已改用统一的内容读取逻辑。
- 设置页、README、下载页文案同步。
测试
181 → 193 项全部通过,新增 work/tests/v193-emoji.test.mjs(其中 4 项核心回归已验证在旧实现上确实失败)。
安装
下载下方 douyin-spark-keeper.zip → 解压 → edge://extensions/ → 打开「开发人员模式」→「加载解压缩的扩展」→ 选中解压出的 douyin-spark-keeper 文件夹。
从旧版本升级:直接覆盖原文件夹,然后在 edge://extensions/ 点该扩展的「重新加载」。
v1.9.2 修复重复发送与漏发
v1.9.2 修复重复发送与「聊天记录没加载出来」
两个现象其实是同一个根因。感谢反馈并提供页面数据 —— 定位完全基于真实采集,未作猜测。
问题表现
- 已手动续过火花的好友,扩展又发了一遍(张艺航、杨斌洲、郭星宇)
- 部分该续的好友被跳过,日志显示「聊天记录没加载出来」(张嘉豪、吕世贤、何子帆)
- 同一批里另一些好友却判断正确(李源西、谷超凡、丁思博)
根因
真实页面中每条消息各自包裹在独立的 [data-index] 容器内,没有共同的消息列表类名。
旧逻辑按 parentElement 分组取「消息最多的父节点」,而每个父节点只含 1 条消息,
于是把 [data-index="0"](仅最新一条)当成了整个消息区:
· 最新一条是对方发的 → 判定「今天没发过」→ 重复发送
· 那唯一一条是表情或图片(无文字)→ 被文本过滤丢弃 → 0 条 → 报「读不到聊天记录」
判断正确的那几位,纯粹因为最新一条恰好是自己发的 —— 相当于抛硬币。
修复内容
- 消息区容器改为取所有消息气泡的最近公共祖先,不依赖任何类名;
语义选择器命中时也会校验其是否真正包含全部消息。 - 表情、图片、语音等无文字气泡不再被丢弃(仅排除虚拟列表占位块)。
- 修正倒序渲染:消息区为 rotate(180deg) 倒序(data-index=0 为最新),
判定前先按几何位置排成「旧 → 新」,确保时间戳继承方向正确。
测试
新增 9 项回归测试,fixture 由真实采集数据生成,并已验证其中 7 项在旧版本上失败。
全量 181 项通过。
更新方法
下载解压覆盖原目录后,前往 edge://extensions/ 点击本扩展的「重新加载」。
v1.9.1 修复一个人都不续
v1.9.1 修复「一个人都不续」
真实故障(2026-09-02 两次执行):预扫描正确识别出 15 位有火花的好友,
但发送阶段一个都没处理,日志显示 15 人全部落入 unreached,
session_done 记录「发出 0 人」,全程仅 12 秒。
根因:预扫描为了看全整个列表会把虚拟列表滚到底部,而发送阶段开始前
只把 scrollTop 归零、没有派发 scroll 事件。后台标签页的 rAF 被浏览器暂停,
渲染窗口纹丝不动地停在列表末尾,于是程序只看到最后一屏(多为没火花的人),
而向下推进的逻辑立刻判定「已到底」并结束。
修复:
- 新增 rewindListToTop:归零 scrollTop + 派发 scroll + 首项 scrollIntoView
三招齐上,并等到渲染内容真正变化才返回;以 data-index 最小值确认已回到顶部。 - 发送阶段开始前、预扫描收尾处均改用它。
- 启用此前声明却未使用的清扫上限:推到底后若仍有人没轮到,回到顶部再清扫一轮(最多 3 轮)。
测试:新增 4 项针对本故障的回归(其中行为测试直接加载 runner.js 中的真实函数,
不再在测试里复刻实现),全量 172 项通过。
更新方法:下载解压覆盖原目录后,到 edge://extensions/ 点击本扩展的「重新加载」。
v1.9.0 抖音续火花助手
安装
- 下载下方 douyin-spark-keeper.zip,解压到一个长期保留的目录
- 打开
edge://extensions/,启用左下角 开发人员模式 - 点击 加载解压缩的扩展,选择解压出的
douyin-spark-keeper文件夹 - 确认浏览器已登录抖音网页版
装好后重启浏览器即可,1–5 分钟内会在后台自动执行一次。
本版特性
- 默认发送内容为
续火花(可在设置页修改) - 全新界面与图标,支持深色模式自动适配
- 每天仅执行一次,同一天不会重复发送
- 四重防重复:每日闸门 → 头像身份校验 → 页面聊天记录判定 → 失败不重试
- 是否已发一律以页面实时状态为准,你自己手动发过的消息也能识别
- 未登录或遇到安全验证时零发送,自动切到前台并通知
- 支持白名单 / 黑名单、发送间隔、单次上限、选择器 JSON 覆盖
说明
- 火花规则由抖音制定,通常需要双方当日互发消息。本扩展只保证你这一侧发出。
- 默认发送间隔 2–5 秒已刻意放缓,不建议调快。
- 所有数据仅存于本地浏览器,无任何外部网络通信。
更新提示:覆盖原目录后,务必回到
edge://extensions/点击本扩展的重新加载,否则 Edge 仍运行旧代码。