Skip to content

🚀 一个智能的模板克隆报告生成系统,能够分析文档模板的结构和样式,并使用知识库内容生成专业报告。

Notifications You must be signed in to change notification settings

xuanxuan321/book

Repository files navigation

Template-Cloning Intelligent Report Generator

🚀 一个智能的模板克隆报告生成系统,能够分析文档模板的结构和样式,并使用知识库内容生成专业报告。

✨ 核心功能

  • 📄 结构克隆: 100%复制模板的章节层次、标题和组织结构
  • 🎨 样式传输: 分析和模仿写作语调、格式模式和展示风格
  • 📊 内容集成: 使用知识库中的相关内容填充模板,保持原有格式
  • ⚡ 实时处理: 后台任务队列和进度监控
  • 🔍 质量控制: 内容相关性阈值和质量评分系统

🏗️ 技术架构

前端技术栈

  • Next.js 14 (App Router)
  • React 18 + TypeScript
  • Tailwind CSS + shadcn/ui 组件库
  • Supabase Auth 用户认证

后端技术栈

  • Next.js API Routes RESTful API
  • Supabase PostgreSQL + 文件存储
  • JWT 身份验证
  • Row-Level Security 数据安全

核心处理模块

  • Template Parser - 模板解析和结构分析
  • Knowledge Extractor - 知识提取和索引
  • Style Cloner - 样式克隆和格式复制
  • Report Generator - 智能报告生成

🚀 快速开始

环境要求

  • Node.js 18.17+
  • npm 或 yarn
  • Supabase 项目(用于数据库和认证)

1. 克隆项目

```bash git clone cd template-cloning-report-generator ```

2. 安装依赖

```bash npm install ```

3. 环境配置

创建 `.env.local` 文件:

```env

Supabase配置

NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key

文件处理设置

MAX_FILE_SIZE=52428800 SUPPORTED_FORMATS=md,html,docx,pdf,txt

生成设置

DEFAULT_CONTENT_THRESHOLD=70 MAX_CONCURRENT_JOBS=10 ```

4. 数据库设置

在 Supabase 控制台中运行 `database/schema.sql` 文件来创建所需的表和策略。

5. 启动开发服务器

```bash npm run dev ```

访问 http://localhost:3000 查看应用。

📚 用户指南

1. 注册和登录

  • 访问首页,点击"Get Started"进行注册
  • 使用邮箱和密码创建账户
  • 登录后进入仪表板

2. 上传模板

  1. 进入"Templates"页面
  2. 点击"Upload Template"
  3. 选择支持的文件格式:.md, .html, .docx, .pdf
  4. 等待处理完成

3. 创建知识库

  1. 进入"Knowledge Bases"页面
  2. 点击"Create Knowledge Base"
  3. 选择类型:文件集合、数据库连接或API端点
  4. 上传相关文档(文件集合类型)

4. 生成报告

  1. 进入"Reports" → "Generate Report"
  2. 选择模板和知识库
  3. 调整生成参数
  4. 启动报告生成
  5. 在"Reports"页面监控进度

5. 管理报告

  • 查看生成的报告
  • 编辑报告内容
  • 更新报告状态
  • 下载报告文件

🔧 API 端点

认证

  • `GET /api/auth/profile` - 获取用户档案

模板管理

  • `GET /api/templates` - 获取模板列表
  • `POST /api/templates` - 上传新模板

知识库管理

  • `GET /api/knowledge-bases` - 获取知识库列表
  • `POST /api/knowledge-bases` - 创建知识库
  • `GET /api/knowledge-bases/{id}/documents` - 获取文档列表
  • `POST /api/knowledge-bases/{id}/documents` - 上传文档

报告生成

  • `GET /api/reports` - 获取报告列表
  • `POST /api/reports` - 创建报告生成任务

任务管理

  • `GET /api/jobs/{id}` - 获取任务状态
  • `DELETE /api/jobs/{id}` - 取消任务

系统监控

  • `GET /api/health` - 健康检查

🗄️ 数据库结构

核心表

  • `users` - 用户信息
  • `templates` - 模板存储
  • `knowledge_bases` - 知识库配置
  • `kb_documents` - 知识库文档
  • `generated_reports` - 生成的报告
  • `report_generation_jobs` - 生成任务队列

安全设置

  • 启用行级安全(RLS)
  • 基于用户ID的访问控制
  • JWT令牌验证
  • 存储桶访问策略

🔐 安全特性

  • 身份验证: Supabase Auth JWT令牌
  • 授权: 行级安全策略
  • 数据隔离: 用户只能访问自己的数据
  • 文件安全: 私有存储桶和访问控制
  • API安全: 所有端点都需要身份验证

🚀 生产部署

使用 Vercel 部署

  1. 连接 GitHub 仓库到 Vercel
  2. 配置环境变量
  3. 自动部署

使用 Docker 部署

```dockerfile FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "start"] ```

环境变量

生产环境需要配置:

  • `NEXT_PUBLIC_SUPABASE_URL`
  • `NEXT_PUBLIC_SUPABASE_ANON_KEY`
  • `SUPABASE_SERVICE_ROLE_KEY`
  • `MAX_FILE_SIZE`
  • `SUPPORTED_FORMATS`

🛠️ 开发

项目结构

``` src/ ├── app/ # Next.js App Router页面 │ ├── api/ # API路由 │ ├── auth/ # 认证页面 │ ├── dashboard/ # 仪表板页面 │ └── globals.css # 全局样式 ├── components/ # React组件 ├── contexts/ # React Context ├── lib/ # 核心库和工具 ├── types/ # TypeScript类型定义 └── utils/ # 工具函数 ```

开发脚本

```bash npm run dev # 启动开发服务器 npm run build # 构建生产版本 npm run start # 启动生产服务器 npm run lint # 代码检查 ```

贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

📋 系统要求

最低配置

  • CPU: 1 core
  • 内存: 512MB
  • 存储: 1GB
  • 网络: 稳定的互联网连接

推荐配置

  • CPU: 2+ cores
  • 内存: 2GB+
  • 存储: 10GB+
  • 网络: 高速连接

🐛 问题排查

常见问题

  1. 无法连接数据库

    • 检查 Supabase URL 和密钥
    • 确认数据库表已创建
  2. 文件上传失败

    • 检查文件大小限制
    • 确认存储桶配置
  3. 报告生成卡住

    • 检查后台任务处理器
    • 查看任务队列状态

调试模式

```bash NODE_ENV=development npm run dev ```

日志查看

检查浏览器控制台和服务器日志输出。

📄 许可证

MIT License - 详见 LICENSE 文件

🤝 支持

🎯 路线图

  • 多语言支持
  • 批量报告生成
  • 模板市场
  • 高级样式克隆
  • API集成扩展
  • 移动应用

注意: 这是一个演示系统,请在生产环境中使用真实的 Supabase 项目配置。

About

🚀 一个智能的模板克隆报告生成系统,能够分析文档模板的结构和样式,并使用知识库内容生成专业报告。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published