zwt13703
|
3db8208c55
|
fix: Celery 异步任务 event loop 冲突修复
- 原因: 全局 async_session_factory 绑定在 Celery 主进程 event loop
- Celery fork worker 后创建新 loop,旧 connection 绑定冲突
- 修复: 每个任务内创建独立 async engine + session factory
- 任务完成后 dispose engine 释放连接
|
2026-07-06 17:45:05 +08:00 |
zwt13703
|
40b861cfcc
|
fix: 核心 bug 修复 - API Key 加密/解密 + AI 调用 + 数据安全
- schema: 用 @field_serializer 掩码 api_key,不再直接修改 SQLAlchemy 对象
- API: 移除所有 model.api_key='***' 赋值,防止数据库被覆盖
- security: SHA256(SECRET_KEY) 派生合法 Fernet 32 字节密钥
- ai_adapter: CustomAdapter 改用 OpenAI-compatible messages 格式
- ai_adapter: trust_env=False 防止代理干扰,增加详细异常信息
- templates: bleach HTML 净化防止 XSS
- .env.example: CORS_ORIGINS 修复为 JSON 数组格式
- 端到端验证:单点测试 + 异步生成任务均通过
|
2026-07-06 17:26:32 +08:00 |
zwt13703
|
aeff8753ec
|
feat: 补充完善 - 拖拽排序 + 系统设置 + 安全加固 + 文档更新
- 生成点拖拽排序: HTML5 Drag & Drop + batch-order API 持久化
- 系统设置 API: GET/PUT /api/v1/settings,前端接入 system_config 表
- 安全加固: bleach HTML 净化(XSS防护),文件类型白名单,上传大小限制
- 修复 Fernet 密钥: SHA256 派生合法 32 字节密钥
- README 更新: 修正技术栈版本,补充生产/开发部署步骤
|
2026-07-06 17:16:31 +08:00 |
zwt13703
|
c4c2b44434
|
fix: Fernet 密钥派生使用 SHA256 哈希生成合法 32 字节密钥
- 原因: key.ljust(44, b'=') 不产生合法的 Fernet 密钥
- 修复: SHA256(SECRET_KEY) → base64url 编码 → 有效 Fernet key
|
2026-07-06 17:03:55 +08:00 |
zwt13703
|
017a19515c
|
feat: 阶段五 - 部署上线与安全加固
- Dockerfile: backend (FastAPI), celery-worker, web (多阶段构建 + Nginx)
- docker-compose.yml: 完整 5 服务编排 (postgres + redis + backend + celery + nginx)
- Nginx 反向代理配置 + gzip 压缩 + API 代理
- 安全增强: 请求大小限制、文件类型白名单(.docx/.txt/.pdf)、安全中间件
- .dockerignore: 排除 venv/node_modules 等
- .env.example: 精简为生产关键变量
- package.json: postinstall 自动复制 TinyMCE 自托管文件
- deploy.sh: 一键部署脚本
|
2026-07-06 16:57:00 +08:00 |
zwt13703
|
afabb6446a
|
feat: 阶段三 - 异步任务与 AI 集成
- AI 调用适配器:工厂模式,支持 openai/azure/custom 三种供应商
- 参考文件解析器:提取 txt/docx/pdf 文本内容
- Celery 配置与生成任务:模板加载→生成点排序→参考解析→AI调用→HTML插入→文档保存
- 任务管理 API:触发/状态查询/结果下载(docx+pdf)/取消/列表
- 单点测试 API:生成点预览不保存文档
- 23 个 API 端点全部注册
|
2026-07-06 16:28:00 +08:00 |
zwt13703
|
aa84521449
|
feat: 阶段二 - 核心业务 API 实现
- Pydantic Schemas: AIModel, Template, GenerationPoint, GenerationTask
- 文档处理服务: docx↔HTML (Mammoth), docx→PDF (reportlab)
- AI 模型管理 API: CRUD + 启用/禁用切换 + API Key 加密
- 模板管理 API: 上传/转换HTML/在线编辑保存/下载(docx+pdf)
- 生成点管理 API: CRUD + 参考文件上传 + 批量排序
- 17 个 API 端点注册,后端启动验证通过
|
2026-07-06 16:18:23 +08:00 |
zwt13703
|
b5fa343bf8
|
feat: 阶段一 - 项目基础设施搭建
- 创建前后端项目目录结构
- docker-compose.yml (Postgres 18.3 + Redis 7)
- 后端:FastAPI + SQLAlchemy 异步引擎 + Alembic 迁移
- 5个ORM模型:AIModel, Template, GenerationPoint, GenerationTask, SystemConfig
- 核心模块:config, database, security(Fernet加密), file_storage
- 前端:Vite + React 18 + TS + Ant Design + React Router
- 侧边栏布局 + 5个占位页面
|
2026-07-06 16:16:23 +08:00 |