f7a720204a
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
12 KiB
12 KiB
政智通 — 政务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 个预置应用,支持多租户隔离、知识库管理、审计安全等企业级功能,满足政府部门智慧办公的需求。