火花助手
正在加载界面…
首次打开需下载约 1.6MB 界面文件,网络较慢时请稍等

火花助手

粘贴访问令牌即可进入管理页面

{{ tokenChecking ? '正在验证…' : '进入' }}

{{ tokenError }}

本机首次使用可直接设置新令牌;服务器 / 局域网部署请输入 .env 文件里的现有令牌(AUTH_TOKEN=...)

{{ mobileTabTitle }}
🔄 正在同步火花:{{ syncAccName }}{{ shortPhaseText ? ' · ' + shortPhaseText : '' }}… 已进行 {{ syncElapsedText() }}

{{ currentAccount ? currentAccount.name : '火花助手' }}

{{ sessionText(currentAccount.session_status) }} 运行中…
当前账号 · {{ currentAccount.name }}

👋 欢迎回来{{ currentAccount ? ',' + currentAccount.name : '' }}

火花助手 · 多账号定时发送 · 登录态过期 / 限流自动提醒

全部账号
{{ a.name }} ⏳ 停用
会话状态{{ sessionText(a.session_status) }}
登录态{{ a.state_exists ? '✅ 已上传' : '❌ 未上传' }}
下次发送{{ fmt(a.next_run) || '未设置' }}
浏览器{{ browserName(a.browser) }}
上次运行{{ fmt(a.last_run_at) || '—' }}
倒计时{{ a.next_run ? countdown(a.next_run) : '—' }}
暂无账号,请到「账号管理」添加
📋 从聊天列表勾选 有未保存的更改
获取聊天列表
🔄 {{ fetchPhaseText }}
显示 {{ filteredContacts.length }} / {{ status.contacts.length }} 个
共 {{ status.contacts.length }} 个聊天对象 · 已选 {{ selectedContacts.length }} 位 全选 取消全选
✓ 👤 {{ c.name }} 🔥 {{ c.streak }}
没有匹配的联系人
👥 好友名单 {{ friendEnabledCount }}/{{ friendsList.length }} 启用
名单为空,从上方勾选加入,或用下方按钮手动添加
{{ f.name }} 🔥 {{ f.streak }}
↑ ↓ 🗑
🔄 同步火花 + 添加好友 ✓ 全部启用 ✗ 全部停用
💬 消息模板 {{ templateCount }} 条
还没有模板行——点下面「+ 添加一行」手写,或点上方贴纸/图片自动加一行,也可「📋 多行粘贴」。
{{ i + 1 }} 🗑
+ 添加一行 📋 多行粘贴 共 {{ tplRows.length }} 条
🎲 将随机发送:{{ randomPreview }}
保存后立即生效,定时发送会自动使用新名单 💾 保存好友与消息
🖼 上传图片发送 {{ emojis.length }} 张
⬆ 上传图片 🗂 批量管理 全选 传自己的照片 / 梗图,模板里写 【图:文件名】 以原生图片发出(png / jpg / gif,≤10MB)
批量模式:点缩略图勾选/取消(不会加入模板),选好后「删除所选」;点「✓ 完成」退出。
还没有图片,上传一张试试
✓ 🗑
{{ e.name }}
{{ fmtSize(e.size) }}
+ 点击加入模板
🎴 官方原生贴纸(推荐,点一下加入模板)
这些是抖音网页版自带的原生贴纸,发送时对方收到的是抖音原生大表情(不是图片)。「续火花」写成 【火花】,其余写成 【贴纸:名字】。
⏰ 定时发送设置
在设定时间后 0~N 分钟内随机开始(测试建议设 0) 至 0 表示不限制 本轮有失败时自动补发一次
📅 每天 {{ settingsForm.schedule_time || '未设置' }} 发送,实际在之后 0~{{ settingsForm.jitter_minutes }} 分钟内随机开始;每轮最多发送 {{ settingsForm.max_friends_per_run === 0 ? '不限' : settingsForm.max_friends_per_run + ' 位好友' }}
🌐 浏览器设置
不同账号选不同引擎可降低账号间关联
Chromium {{ engines && engines.chromium ? '已安装' : '未安装' }} Firefox {{ engines && engines.firefox ? '已安装' : '未安装' }} WebKit {{ engines && engines.webkit ? '已安装' : '未安装' }}
未安装的引擎请运行:python -m playwright install firefox webkit(首次需下载,约几分钟)
{{ platform === 'win32' ? '关闭后弹出浏览器窗口便于观察;服务器请保持开启' : '服务器没有桌面:必须保持开启(已锁定)' }}
保存后定时任务立即按新配置生效 💾 保存设置
📜 历史记录
{{ monthStat.rate }}%
{{ monthStat.label }}
{{ monthStat.days }}
发送天数
{{ monthStat.ok }}
成功人次
{{ monthStat.failed }}
失败人次
共 {{ filteredHistory.length }} 条
📄 日志
刷新日志 📋 复制日志 自动刷新

          
🗂 账号管理
+ 添加账号 ⚡ 全部账号立即发送 🧪 全部干跑测试 ⬇️ 备份全部数据 每个账号有独立的登录态、好友名单、定时与日志;多账号串行执行
📖 使用说明(点标题展开)

下面按主题分块,点一下就展开。看哪块点哪块,不用从头读。

🔔 通知配置(怎么把结果推送到手机)
界面位置:左下角工具栏 → 🔔 通知(三家渠道可同时开启,一家失败不影响其它家)
📡 ntfy:官网 ntfy.sh,不用注册 —— 自己取一个话题名,把地址填成 https://ntfy.sh/你的话题名 即可。⚠️ 国内直连不稳定,可能需要外网。
💬 Server酱:官网 sct.ftqq.com → 微信扫码登录 → 复制页面上的 SendKey → 回来粘贴。⚠️ 还要在微信里关注「方糖」服务号,否则接口成功也收不到;免费版有每日条数上限。
📮 PushPlus:官网 pushplus.plus → 微信扫码登录 → 复制 token → 回来粘贴。⚠️ 必须关注「PushPlus 推送加」公众号;部分功能需实名/付费。
推荐做法:先点那一行右边的 🧪 测试这个渠道 ✓ 手机收到了再点 保存 ✓ 没收到它会直接告诉你原因(密钥错 / 没关注公众号 / 网络不通)
收到"接口成功"但手机没消息 → 99% 是没关注对应的公众号/服务号。
📱 抖音登录(两种方式)
方式一 · 网页内扫码(推荐):选好账号 → 点 📱 网页内扫码登录 → 用手机抖音扫屏幕上的码 → 登录后会自动保存登录态 ✓
⚠️ 不能用"正在登录这个账号的手机"去扫自己的屏幕,要用另一台手机或退出后重扫。
方式二 · 上传 state.json:先用 python extract_cookie.py 在你电脑上扫码导出 → 点 选择 state.json → 上传登录态 ✓
登录态会过期(一般几周到几个月)。过期时账号卡片会出现提示,重新扫码即可 ✓ 定时发送遇到过期会在通知里告诉你。
🗂 给朋友开一个独立空间(工作区)
1️⃣ 左下角 🗂 工作区 → 输入名字 → 新建工作区 ✓
2️⃣ 它会生成一个一次性令牌 ✓ 复制 ✓ 私发给朋友(别发群里 ✗)✓
3️⃣ 朋友打开同一个网址 → 粘令牌 → 进入 ✓ 他看到的只有自己那一套(账号 / 好友 / 模板 / 定时 / 历史 / 通知)✓ 看不到你的任何数据 ✓
4️⃣ 想查看全部令牌:工作区弹窗里点 👁 显示全部令牌 ✓(他换了令牌你也能看到最新的 ✓)
删除工作区 = 改名归档,可在服务器上找回;朋友的登录态和好友不会丢 ✓
⏰ 定时发送与错峰
设置:「定时与浏览器」→ 设好每天发送时间 → 打开 参与每日定时发送 → 保存设置 ✓
抖动:实际发送时间 = 设定时间 + 0~30 分钟随机(避免所有账号同一秒动作,降低风控风险 ✓)
错峰:多个账号的发送时间请至少相差 40 分钟(因为抖动最多 30 分钟)。相差不到 30 分钟时保存会弹提示 ✓ 手动点发送若撞上正在跑的任务会排队等待,不会失败 ✓
失败重试:本轮有好友失败会自动补发(默认 45 分钟后,可在设置里改);重试仍失败才推送通知 ✓
❓ 常见问题
Q:手机看不到新样式? → 下拉刷新几次,或浏览器「清除缓存」后重进 ✓
Q:一直显示"运行中…"? → 多半是上次被重启打断留下的假状态;重启服务即可清除(新版已支持启动自动清理 ✓)
Q:一直提示"已有任务在运行"? → 说明确实有任务在跑(同一空间内串行);等它结束,或重启服务 ✓
Q:登录态过期 / 发不出去? → 看「历史记录」里那一行的失败原因(已翻译成人话)→ 重新扫码登录 ✓
Q:忘了令牌? → 用主令牌登录 → 🗂 工作区 → 👁 显示全部令牌 ✓;或者 🚪 退出登录 后重新输入 ✓
🛠 运维与排查(给稍微懂一点的人)
服务状态:systemctl status douyin-spark --no-pager | head -5
看日志:journalctl -u douyin-spark -n 50 --no-pager
重启:systemctl restart douyin-spark(重启会清掉卡住的"运行中"假状态 ✓)
备份数据:cd /root/douyin-spark && tar -czf /root/dsp-backup-$(date +%F).tar.gz data/
数据都在 /root/douyin-spark/data/:accounts/ 是主空间,ws/ 是各个朋友空间,tokens.json 是令牌表 ✓

📖 使用说明

没看过 README 也没关系,这里 3 分钟带你上手:添加账号 → 关联抖音 → 加好友 → 设定时,之后每天自动帮你续火花。

🚀 快速上手(3 步)
1添加账号

「账号管理」→「+ 添加账号」,给账号起个名字(如大号 / 小号),支持多账号同时管理。

2关联抖音

「概览」→「📱 网页内扫码登录」,用手机抖音 App 右上角扫一扫确认登录。也可以用 extract_cookie.py 导出登录态后上传。

3加好友 + 设定时

「好友与消息」:获取聊天列表 → 勾选好友加入名单 → 填好消息模板 → 保存。「定时与浏览器」:设好每天发送时间,开启「参与每日定时发送」。火花天数会自动更新,也可点「🔄 同步火花」手动刷新。

🗺 各页面说明

📊 概览

  • 当前账号状态 + 下次发送倒计时
  • 🚀 立即发送 / 干跑测试(不真发)
  • 📱 网页内扫码登录、上传登录态
▾ 查看完整说明

👥 好友与消息

  • 获取聊天列表 → 勾选好友 → 保存
  • 消息模板:逐行编辑器,点图标加表情
  • 支持【火花】【贴纸:名】【图:文件名】
▾ 查看完整说明

⏰ 定时与浏览器

  • 每天发送时间 + 抖动窗口
  • 开启「参与每日定时发送」才生效
  • 开机自启动(本机开关 / 服务器用 systemd)
▾ 查看完整说明

📜 历史记录

  • 每次运行的成功 / 失败名单
  • 实际发送延迟与异常标记
  • 可按类型筛选
▾ 查看完整说明

📄 日志

  • 账号日志 / 全局日志切换、自动刷新
  • 超行长日志自动收起,可展开
  • 📋 一键复制完整日志
▾ 查看完整说明

🗂 账号管理

  • 添加 / 重命名 / 删除 / 排序账号
  • ⚡ 全部账号立即发送
  • ⬇️ 备份全部数据 / ♻️ 恢复
▾ 查看完整说明
🔧 侧边栏底部工具

🔄 刷新

  • 手动刷新全部数据(账号列表、状态、日志、浏览器检测)
  • 页面每 20 秒会自动轮询一次,这里用于立即刷新

🔔 通知

  • 程序在电脑右下角弹系统通知气泡
  • 发送完成、登录态过期、疑似限流时提醒你
  • 可「🧪 发送测试通知」验证系统通知是否正常弹出
🔔 通知配置流程 · 点击打开

🔑 令牌

  • 访问本网页的钥匙:浏览器打开时需输入令牌
  • 首次启动自动生成并保存在 .env 文件,可在这里修改
  • 修改后立即生效,请牢记新令牌并妥善保管,勿外泄
🖥 服务器部署与管理

🚀 一键部署

  • 把整个项目文件夹上传到 Debian / Ubuntu 服务器
  • 执行 sudo bash deploy/deploy.sh,自动完成:装 Python 依赖、Playwright、Chromium、swap、时区、访问令牌、systemd 服务
  • 完成后访问 http://服务器IP:8000,令牌保存在 .env 文件
📖 部署教程 · 点击打开(从注册开始)

🛠 systemd 管理

  • 开机自启 + 崩溃 5 秒自动重启(脚本已配好)
  • 常用命令:
systemctl status douyin-spark # 看状态 systemctl restart douyin-spark # 重启 journalctl -u douyin-spark -f # 实时日志
  • 改 .env(端口 / 令牌)后重启生效

🔐 HTTPS 与安全

  • 公网部署建议 nginx + certbot 配 HTTPS(配置示例见 DEPLOY_SERVER.md 第五章)
  • 访问令牌是唯一钥匙,不要外泄
  • 服务器无桌面:扫码登录只能用「网页内二维码」,提醒用 webhook 推手机(见上方「🔔 通知」)
  • 数据迁移:用「⬇️ 备份 / ♻️ 恢复备份」在服务器与电脑之间搬运账号
❓ 常见问题

概览会显示红色提示。点「📱 网页内扫码登录」重新扫码关联;或在本机命令行运行 python extract_cookie.py 重新导出后,在概览「选择 state.json」上传。

工具已自动停止本轮,稍后会自动补发。建议把时间抖动调大一点、每次发送人数调低,别发太频繁;若频繁限流请暂停使用一段时间。

浏览器引擎没安装。在任意命令行窗口运行 python -m playwright install firefox webkit(首次需下载,约几分钟),装完在扫码对话框点「🔄 重新检测浏览器」。

先检查 Windows「设置 → 系统 → 通知」总开关是否打开、「专注助手(勿扰)」是否开启。然后在「🔔 通知」设置里点「🧪 发送测试通知」验证。

依次检查:账号是否「启用」、好友名单里是否有「启用」状态的好友、登录态是否有效(概览会话状态)、时间是否设对。还不行就看「日志」页排查。

抖音头像链接带时效,过期后显示 👤 占位。重新点「获取聊天列表」或「🔄 同步火花」即可刷新头像与火花天数。

「获取聊天列表」用于重新抓取列表、勾选加好友;「🔄 同步火花」用于更新已有好友名单的火花天数与头像。其实每次手动 / 定时发送后,程序也会自动顺手刷新一次天数。

旧机器「账号管理」点「⬇️ 备份全部数据」下载 zip;新机器装好后点「♻️ 恢复备份」选择该 zip,即可一键还原所有账号的登录态、好友名单、配置与历史。

锁屏:程序照常运行,定时发送不受影响。休眠 / 睡眠:系统暂停,程序不会运行,当天错过的那次不会自动补发。
想要 24 小时稳定:在 Windows「电源和电池 → 屏幕和睡眠」里把睡眠改为「从不」(插电时也设一遍),只让屏幕关闭即可。

开机自启动登记的是当时的绝对路径。文件夹移动或改名后,去「⏰ 定时与浏览器」把「开机自启动」开关关闭再打开一次即可重新绑定新路径;之后重启电脑验证一次。另外文件夹改名后建议顺手重启一次程序(start.bat),让数据目录也切到新路径。

官方原生表情(22 个)在「好友与消息 → 🎴 官方原生贴纸」点一下即加入模板,写法是【火花】(续火花)或【贴纸:名字】(如【贴纸:比心】)。自己的图片先「⬆ 上传图片」,然后点缩略图把【图:文件名】加入模板;一条模板里可混合文字、贴纸、图片,发送时按顺序分别送出。

⚠️ 安全与使用提醒
① 访问令牌(🔑 令牌)请勿外泄,浏览器地址栏或局域网访问时别人知道令牌就能控制本程序。
② 登录态文件(state.json)等同于你的登录凭据,备份 zip 请妥善保管,不要发给他人。
③ 本工具仅供个人自用,请合理控制发送频率,遵守平台规则;使用产生的一切风险由使用者自行承担。
登录方式: 弹出浏览器窗口(推荐) 网页内二维码 网页内二维码(服务器没有桌面,只能用这个)
用哪个浏览器登录: 🔄 重新检测浏览器 自动检测本机安装的浏览器,装好了新的点这里刷新
提示:Firefox/WebKit 引擎未安装(选它们会报错)。安装方法:任意命令行窗口运行 python -m playwright install firefox webkit
夸克/360/QQ 等未自动检测到的浏览器,可在此手动填路径
{{ qrWaitText }}
已等待 {{ qrWaitSec }} 秒{{ qrWaitSec >= 30 ? ',服务器首次启动浏览器较慢,请再稍等' : '' }}
正在服务器上启动 Chromium 并打开抖音,通常 10~40 秒;超过 1 分钟可点下方「重新开始(换浏览器/重试)」

{{ qrMsg }}

{{ qrNote }}

已弹出真实浏览器窗口:请直接在该窗口里用手机抖音 App 扫码(如果窗口里没自动出现二维码,手动点页面右上角「登录」)。下方为实时画面预览,登录完成前不要关闭那个窗口。

用手机抖音 App 右上角「扫一扫」扫码,确认登录后自动关联到当前账号

📲 短信验证步骤:① 点画面里的「获取/发送验证码」→ ② 在下方输入框输码,点「输入」(或直接按回车)→ ③ 点画面里的「确定」

🖐 滑块验证步骤:点下方「🖐 模拟拖动」→ 先点画面里的滑块手柄 → 再点缺口位置

🔐 验证中:在下方输入框填内容,或直接点画面操作 重新发送验证码 🪟 改弹窗模式
{{ manualMode ? '✅ 手动操作中(全屏画面)' : '🖱 手动操作(点画面里的按钮)' }} {{ dragState === 'pick-handle' ? '点滑块手柄…' : dragState === 'pick-gap' ? '点缺口位置…' : '🖐 模拟拖动(滑块)' }} 📋 复制诊断信息 💾 保存截图

输入新的访问令牌(至少 8 位),保存后立即生效。

每个工作区是一套完全独立的数据:抖音账号、好友名单、消息模板、定时、历史、日志、通知配置。 把某个工作区的令牌发给朋友,他只能看到自己那套,看不到你的任何数据。

➕ 新建工作区 👁 显示全部令牌
📋 复制令牌 对方在登录页粘贴这把令牌,之后只能看到自己的工作区
{{ wsAllTokens }}
📋 复制全部令牌
下面三家可以同时开启(一家失败不影响其它家),各自独立开关与密钥。服务器没有桌面,请至少开启一个推送渠道。 📡 ntfy(免费 · 免注册) 🧪 测试这个渠道 官网 ntfy.sh → 不用注册,自己想一个话题名填在地址末尾即可(例如 https://ntfy.sh/huohua-abc123)。
⚠️ 国内直连不稳定、可能需要外网。详见【使用说明 → 通知配置 → ntfy】
💬 Server酱 🧪 测试这个渠道 官网 sct.ftqq.com → 微信扫码登录 → 复制页面上的 SendKey 粘贴到这里。
⚠️ 还要在微信里关注「方糖」服务号,否则接口成功也收不到消息;免费版有每日条数上限。详见【使用说明 → 通知配置 → Server酱】
📮 PushPlus 🧪 测试这个渠道 官网 pushplus.plus → 微信扫码登录 → 复制 token 粘贴到这里。
⚠️ 必须关注「PushPlus 推送加」公众号,否则收不到;部分功能需实名/付费。详见【使用说明 → 通知配置 → PushPlus】
保存 🧪 全部测试

面向从没碰过服务器的新手,从注册账号到网页打开全程手把手。以阿里云轻量应用服务器为例(腾讯云轻量流程几乎一样,差异有备注)。全程约 30~60 分钟,大部分时间是等服务器装环境。完整版文档见项目里《部署教程-阿里云从零开始.md》。

准备工作

需要:手机(收验证码/实名认证/收通知)、身份证、支付宝或微信、一台 Windows 电脑。花费:轻量服务器新用户活动价通常几十到一百多元一年(以购买页为准),之后运行基本不花钱。

第 1 步 · 注册阿里云并实名

打开 www.aliyun.com → 右上角「免费注册」→ 手机号 + 验证码 → 按提示完成实名认证(身份证 + 支付宝扫脸,几分钟通过)。不实名买不了服务器。

第 2 步 · 购买轻量应用服务器

搜索「轻量应用服务器」→ 立即购买,按下面选:
① 地域:选离你近的(广州 / 上海 / 深圳等)
② 镜像:系统镜像 → Ubuntu 22.04(重要:别选 Windows,程序是 Linux 的)
③ 套餐:2 核 2G 起步够用;时长 1 年(活动价最划算)
确认订单 → 支付。腾讯云轻量在 cloud.tencent.com/product/lighthouse,流程一样。

第 3 步 · 拿到 IP 和密码

进入控制台 → 轻量应用服务器 → 等实例「运行中」,记下公网 IP;在实例详情点「重置密码」自己设一个(务必记住),按提示重启实例。

第 4 步 · 开放防火墙 8000 端口(关键!)

新服务器默认只开 SSH(22)。到实例「防火墙」页签 →「添加规则」:协议 TCP、端口 8000、来源 0.0.0.0/0 → 保存。不开放 8000,网页永远打不开。

第 5 步 · 连接服务器(Windows)

方式 A(最简单,无需装软件):按 Win + R 输入 powershell 回车,然后:

ssh root@你的公网IP

首次连接输入 yes → 输密码(输入时屏幕不显示任何字符,正常)。看到 root@xxx:~# 即连上。
方式 B:下载 FinalShell / Xshell 图形化连接(主机填 IP、用户名 root、密码)。
连不上?查密码 / 是否重启实例 / 22 端口防火墙。

第 6 步 · 上传程序到服务器

下载 WinSCP(winscp.net,选简体中文)→ 登录(主机=IP,用户名=root,密码)→ 右侧进 /root → 把整个「服务器版」文件夹拖到右侧。建议先删掉本地的 .env(服务器会自动生成新令牌,更安全)。

第 7 步 · 一键部署(耐心等)

回到 SSH 终端:

cd /root/服务器版 sudo bash deploy/deploy.sh

脚本自动完成:装 Python 依赖 → 下载 Chromium(几百 MB,最慢 5~15 分钟,耐心等) → 1G 内存自动建 2G swap → 设时区 → 生成访问令牌 → 注册 systemd 服务。
看到「部署完成!」和「访问令牌: xxx」就是成功,把令牌记下来(之后可 cat /root/服务器版/.env 查看)。

第 8 步 · 打开网页开始用

自己电脑浏览器打开 http://你的IP:8000 → 输访问令牌 →「账号管理」添加账号 →「概览」→「📱 网页内扫码登录」→ 选引擎 →「开始扫码登录」(用网页内二维码模式,服务器无桌面弹不了窗)→ 手机抖音扫码确认 → 配好友名单和消息模板 → 定时与浏览器设好时间并开启「参与每日定时发送」→ 先「干跑测试」再「立即发送」。

第 9 步 · 配手机通知(强烈建议)

服务器没有桌面,通知弹不出来。「🔔 通知」→ 开启「📱 webhook 推送」→ 服务选 ntfy → 地址填 https://ntfy.sh/随便起个话题名 → 手机装 ntfy App 订阅同话题 → 点「🧪 发送测试通知」验证。

第 10 步 ·(可选)HTTPS 加密

nginx 反代 + certbot 免费证书,配置示例见 DEPLOY_SERVER.md 第五章。公网部署建议尽快配上。

🗓 日常管理速查
systemctl status douyin-spark # 看状态 systemctl restart douyin-spark # 重启 journalctl -u douyin-spark -f # 实时日志(Ctrl+C 退出) systemctl stop douyin-spark # 停止

改 .env(端口/令牌)后执行 sudo systemctl restart douyin-spark;数据备份用网页「账号管理 → ⬇️ 备份全部数据」。

🚨 常见卡壳点

· 网页打不开 → 防火墙 8000 端口没加 / systemctl status 不是 active
· SSH 连不上 → 密码错 / 没重启实例 / 22 端口被挡
· 部署报错 → 多为网络问题,重跑 deploy.sh(可重复执行)
· 扫码失败 → 确认用「网页内二维码」模式,journalctl -f 看日志
· 公网怕被扫 → 尽快配 HTTPS,令牌勿外泄,不用时可关掉 8000 防火墙规则

🧭 备用平台

腾讯云轻量(流程几乎一样,默认用户是 ubuntu,连上先 sudo -i)· Oracle Cloud 免费层(永久免费,需绑卡)· Vultr / DigitalOcean(海外按小时计费,国内访问慢)。

程序会在发送完成、登录态过期、疑似限流时提醒你。两种方式可同时开启:Windows 桌面气泡(个人电脑)和 webhook 推送到手机(服务器 / 出门在外)。

方式一 · Windows 桌面通知(个人电脑)

① 先确认系统开关:设置 → 系统 → 通知 → 打开「获取来自应用和其他发送者的通知」;「专注助手(勿扰)」要关闭
② 网页侧边栏点「🔔 通知」→ 保持「桌面通知」开启 → 点「保存」
③ 点「🧪 发送测试通知」,右下角弹出系统气泡即成功。

方式二 · webhook 推送到手机(服务器 / 出门在外)

三种免费服务任选其一,流程都是:网页「🔔 通知」→ 开启「📱 webhook 推送」→ 选服务 → 填地址/Key → 保存 → 测试。下面分别讲。

① ntfy(最简单,免注册)

1. 手机安装「ntfy」App(或手机浏览器打开 ntfy.sh)
2. 自己定一个话题名,越独特越好(如 douyin-spark-abc123),避免别人碰巧看到你的消息
3. 网页通知设置:服务选 ntfy,地址填 https://ntfy.sh/你的话题名
4. 手机 App 点「+」订阅同一个话题名(大小写要完全一致)
5. 点「🧪 发送测试通知」,手机收到即成功

② Server酱(推送到微信)

1. 浏览器打开 sct.ftqq.com,用 GitHub 账号登录
2. 页面上点「SendKey」→ 复制(形如 sctp1234...)
3. 网页通知设置:服务选 Server酱,「地址 / Key」填 SendKey
4. 保存 → 点「🧪 发送测试通知」,微信服务号收到即成功
说明:Server酱的推送走微信「服务号」,需要你的微信能收到服务号消息。

③ PushPlus(推送到微信)

1. 浏览器打开 pushplus.plus,用微信扫码登录
2. 登录后首页复制你的 token
3. 微信里搜「PushPlus 推送加」并关注(不关注就收不到!)
4. 网页通知设置:服务选 PushPlus,「地址 / Key」填 token
4. 保存 → 点「🧪 发送测试通知」,微信「PushPlus」服务号收到即成功

🧪 测试与验证

每次改完配置,务必点「🧪 发送测试通知」。弹窗里会逐渠道显示结果:✓ 表示成功,✗(原因) 表示失败及原因。保存后不测试、直接等提醒,容易白等。

🚨 收不到提醒怎么办

· 桌面气泡:查系统通知总开关、专注助手是否开着
· ntfy:话题名前后是否完全一致(含大小写)、App 是否已订阅、服务器能否访问外网
· Server酱 / PushPlus:SendKey / token 是否复制完整、有没有少字符
· 测试结果会直接显示失败原因,照着改即可

已选 {{ sendOneNames.length }} / 共 {{ enabledFriends.length }} 位
{{ f.name }}
正在体检…(服务 / 浏览器 / 磁盘 / 内存 / 通知 / 各账号)