diff --git a/docs/PROJECT_OVERVIEW.docx b/docs/PROJECT_OVERVIEW.docx new file mode 100644 index 0000000..9b95426 Binary files /dev/null and b/docs/PROJECT_OVERVIEW.docx differ diff --git a/docs/PROJECT_OVERVIEW.md b/docs/PROJECT_OVERVIEW.md new file mode 100644 index 0000000..98db025 --- /dev/null +++ b/docs/PROJECT_OVERVIEW.md @@ -0,0 +1,284 @@ +# 政智通 — 政务AI智能应用平台 + +## 一、项目概述 + +**项目名称**:政智通 — 政务AI智能应用平台 + +**项目定位**:面向政府部门的AI智能办公平台,以大语言模型为核心引擎,覆盖公文写作、政策解读、政务宣传、数据治理、便民服务等多场景,提升行政效能、赋能智慧政务。 + +**用途**:投标 — 入驻法治网平台 + +--- + +## 二、开发语言与技术栈 + +| 层级 | 技术选型 | 版本 | +|------|----------|------| +| 后端语言 | Go (Golang) | 1.25.0 | +| 后端框架 | Chi Router | v5.2.5 | +| 前端语言 | TypeScript | - | +| 前端框架 | Next.js (App Router) / React | - | +| 前端样式 | Tailwind CSS / shadcn/ui | - | +| 数据库 | PostgreSQL | 15+ | +| 缓存 | Redis | 7+ | +| AI 引擎 | 通义千问 (Qwen) / OpenAI 兼容接口 | - | +| PPT 生成微服务 | Python | - | +| 认证 | JWT (golang-jwt/v5) | - | +| 日志 | zerolog | - | + +--- + +## 三、源代码规模 + +| 模块 | 文件类型 | 文件数 | 代码行数 | +|------|----------|--------|----------| +| 后端服务 | Go (`.go`) | 52 | 10,528 | +| 前端应用 | TSX (`.tsx`) | - | 14,356 | +| 前端应用 | TS (`.ts`) | - | 1,496 | +| 前端应用 | CSS (`.css`) | - | 140 | +| PPT 微服务 | Python (`.py`) | - | 1,367 | +| **合计** | | **~143 文件** | **~27,887 行** | + +--- + +## 四、系统架构 + +### 4.1 整体架构 + +``` +┌─────────────────────────────────────────────┐ +│ 前端 (Next.js) │ +│ ┌─────────┐ ┌──────────┐ ┌──────────────┐ │ +│ │ 门户端 │ │ 管理后台 │ │ 平台管理端 │ │ +│ │(Portal) │ │(Admin) │ │(Platform) │ │ +│ └────┬────┘ └────┬─────┘ └──────┬───────┘ │ +│ └───────────┴──────────────┘ │ +│ REST API │ +└───────────────────┬─────────────────────────┘ + │ +┌───────────────────┴─────────────────────────┐ +│ 后端 (Go / Chi Router) │ +│ ┌──────┐ ┌───────┐ ┌──────┐ ┌──────────┐ │ +│ │认证 │ │应用 │ │对话 │ │知识库 │ │ +│ │中间件 │ │商店 │ │引擎 │ │管理 │ │ +│ └──────┘ └───────┘ └──────┘ └──────────┘ │ +│ ┌──────┐ ┌───────┐ ┌──────┐ ┌──────────┐ │ +│ │PPT │ │文档 │ │审计 │ │平台管理 │ │ +│ │生成 │ │模板 │ │日志 │ │ │ │ +│ └──────┘ └───────┘ └──────┘ └──────────┘ │ +└──────┬──────────────────────┬───────────────┘ + │ │ +┌──────┴──────┐ ┌──────┴──────┐ +│ PostgreSQL │ │ Redis │ +│ (持久化) │ │ (缓存) │ +└─────────────┘ └─────────────┘ +``` + +### 4.2 后端模块结构 + +| 目录 | 职责 | +|------|------| +| `server/cmd/server/` | 主入口、路由注册 | +| `server/internal/handler/` | HTTP 请求处理器(对话、应用商店、知识库、PPT、文件等) | +| `server/internal/middleware/` | 中间件(认证、租户隔离、日志) | +| `server/internal/config/` | 配置管理 | +| `server/internal/response/` | 统一响应格式 | +| `server/pkg/auth/` | JWT 认证工具包 | +| `server/pkg/db/` | 数据库连接与查询 | +| `server/pkg/llm/` | 大语言模型接口封装 | +| `server/pkg/embedding/` | 向量嵌入 | +| `server/pkg/chunker/` | 文档分块 | +| `server/pkg/tenant/` | 多租户隔离 | +| `server/migrations/` | 数据库迁移脚本(17 个迁移 + 种子数据) | + +### 4.3 前端模块结构 + +| 目录 | 职责 | +|------|------| +| `apps/web/src/app/(portal)/` | 门户端:应用商店、对话、知识库、工作台 | +| `apps/web/src/app/(admin)/` | 管理后台:用户管理、应用管理、审计、分析、模型配置 | +| `apps/web/src/app/(auth)/` | 认证:登录、注册 | +| `apps/web/src/app/platform/` | 平台管理:组织管理、供应商、配额、审计 | +| `apps/web/src/components/` | 通用组件(UI 基础组件、布局、应用卡片) | +| `apps/web/src/hooks/` | 自定义 Hooks | +| `apps/web/src/lib/` | 工具函数库 | +| `apps/web/src/stores/` | 状态管理 | + +--- + +## 五、核心功能模块 + +### 5.1 政务应用分类 + +| 分类 | 说明 | +|------|------| +| 公文写作 | 公文拟稿、会议纪要、文件摘要 | +| 政策解读 | 法规问答、政策影响分析 | +| 政务宣传 | 宣传稿件、信息发布 | +| 数据治理 | 数据分析、综合研判 | +| 便民服务 | 群众来信回复、咨询答复 | +| 信息化工具 | 开发辅助、系统运维 | +| 组织人事 | 干部考核、人事管理 | +| 招商引资 | 项目评估、投资分析 | +| 翻译外事 | 中英互译、外事用语 | +| 综合应用 | 其他政务场景 | + +### 5.2 预置应用 + +| 应用名称 | 类型 | 功能说明 | +|----------|------|----------| +| 政策法规问答 | 对话型 | 法规条款查询与解读 | +| 公文写作助手 | 对话型 | 各类公文拟稿 | +| 群众来信回复 | 对话型 | 群众诉求回复建议 | +| 会议纪要生成 | 补全型 | 会议记录整理 | +| 公文摘要提取 | 补全型 | 文件要点提取 | +| 翻译助手 | 补全型 | 政务中英互译 | +| 招商项目评估 | 工作流 | 多维度项目评估 | +| 政策影响分析 | 工作流 | 政策多维度影响评估 | +| 综合研判助手 | 智能体 | 数据分析与报告生成 | +| 干部考核助手 | 智能体 | 绩效分析与评语生成 | +| 智能 PPT 生成 | PPT 生成 | 上传文档/输入主题,AI 生成原生可编辑 PPTX | + +### 5.3 系统功能清单 + +| 功能域 | 功能项 | +|--------|--------| +| 用户与权限 | 注册/登录、JWT 认证、角色管理、多租户隔离 | +| 应用管理 | 应用商店、分类浏览、应用创建、收藏评分 | +| AI 对话 | 多轮对话、流式输出、上下文管理、对话历史 | +| 知识库 | 文档上传、文档分块、向量嵌入、知识检索 | +| PPT 生成 | 多种输入源、多种风格、AI 生图、可编辑 PPTX 导出 | +| 文档模板 | 模板管理、模板应用 | +| 平台管理 | 组织管理、模型供应商配置、配额管理 | +| 审计与安全 | 操作审计日志、安全审计、用量统计 | +| 数据分析 | 使用分析、模型调用统计、用户行为分析 | + +--- + +## 六、数据库设计 + +### 6.1 数据库迁移版本 + +共 **17 个迁移版本**,涵盖: + +| 迁移 | 内容 | +|------|------| +| 000001 | 初始化 schema | +| 000002 | 分类与应用 | +| 000003 | 评价、收藏、评分 | +| 000004 | 用量日志 | +| 000005 | 模型、配额、审计 | +| 000006 | PPT 任务 | +| 000007 | PPT 生成器类型 | +| 000008 | 文档模板 | +| 000009 | 对话命名 | +| 000010 | 知识库 ID | +| 000011 | 文档内容 | +| 000012 | 用量日志消息 | +| 000013 | 组织机构 | +| 000014 | 多租户 | +| 000015 | 平台管理 | +| 000016 | 对话与消息 | +| 000017 | 清理旧对话表 | + +### 6.2 种子数据 + +包含法治网、发改委、公安、科技、信访等多领域种子数据,支持快速部署演示。 + +--- + +## 七、部署架构 + +### 7.1 运行环境 + +| 组件 | 要求 | +|------|------| +| Go | 1.25+ | +| Node.js | 18+ | +| PostgreSQL | 15+ | +| Redis | 7+ | +| Python | 3.10+ (PPT Worker) | + +### 7.2 部署方式 + +- **Docker 部署**:提供 `docker/` 配置目录,支持容器化部署 +- **原生部署**:通过 `Makefile` 管理构建与启动 +- **部署脚本**:`deploy.sh` 支持自动化部署 + +### 7.3 服务端口 + +| 服务 | 端口 | +|------|------| +| 后端 API | 8080 | +| 前端 Web | 3000 | +| PostgreSQL | 5432 | +| Redis | 6379 | + +--- + +## 八、安全设计 + +| 安全措施 | 说明 | +|----------|------| +| JWT 认证 | 短期 Token + 刷新机制 | +| 多租户隔离 | 基于 `session.tenant_id` 的数据隔离 | +| 密钥管理 | 环境变量管理,不进 Git | +| SQL 注入防御 | 参数化查询 | +| XSS 防御 | 自动转义 + CSP | +| CSRF 防御 | SameSite Cookie | +| 操作审计 | 审计日志记录,保留 ≥ 6 个月 | +| 限流熔断 | 登录限流、接口限流 | + +--- + +## 九、项目目录结构 + +``` +GovAI/ +├── server/ # Go 后端服务 +│ ├── cmd/ # 命令入口 +│ │ ├── server/ # 主服务入口与路由 +│ │ ├── check-providers/ # 供应商检查工具 +│ │ ├── seed-providers/ # 供应商种子工具 +│ │ ├── embed-chunks/ # 向量嵌入工具 +│ │ └── ... # 其他命令行工具 +│ ├── internal/ # 内部业务逻辑 +│ │ ├── handler/ # HTTP 处理器 +│ │ ├── middleware/ # 中间件 +│ │ ├── config/ # 配置 +│ │ ├── response/ # 统一响应 +│ │ ├── logger/ # 日志 +│ │ └── metrics/ # 指标 +│ ├── pkg/ # 公共工具包 +│ │ ├── auth/ # 认证 +│ │ ├── db/ # 数据库 +│ │ ├── llm/ # 大模型接口 +│ │ ├── embedding/ # 向量嵌入 +│ │ ├── chunker/ # 文档分块 +│ │ ├── tenant/ # 多租户 +│ │ └── dify/ # Dify 集成 +│ └── migrations/ # 数据库迁移与种子数据 +├── apps/web/ # Next.js 前端 +│ └── src/ +│ ├── app/ # 页面路由 +│ │ ├── (portal)/ # 门户端 +│ │ ├── (admin)/ # 管理后台 +│ │ ├── (auth)/ # 认证页面 +│ │ └── platform/ # 平台管理端 +│ ├── components/ # 通用组件 +│ ├── hooks/ # 自定义 Hooks +│ ├── lib/ # 工具函数 +│ └── stores/ # 状态管理 +├── ppt-worker/ # PPT 生成微服务 (Python) +├── docker/ # Docker 配置 +├── docs/ # 项目文档 +├── Makefile # 构建管理 +├── deploy.sh # 部署脚本 +└── README.md # 项目说明 +``` + +--- + +## 十、总结 + +政智通平台是一个基于 Go + Next.js 的前后端分离架构的政务AI智能应用平台,总代码量约 **2.8 万行**,涵盖 52 个 Go 源文件和 91 个前端 TypeScript/TSX 文件。平台集成了大语言模型能力,提供公文写作、政策解读、智能PPT生成等 11 个预置应用,支持多租户隔离、知识库管理、审计安全等企业级功能,满足政府部门智慧办公的需求。