# 🔥 Douyin SparkFlow 使用教程

这份教程按第一次部署后的操作顺序写。你需要先完成服务器或本地部署，然后访问 Web 面板。

## 1. 登录控制台

打开 Web 面板地址，例如：

- 服务器部署：`http://服务器IP:8787`
- 本地部署：`http://127.0.0.1:8787`

首次打开时创建管理员账号。后续登录时输入管理员用户名和密码。

![控制台登录](images/usage-login.png)

## 2. 查看控制台概览

登录后进入 **控制台概览**。这里用于快速确认启用账号、今日成功、失败待补发、待发送、未处理和服务状态。

右上角的小太阳和小月亮可以切换白天模式和黑夜模式，选择会保存在当前浏览器中。

![控制台概览](images/usage-overview.png)

## 3. 打开登录工作区

进入 **登录工作区**，在远端浏览器里完成抖音扫码、验证码或其他人工验证步骤。

noVNC 默认只监听服务器的 `127.0.0.1:8788`，管理后台会通过当前登录会话提供同源代理。电脑或手机直接点击 **打开登录工作区** 即可。

手机端还会显示单独的大图二维码，可直接扫码，或长按保存后从抖音扫码页面读取相册图片。

如果需要直接访问 noVNC，也可以建立 SSH 隧道：

```bash
ssh -L 8788:127.0.0.1:8788 <user>@<server-ip>
```

然后访问 `http://127.0.0.1:8788/vnc.html?autoconnect=1&resize=scale&view_only=0`。登录完成后点击 **保存当前账号**。

![登录工作区](images/usage-login-workspace.png)

## 4. 维护账号与目标好友

进入 **账号与目标** 查看已保存的账号。你可以启用或停用账号，修改显示名，维护目标好友。

如果账号已经保存，可以点击 **刷新好友列表**，再从好友选择器中选择目标好友。保存后，定时任务会按这些目标执行续火花。

![账号与目标](images/usage-accounts.png)

## 5. 设置运行参数和发送窗口

进入 **运行与系统** 调整消息模板、随机策略、消息间隔、代理维护和发送窗口。

发送窗口使用北京时间，例如：

```text
10:00-18:00/20m
```

这个例子表示每天 `10:00` 到 `18:00` 之间执行，调度间隔为 `20` 分钟。

![运行与系统](images/usage-settings.png)

## 6. 处理失败和查看日志

在概览页可以点击 **查看明细** 查看今日发送明细。遇到失败时，优先使用 **补发未成功目标**，它只会处理失败队列。

**补发全部对象** 会重新处理所有启用账号的所有目标，适合确认目标范围后手动执行。

需要排查问题时，进入 **运行日志** 查看最近任务输出。

## 7. 使用黑夜模式

黑夜模式适合夜间运维或长时间盯屏。点击右上角的小月亮即可切换。

![黑夜模式](images/usage-dark-mode.png)

## 常见问题

### 登录工作区打不开

先确认 SSH 隧道仍在运行，再检查 `login-desktop` 容器。默认不需要把 8788 暴露到公网。

```bash
docker compose ps
docker compose logs -f login-desktop
```

### 账号保存后没有好友列表

进入 **账号与目标**，点击 **刷新好友列表**。刷新需要当前账号的登录态有效，如果登录态过期，回到 **登录工作区** 重新登录并保存。

### 定时任务没有按预期发送

检查 **运行与系统** 里的发送窗口，再查看调度容器日志：

```bash
docker compose logs -f scheduler
```

如果只是少量目标失败，先使用 **补发未成功目标**，不要直接补发全部对象。
