135 lines
3.9 KiB
Plaintext
135 lines
3.9 KiB
Plaintext
# =============================================================================
|
||
# 抖音多账号自动回复系统 - 完整 Python 依赖
|
||
# 安装: pip install -r requirements.txt
|
||
# 环境: Python 3.10 ~ 3.11
|
||
# =============================================================================
|
||
#
|
||
# 【推荐】一键安装与 Web 部署:
|
||
#
|
||
# Linux/宝塔(自动探测 Python,兼容 pyporject_evn / 系统 Python):
|
||
# chmod +x install.sh start_web.sh
|
||
# ./install.sh --diagnose # 查看本机哪些 Python 可用
|
||
# ./install.sh # 自动选择可用 Python 安装
|
||
# AUTO_BUILD_PYTHON=1 ./install.sh # 无可用 Python 时自动编译 3.11
|
||
# ./start_web.sh
|
||
#
|
||
# Windows:
|
||
# install.bat # 安装 + 构建前端
|
||
# start_web.bat # 单端口 Web 访问
|
||
#
|
||
# pip 安装完成后,还需在服务器执行(install.sh 已包含):
|
||
#
|
||
# 1) Playwright 浏览器(扫码登录需要)
|
||
# python -m playwright install chromium
|
||
# python -m playwright install-deps # 仅 Linux
|
||
#
|
||
# 2) IM 签名 Node 依赖(发送私信 a_bogus 必需,需系统已装 Node.js 18+)
|
||
# cd rpa_engine/douyin_im/static && npm install
|
||
#
|
||
# 3) 前端构建(生产 Web 访问)
|
||
# cd ../../frontend && npm install && npm run build
|
||
#
|
||
# 4) 环境变量(生产务必设置,见项目根 .env.example)
|
||
# KEFU_SECRET_KEY=随机长字符串
|
||
# KEFU_ADMIN_PASSWORD=强密码
|
||
# PLAYWRIGHT_BROWSERS_PATH=/path/to/playwright-browsers
|
||
#
|
||
# 宝塔 Python 项目管理器启动命令:
|
||
# /www/wwwroot/douyin/backend/.venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000
|
||
# 工作目录: /www/wwwroot/douyin/backend
|
||
# 运行用户: www(与 chown -R www:www 一致)
|
||
# =============================================================================
|
||
|
||
# --- Web 框架 / ASGI ---
|
||
fastapi==0.111.0
|
||
starlette==0.37.2
|
||
uvicorn==0.30.1
|
||
httptools==0.8.0
|
||
watchfiles==1.2.0
|
||
websockets==12.0
|
||
python-multipart==0.0.9
|
||
|
||
# --- 数据校验 / 配置 ---
|
||
pydantic==2.7.4
|
||
pydantic_core==2.18.4
|
||
annotated-types==0.7.0
|
||
typing_extensions==4.15.0
|
||
email-validator==2.3.0
|
||
dnspython==2.8.0
|
||
python-dotenv==1.2.2
|
||
|
||
# --- 数据库 ---
|
||
SQLAlchemy==2.0.30
|
||
aiosqlite==0.20.0
|
||
# MySQL / PostgreSQL 可选驱动(使用对应数据库类型时需安装)
|
||
asyncmy==0.2.9
|
||
asyncpg==0.29.0
|
||
greenlet==3.0.3
|
||
|
||
# --- HTTP 客户端 ---
|
||
httpx==0.27.0
|
||
httpcore==1.0.9
|
||
h11==0.16.0
|
||
requests==2.34.2
|
||
urllib3==2.7.0
|
||
certifi==2026.5.20
|
||
charset-normalizer==3.4.7
|
||
idna==3.18
|
||
sniffio==1.3.1
|
||
anyio==4.13.0
|
||
|
||
# --- 鉴权 / 密码 ---
|
||
python-jose==3.3.0
|
||
passlib==1.7.4
|
||
bcrypt==4.0.1
|
||
cryptography==49.0.0
|
||
cffi==2.0.0
|
||
pycparser==3.0
|
||
ecdsa==0.19.2
|
||
pyasn1==0.6.3
|
||
rsa==4.9.1
|
||
|
||
# --- 图片处理(卡片 favicon 转换 / 私信图片尺寸)---
|
||
Pillow==10.4.0
|
||
|
||
# --- 浏览器自动化(登录 / 采集凭证)---
|
||
playwright==1.44.0
|
||
pyee==11.1.0
|
||
# 无图形界面的 Linux 服务器跑有头浏览器需要虚拟显示(还需系统安装 Xvfb):
|
||
# Debian/Ubuntu: apt install -y xvfb
|
||
# CentOS/Rocky : yum install -y xorg-x11-server-Xvfb
|
||
pyvirtualdisplay==3.0
|
||
|
||
# --- 抖音 IM(Protobuf / 签名 / WebSocket)---
|
||
protobuf==5.27.1
|
||
protobuf3-to-dict==0.1.5
|
||
six==1.17.0
|
||
PyExecJS==1.5.1
|
||
websocket-client==1.9.0
|
||
|
||
# --- FastAPI CLI / 工具(随 fastapi 安装,显式锁定避免缺包)---
|
||
fastapi-cli==0.0.24
|
||
typer==0.26.7
|
||
click==8.4.1
|
||
shellingham==1.5.4
|
||
rich==15.0.0
|
||
rich-toolkit==0.20.1
|
||
Pygments==2.20.0
|
||
markdown-it-py==4.2.0
|
||
mdurl==0.1.2
|
||
Jinja2==3.1.6
|
||
MarkupSafe==3.0.3
|
||
annotated-doc==0.0.4
|
||
orjson==3.11.9
|
||
ujson==5.12.1
|
||
PyYAML==6.0.3
|
||
colorama==0.4.6
|
||
|
||
# =============================================================================
|
||
# [npm] IM 签名 jsrsasign(在 rpa_engine/douyin_im/static/package.json)
|
||
# jsrsasign@^11.1.0
|
||
#
|
||
# [npm] 前端(在 frontend/package.json)
|
||
# vue, ant-design-vue, axios, pinia, vue-router, vite
|
||
# =============================================================================
|