迁移系统加固 — 加 advisory lock 防并发,失败回滚并中止启动(原来是 catch-and-continue) 安全漏洞 — Settings/History API 权限收紧,API key 返回掩码值,海报 case 所有权校验 依赖缺失 — requirements.txt 补齐 python-pptx/openai/Pillow,Dockerfile 改为统一安装 海报鉴权下载 — 前端全部改用 authenticated blob,不再 window.open 无 token URL LLM 配置分离 — 海报文案读取 poster_llm_*(不再复用 ppt_llm_*),支持 config namespace 图片生成器 — 兼容 b64_json 和 URL 两种响应格式,追踪 generation_mode/provider/model 种子数据 — 新环境自动获得 2 个海报模板 + 2 个文案模板
45 lines
668 B
Plaintext
45 lines
668 B
Plaintext
# Web framework
|
|
Flask==3.0.0
|
|
Flask-CORS==4.0.0
|
|
gunicorn==21.2.0
|
|
gevent==23.9.1
|
|
gevent-websocket==0.10.1
|
|
|
|
# Database
|
|
SQLAlchemy==2.0.23
|
|
Flask-SQLAlchemy==3.1.1
|
|
psycopg2-binary==2.9.9
|
|
alembic==1.13.0
|
|
|
|
# Cache
|
|
redis==5.0.1
|
|
|
|
# Auth
|
|
PyJWT==2.8.0
|
|
bcrypt==4.1.2
|
|
|
|
# HTTP client
|
|
requests==2.31.0
|
|
httpx==0.25.2
|
|
|
|
# Utils
|
|
python-dotenv==1.0.0
|
|
pydantic==2.5.0
|
|
pydantic-settings==2.1.0
|
|
|
|
# Logging
|
|
loguru==0.7.2
|
|
|
|
# PDF parsing (required for PPT extraction)
|
|
PyMuPDF>=1.23.0
|
|
PyPDF2>=3.0.0
|
|
pypdf>=3.0.0
|
|
pdfplumber>=0.9.0
|
|
|
|
# PPT generation (required for fast_pptx_renderer)
|
|
python-pptx>=0.6.23
|
|
|
|
# Image generation (required for poster AI image and fallback)
|
|
openai>=1.6.0
|
|
Pillow>=10.0.0
|