今日总览(全部账号)
刷新
今天没有待续好友,勾选名单已全部续上。
实时执行
完成明细 →
任务已启动,等待浏览器输出…
快捷操作
漏人预警:{{ atRisk.length }} 位「已有火花」的好友当前未勾选,自动发送会漏掉它们 → {{ atRiskNames }}
登录凭证通过本机 extract_cookie.py 扫码获取,上传后服务即可自动执行续火花任务。首次使用前请完成凭证上传。
自动补录与保障
自动化内核
手动时间
这里与「设置 → 当天必达保障」是同一份配置,改哪边都生效;上方标签显示当前是由 自动化内核统一安排时间,还是按各账号手动设置的时间发送。
每日自动流程:首批续火花(默认 08:00,可在「定时设置」改时间)全量发送勾选名单 → 谁失败就按档位就近自动补录(最多
{{ settingsForm.auto_retry_max }} 轮,补成功即停)→ 保底补录(默认 23:00,只补“当天还没续成功”的人)
→ 超过 {{ settingsForm.retry_deadline }} 不再补录;00:00 后新的一天从勾选名单重新开始,天然闭环。
手动「立即续火花」强制真实全量发送,不受“同日已成功”跳过限制(自动轮次才自动跳过,避免重复打扰)。
注意:登录失效 / 触发风控时自动停止补录 —— 这是护号而非放弃,重新扫码后自动恢复。
上次执行
完整过程 →
续火花记录
点「查看过程」可回看每一步:给谁、走哪个通道(会话/首条)、用的哪句文案、成功还是失败、失败原因。 未标明细的旧记录是升级前的历史(仅结果汇总)。
该月份暂无运行记录(真实/模拟都不含时请切换月份或清空筛选)。
还没有运行记录:点「立即续火花」或等定时任务执行后,这里会按次展示每一步执行过程。
{{ fmt(runDlg.row.at) }} · {{ runDlg.row.dry_run ? '模拟运行(未真正发送)' : '真实发送' }} · 成功 {{ runDlg.row.ok_count }} · 失败 {{ runDlg.row.fail_count }} · 跳过 {{ runDlg.row.skip_count }} · 登录失效终止 · 私信功能受限(仍会自动补发) · 疑似限流(仍会自动补发) · 聊天页加载异常
数据总览
成功 / 失败趋势(折线)
发送量统计(条形)
明细表
还没有可用于统计的发送记录:点「立即续火花」或等定时任务执行后,这里会自动生成趋势图与每日/周/月统计。
统计洞察
刷新
逐日成功率(近 {{ insDays }} 天)
暂无真实运行记录。
失败原因 Top
暂无失败记录。
连续火花天数 Top
暂无火花数据,先「同步联系人」拉取火花天数。
好友台账
最近采集:{{ fmt(harvestLast.at) }} · {{ harvestLast.count }} 条映射 · join {{ harvestLast.merge.joined }} 人 / 新增 {{ harvestLast.merge.added }} 人 · 失败:{{ harvestLast.error }}
获取失败:{{ ledgerError }},可手动添加好友后保存勾选。
台账为空:点击「同步联系人」从抖音聊天列表拉取(含火花天数),或手动添加好友后保存勾选。勾选即续火花目标。
灰行 = consumer 私信无会话(自动识别,勾选默认跳过,不会被通道 A 发送);如需发送请开启「允许首条消息」走通道 B。
将打开创作者中心好友列表,滚动采集全部好友的抖音号(拦截 user_detail 接口,只读、不发送消息),约需 1~2 分钟。
采集频率建议:每周 1 次或手动触发,避免频繁操作触发风控。
消息模板
例:「{昵称},{星期}也要开心呀」发送时会自动替换成对方名字和当天星期,同一句每天也不重样
定时设置
自动化内核
注意:这是全局开关 —— 切换账号不会改变它,所有账号共用同一份安排。
一个硬约束:定时任务是在你设定的时刻被唤醒的,所以内核只会把发车点往后排开、 不会提前替你设的时间。排班结果随时可在「智能编排」页查看。
配置项
/api/config/meta)。拿不到它,下面的分组就无从渲染 ——
所以"看起来什么都没有"是加载失败,不是功能被删。
排查顺序:① 确认服务端代码已更新到最新包;② 执行
systemctl restart douyin-spark;
③ 点右上「重新读取」。
每次保存只提交改动的那一项(增量保存),不会动其它任何设置 —— 这也是"改一个开关、别处配置却没了"这个老问题的根治办法。
{{ g.label }}
{{ g.desc }}
登录会话
这里列出所有正在生效的登录 —— 每台设备登录一次就多一条。 在别人电脑上登过、或怀疑某个凭证泄露了,直接在这里注销: 被注销的浏览器需要重新登录,访问令牌不受影响。
登录用户
登录用户不再需要写进 .env(.env 只保留管理员访问令牌):
密码以哈希保存到 data/auth_users.json,在这里管理即可,改完立即生效。
未分配 = 不能管理任何账号;打开「与管理员齐平」则该用户可管理全部抖音账号
(但新建/删除账号、注销会话等系统设置仍只有管理员能做)。
每日汇总日报
查看通知纯文本原文
{{ digestPreview.text }}
智能编排
本页下方还有两块进阶功能,不看也不影响使用: 「多账号时间总览」= 把各账号的定时配置摊在一张表里看(并带一键错峰); 「一键优化参数」= 把发送节奏、补录档位等一次调到推荐值。 最下方是「高级设置」(兜底时段等)与「运行锁体检」。
每个账号今天的时间表
含这个账号当天要做的全部事情:续火花、登录态保活、顺带刷视频、采集。 「说明」列写的就是为什么排在这个点。
时间调整
{{ tpPlain.desc }}
每天的实际安排
手动改时间
直接改下面每个账号的「第一批 / 兜底补录」时间即可。出现红色提示说明配置有问题(例如兜底时间没有晚于第一批),照提示调一下就好。
账号撞车时怎么排队
打开「自动排队」后,到点那一刻,排在前面的账号先跑,后面的账号自动往后挪几分钟依次发车; 不会改动你设置的时间,关掉开关就立刻恢复原样。
想看看具体是怎么排的?(点开看明细)
{{ tpText }}
一键优化设置
目标只有一个:让每个账号在当天 24:00 前,把当天勾选的好友全部续上火花。
点下面的按钮,系统会先把所有账号扫一遍,算出「现状 → 建议」的完整清单。这一步只看不改,你看过之后再决定要不要保留。
会检查并优化
- 发车时间:第一批 / 兜底补录 / 之后不再补的时刻
- 自动补录与保障:单人即时重试、补录档位与轮数、最终兜底
- 发送节奏:好友间隔、随机抖动、随机发车窗口
- 登录态保活:是否保活、保活间隔
- 多账号排队:多个账号撞在同一时刻时自动依次发车
- 风控安全项:无会话好友首条消息、浏览器窗口
不会触碰
- 登录凭证与扫码登录(按你的要求不包含在内)
- 通知渠道的密钥(邮箱授权码 / 各推送 Key)
- 好友名单、分组、消息模板等内容数据
- 不会删除任何数据;改完不满意,随时可以手动改回来
上次优化的结果
每条都是「现在是什么 → 建议改成什么」,并说明为什么。点「保留优化设置」才会真正写进配置;点「放弃」则什么都不改。
账号数据云同步
上传前云端会把同名旧文件备份为 *.bak.时间戳;登录凭证上传成功后,云端该账号自动恢复"已就绪"并继续自动运行。凭证与台账属隐私数据,请使用可信地址(内网或已配 HTTPS 的域名),并建议先「探测云端」确认版本。
重要:若某个账号没有勾选「登录凭证」,或它在本机本来就没登录过,同步到云端后显示"未登录"是正常现象——请先在本机用该账号完成登录,勾选凭证后再重新上传。
要实现"连登录授权一起 1:1 搬过去",请同时勾选「登录凭证」与「浏览器档案(设备身份)」(会把 Cookie/设备指纹等一起同步,云端不再是"新设备",登录态不易被抖音作废)。
当前正在执行
刷新
清理异常任务
正在执行:发送续火花、同步联系人、采集抖音号、网页登录、待执行自动补发等都会显示在这里;点了「停止」后任务会在当前步骤结束并安全退出。 「清理异常任务」用来清掉那些已远超最长执行时间、不可能还在正常跑的登记 —— 线程卡死时它的收尾代码永远执行不到,条目会一直挂在列表里,点停止也没有对象可停。
登录凭证
登录态有效期几天到几周。过期后在此页点「打开抖音窗口登录」,会弹出抖音登录窗口(扫码 / 密码 / 短信验证码均可完成),无需其它操作。
「打开远程桌面」在新标签打开 noVNC,并自动带上缩放参数 ——
noVNC 默认按远端桌面分辨率 1:1 显示,窗口比它小时只能看到画面一角
(「网页只显示一半」就是这个原因)。
如果你的 noVNC 挂在别的路径,直接把地址里的 /vnc.html 换成实际路径即可,
关键是别丢掉 resize=scale 这个参数。
画面四周的黑色不是故障:那是「远端桌面」本身(1600×1000)比你的浏览器窗口
大出来的背景,缩放到适应窗口时必然留边。想让它完全铺满、一点黑边也没有,
把地址里的 resize=scale 换成 resize=remote ——
远端分辨率会直接跟着你的窗口走(需要 x11vnc 带 -randr 参数,
用 deploy/bt_remote_login.sh 重装或给服务加上即可)。
「体检登录状态」会短暂打开一次页面确认当前凭证是否仍有效(约半分钟,不会发消息);学生离家前点一下,显示有效即可放心离校。
{{ scanStatus.message }}
(回退模式:本机无法弹出窗口时使用)请用手机抖音 App 扫码登录;
如需密码 / 短信验证码等网页验证,请在有桌面的电脑上重新发起。
智能编排
「查看编排方案」只改几点发,不改发给谁、不改发什么,随时可以手动改回。 「一键优化参数」是把发送节奏、补录档位等一次调到推荐值(同样是先预览、再应用)。
每天自动接管
今天每个账号做什么
兜底时段(默认 {{ orchHealText }})用来排障与补发当天没续上的人,常规任务不排进来。 账号最小间隔决定两个账号的发车时间最多挨多近,默认 10 分钟。
下面是内核自动回收「卡住的运行锁」的记录 —— 有它就说明内核替你挡掉了一次可能持续整天的停摆。
下面每一项都是「现在几点 → 改成几点」,只动时间,不影响发给谁、发什么。
你什么都不用做。想看看每天的实际安排,关掉这个窗口即可。
运行日志
日志按类别打了标签:[发送] [保活] [刷视频]
[拟人化] [采集] [编排] ——
用下面的按钮点一下,就只看这一类(例如"今天刷了几条视频""拟人化到底有没有生效")。
这里只显示最近的日志;要查更早的某一天,用上面的「导出日志(ZIP)」。
导出包内含 manifest.json(环境 / 账号 / 时间范围)、
logs/日期.log(原始日志)、runs/日期.json(当天每一轮的结构化结果:谁成功、谁失败、原因)。
包内所有文本都会自动脱敏(Cookie / 会话票据 / 授权码一律打成 ***)。
{{ logsFiltered || logsEmptyHint }}
异常截图
只在"非拍不可"的节点自动截图:登录态失效、会话列表始终加载不出来、限流 / 私信受限、 某位好友当轮重试后仍失败、判定消息未送达、本轮全员失败、运行异常, 以及"没有服务端回执、仅凭输入框清空判定成功"这类可疑的成功。 同类型 + 同好友 20 秒内只留一张,单轮最多 15 张,不会把磁盘刷爆。