4.5 KiB
4.5 KiB
EveryPublish
EveryPublish 是一个多平台内容自动发布系统,帮助内容创作者和运营者将视频/图文一键发布到多个国内外主流社交媒体平台。它由一个 Flask 后端(平台自动化)和一个 React + TDesign 管理端(Web 控制台)组成,支持扫码登录、素材管理、异步发布任务与实时进度监控,并通过 Open API 向外部内容创作系统开放接入能力。
功能特性
- 11 个平台接入:抖音、快手、小红书、视频号、B站、百家号、支付宝生活号、微博、虎扑、YouTube、TikTok
- 视频 + 图文发布:小红书/抖音/快手/视频号支持图文,其余平台支持视频
- 扫码登录 + Cookie 管理:扫码登录、Cookie 导入导出、健康校验
- 异步发布任务:发布立即返回任务 ID,后台执行,前端实时显示步骤/百分比/日志
- 发布日志:历史任务记录与详细日志追踪
- Open API 开放体系:API Key 鉴权 + 素材/发布/账号/平台查询等开放接口 + 内置 API 文档页
- 全局配置:登录方式(扫码/浏览器)、发布静默模式(headless 无感运行)
- 账号批量操作:单账号/批量 Cookie 校验、批量删除
技术架构
浏览器 React 18 + TDesign + Redux Toolkit + Vite
│ REST / SSE / API
▼
Flask 后端 :5409
├─ SQLite(账号/素材/设置/API Key)
├─ 平台 uploader(Playwright / Patchright 浏览器自动化)
└─ 异步任务队列(发布 / 校验)
支持平台
| 平台 | 视频 | 图文 | 定时 | 登录方式 |
|---|---|---|---|---|
| 抖音 | ✅ | ✅ | ✅ | 扫码 |
| 快手 | ✅ | ✅ | ✅ | 扫码 |
| 小红书 | ✅ | ✅ | ✅ | 扫码 |
| 视频号 | ✅ | ✅ | ✅ | 扫码 |
| B站 | ✅ | — | ✅ | 扫码(biliup) |
| 百家号 | ✅ | — | — | 扫码 |
| 支付宝生活号 | ✅ | — | — | 扫码 |
| 微博 | ✅ | — | — | 扫码 |
| 虎扑 | ✅ | — | — | QQ 扫码 |
| YouTube | ✅ | — | — | 浏览器交互 |
| TikTok | ✅ | — | ✅ | 浏览器交互 |
快速开始
后端(Flask,端口 5409)
# 建议 Python 3.12
uv venv --python 3.12 .venv && source .venv/bin/activate
uv pip install -e ".[web]"
pip install playwright==1.52.0 xhs pillow
playwright install chromium
cp conf.example.py conf.py # 配置本地 Chrome 路径
python sau_backend.py
前端(React,端口 5174)
cd sau_web_react
npm install
npm run dev
打开 http://127.0.0.1:5174/ ,开发环境通过 Vite 代理将 /api 转发到后端 5409。
页面与功能
| 页面 | 路由 | 功能 |
|---|---|---|
| 首页 | /dashboard | 账号/平台/素材统计、快捷操作 |
| 账号管理 | /account | 扫码登录、Cookie 导入导出、单/批量校验与删除 |
| 素材管理 | /material | 素材上传、缩略图预览、下载、删除 |
| 发布中心 | /publish | 按素材类型选渠道、多账号发布、进度监控 |
| 发布日志 | /publish-logs | 历史任务与日志 |
| API 文档 | /api-docs | Open API 说明、curl 示例、点击测试 |
| 系统设置 | /settings | 登录方式、发布静默开关 |
| 关于 | /about | 系统信息与平台能力矩阵 |
Open API
对外开放的接口统一以 /open/v1 为前缀,通过 X-API-Key 或 Authorization: Bearer 鉴权:
GET /open/v1/platforms— 平台能力GET /open/v1/accounts— 账号列表GET/POST/DELETE /open/v1/materials— 素材管理POST /open/v1/publish— 提交发布任务GET /open/v1/publish/{taskId}— 查询任务状态
API Key 在系统设置/API 文档页生成与管理,详见内置「API 文档」页面。
目录结构
├── sau_backend.py # Flask 后端主入口
├── myUtils/ # 账号登录/发布封装
├── uploader/ # 各平台自动化(Playwright/Patchright)
├── utils/ # 配置/日志/二维码等工具
├── sau_web_react/ # React + TDesign 管理端
└── db/ # SQLite 数据库
参考项目
本项目基于 dreammis/social-auto-upload(MIT License)的 uploader 与 CLI 能力进行接入与封装,保留其 MIT 版权说明。依赖的第三方组件(biliup、Playwright、Patchright 等)受各自许可证约束。
许可证
本项目采用 MIT License。除第三方组件外,代码可在遵守许可证条款的前提下用于商业软件。