- 原因: key.ljust(44, b'=') 不产生合法的 Fernet 密钥 - 修复: SHA256(SECRET_KEY) → base64url 编码 → 有效 Fernet key |
||
|---|---|---|
| backend | ||
| docs | ||
| web | ||
| .env.example | ||
| .gitignore | ||
| README.md | ||
| deploy.sh | ||
| docker-compose.yml | ||
README.md
AI 智能文档生成系统 (Doc Forge Reds)
项目简介
Doc Forge Reds 是一款外部 Web 工具,支持上传 Word 模板、在线编辑与预览,通过可视化方式标注文档中需要 AI 生成内容的区域,并可配置不同的 AI 模型进行内容生成。系统提供模型管理、模板管理、生成点管理、异步任务执行等完整功能,最终导出的文档保持原样式。
核心功能
- 📤 上传 Word 模板,在线编辑并预览
- 🎯 框选标注生成点,配置提示词、参考文件和指定 AI 模型
- 🤖 AI 模型管理(多供应商:OpenAI、Azure、自定义)
- ⚙️ 异步任务生成,状态追踪,结果下载
技术栈
- 前端:React 18 + TypeScript + Ant Design + TinyMCE
- 后端:Python 3.10 + FastAPI + SQLAlchemy
- 异步任务:Celery + Redis
- 数据库:PostgreSQL 18.3
- 文档处理:Aspose.Words (或 Mammoth + python-docx)
- 部署:Docker + Docker Compose
快速开始
环境要求
- Docker & Docker Compose
- Python 3.10+ (本地开发)
- Node.js 18+ (本地开发)
使用 Docker 一键启动
git clone <repository-url>
cd doc-forge-reds
docker-compose up -d
访问 http://localhost:3000 进入前端界面。
本地开发
- 启动依赖服务
docker-compose up -d postgres redis - 后端
cd backend && python -m venv venv && source venv/bin/activate && pip install -r requirements.txt && uvicorn app.main:app --reload - 前端
cd web && npm install && npm run dev - Celery Worker
celery -A app.tasks.celery_app worker --loglevel=info
项目目录结构
.
├── backend/ # Python 后端
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── core/ # 配置、安全、数据库
│ │ ├── models/ # ORM 模型
│ │ ├── schemas/ # Pydantic 模式
│ │ ├── services/ # 业务逻辑
│ │ ├── tasks/ # Celery 任务
│ │ └── main.py
│ ├── migrations/ # Alembic 迁移
│ ├── requirements.txt
│ └── Dockerfile
├── web/ # React 前端
│ ├── src/
│ │ ├── api/ # API 调用封装
│ │ ├── components/ # 可复用 UI
│ │ ├── pages/ # 页面
│ │ ├── hooks/ # 自定义 Hooks
│ │ └── store/ # 状态管理
│ ├── package.json
│ └── Dockerfile
├── docker-compose.yml
└── docs/ # 项目文档