项目简介 #
DouyinFire Web 控制台是一个独立的抖音私信批量发送面板,基于 FastAPI + 前端静态页。支持联系人管理、模板/昵称图上传、随机内容源配置、Webhook 通知、任务日志查看,适合部署在 VPS 或本机内网使用。
核心功能 #
- 联系人管理:昵称、默认消息、别名,上传模板图/昵称 OCR 图。
- 内容源:一言、段子、冷笑话、60 秒、历史上的今天、摸鱼日报,可自定义模板并随机组合。
- 发送控制:全量/所选/单个发送,支持多进程 worker,Webhook 通知结果,实时查看日志。
- 上传与持久化:模板图/昵称图上传到本地
templates/,配置落盘到settings.json/targets.json。
快速开始(本地一键) #
# Windows
run.bat
# Linux/macOS
./run.sh脚本会自动:创建 venv → 安装依赖和 Playwright Chromium → 若缺少 state.json 自动打开登录 → 启动服务(默认 8000,可用 PORT 改端口)。然后访问 http://<服务器IP>:8000。
手动步骤(可选) #
./setup.sh # Windows: setup.bat
python login.py # 扫码生成 state.json
./serve.sh # Windows: serve.bat(可先设 PORT)Docker 部署 #
cp .env.example .env # 填好需要的变量
docker compose up -d # 构建并启动数据通过挂载保留:
templates/settings.jsontargets.jsonstate.jsonms-playwright/(缓存 Chromium,加快重建)
配置与文件 #
settings.json:随机源、模板、Webhook、worker 数。targets.json:联系人(昵称/别名/模板图/昵称图)。templates/:上传的匹配图片。state.json:抖音登录态,运行python login.py扫码生成。
环境变量(支持 .env) #
WECHAT_WEBHOOK_URL:企业微信通知。SEND_SCRIPT:发送脚本路径,默认./send.py。PYTHON_BIN:运行发送脚本的 Python。PLAYWRIGHT_BROWSERS_PATH:浏览器缓存路径,Docker 默认/ms-playwright。WORK_DIR:发送进程工作目录。TESSERACT_CMD/TESSDATA_PREFIX:若启用昵称 OCR。
使用小提示 #
- 首次必须扫码生成
state.json,登录态过期后重跑python login.py。 - 外网部署前请加鉴权/HTTPS,避免被滥用。
- 需要多进程并发时,在页面“运行控制/终端”设置 worker 数。
目录结构(精简版) #
- 后端:
app.py(FastAPI)、send.py(发送器)、login.py、config_store.py、content_sources.py、targets_store.py - 前端:
static/(index.html、app.js、styles.css) - 运维脚本:
run.*、setup.*、serve.*、Dockerfile、docker-compose.yml、.env.example - 数据:
settings.json、targets.json、templates/、state.json(运行时生成)