- API 层: axios 封装 + 模型/模板/生成点/任务 4 组 API 调用 - TypeScript 类型定义 (AIModel, Template, GenerationPoint, GenerationTask) - 模型管理页面: 表格列表 + 新增/编辑/删除弹窗 + 启用切换 - 模板列表页面: 表格 + 上传 docx + 在线编辑/下载/删除 - 模板编辑器(核心): TinyMCE 自托管 + 选区监听标注 + 浮动按钮创建生成点 + 右侧生成点面板(测试/编辑/删除) + 触发生成任务 + 实时进度轮询 + 结果下载 - 任务历史页面: 状态标签 + 下载结果 + 取消任务 - 系统设置页面: 默认模型/并发/超时配置 - Vite 配置 API 代理 (3000->8000) - TypeScript 编译零错误, Vite 构建成功 |
||
|---|---|---|
| backend | ||
| docs | ||
| web | ||
| .env.example | ||
| .gitignore | ||
| README.md | ||
| 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/ # 项目文档