湘云绣阁是一个基于 Vue 3 + Flask 开发的湘绣传统文化元宇宙展示平台,旨在通过数字化手段展示和传承湘绣这一非物质文化遗产。平台融合了三维虚拟展厅、AI 智能助手、知识图谱等现代技术,让更多人了解和欣赏湘绣的魅力。
- 🎨 作品展示:展示精美的湘绣作品,包括图片、描述和创作背景
- 🏬 虚拟商城:提供湘绣相关产品的浏览和购买功能
- 🏛️ 虚拟场馆:基于 Unity WebGL 的沉浸式3D展厅体验
- 🎭 文化展览:举办线上湘绣文化展览
- 🔍 知识图谱:构建湘绣知识图谱,可视化展示文化知识
- 🤖 AI 对话:集成 Deepseek API,提供智能问答服务
- 🔑 关键词回复:支持自定义关键词自动回复
- 📚 知识库检索:基于知识库的精准内容检索(RAG)
- ⚡ 三级响应:关键词 → 知识库 → AI 的优先级响应机制
- 📊 数据管理:节点、关系、产品、用户的 CRUD 管理
- 🗝️ 关键词管理:配置 AI 助手的关键词回复规则
- 📁 3D 模型管理:上传和管理虚拟展厅的 3D 模型文件
- 📥 批量导入:支持 Excel/CSV 批量导入知识库数据
- 框架:Vue 3 + Composition API
- 构建工具:Vite
- 路由:Vue Router 4
- HTTP 客户端:Axios
- UI 组件:Element Plus
- 图标:Font Awesome
- 样式:CSS3 + SCSS
- 框架:Flask + Flask-SQLAlchemy + Flask-Migrate
- 数据库:MySQL 5.7
- ORM:SQLAlchemy
- AI 接口:Deepseek API
- 部署:Gunicorn + Nginx
- 3D 展示:Unity WebGL
- 知识图谱:ECharts / D3.js
- 服务器:Tencent Cloud (Ubuntu 22.04)
- Node.js >= 18.0.0
- Python >= 3.10
- MySQL >= 5.7
# 进入前端目录
cd XiangXiu_github
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 构建生产版本
npm run build# 进入后端目录
cd backend
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置数据库
# 修改 config.py 中的数据库连接信息
# 运行数据库迁移
flask db upgrade
# 启动开发服务器
python app.py-
配置 Deepseek API Key
复制环境变量模板文件:
cd backend cp .env.example .env编辑
.env文件,填入你的 Deepseek API Key:DEEPSEEK_API_KEY=sk-your-api-key-here
⚠️ 注意:.env文件包含敏感信息,不要将其提交到 Git!已添加到.gitignore。 -
执行 SQL 文件创建关键词回复表
mysql -u username -p database_name < backend/keyword_reply.sql -
访问后台配置关键词回复规则
- 登录后台管理
/admin - 进入"关键词回复"页面
- 添加关键词和对应的回复内容
- 登录后台管理
-
服务器配置
- 系统:Ubuntu 22.04 LTS
- 配置:2核 4GB 内存(推荐)
- 面板:Baota 面板(可选)
-
环境安装
# 安装 Python 3.10
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev
# 安装 MySQL
sudo apt install mysql-server
# 安装 Nginx
sudo apt install nginx- 后端部署
# 上传代码到服务器
cd /www/wwwroot/XiangXiu_github/backend
# 创建虚拟环境
python3.10 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置环境变量
export DEEPSEEK_API_KEY=sk-your-api-key-here
export DEEPSEEK_BASE_URL=https://api.deepseek.com
# 或创建 .env 文件
echo "DEEPSEEK_API_KEY=sk-your-api-key-here" > .env
# 配置 Gunicorn
pip install gunicorn
# 启动服务(使用 nohup 或 systemd)
gunicorn -w 4 -b 127.0.0.1:5000 app:app使用 Systemd 服务(推荐)
创建服务文件 /etc/systemd/system/xiangxiu.service:
[Unit]
Description=湘云绣阁后端服务
After=network.target
[Service]
User=www
Group=www
WorkingDirectory=/www/wwwroot/XiangXiu_github/backend
Environment="DEEPSEEK_API_KEY=sk-your-api-key-here"
Environment="DEEPSEEK_BASE_URL=https://api.deepseek.com"
ExecStart=/www/wwwroot/XiangXiu_github/backend/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app
Restart=always
[Install]
WantedBy=multi-user.target启用并启动服务:
sudo systemctl enable xiangxiu
sudo systemctl start xiangxiu- Nginx 配置
server {
listen 80;
server_name your-domain.com;
location / {
root /www/wwwroot/XiangXiu_github/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static/ {
alias /www/wwwroot/XiangXiu_github/backend/static/;
}
}- 前端部署
# 本地构建
npm run build
# 上传 dist 目录到服务器
scp -r dist root@your-server:/www/wwwroot/XiangXiu_github/XiangXiu_github/
├── backend/ # Flask 后端
│ ├── app.py # 应用入口
│ ├── config.py # 配置文件
│ ├── keyword_reply.sql # 关键词表初始化 SQL
│ ├── requirements.txt # Python 依赖
│ ├── models/ # 数据库模型
│ ├── templates/ # HTML 模板
│ │ ├── admin/ # 后台管理页面
│ │ └── base.html # 基础模板
│ └── static/ # 静态文件(3D模型等)
├── src/ # Vue 前端源码
│ ├── components/ # 组件
│ │ ├── ChatBot.vue # AI 助手组件
│ │ └── common/ # 公共组件
│ ├── views/ # 页面视图
│ ├── router/ # 路由配置
│ ├── assets/ # 静态资源
│ └── App.vue # 根组件
├── public/ # 公共资源
├── dist/ # 构建输出(前端)
├── index.html # HTML 入口
└── package.json # Node 依赖
POST /api/chat- AI 对话接口{ "message": "湘绣的历史" }
GET /api/nodes- 获取知识节点POST /api/nodes- 创建节点POST /api/knowledge/import-file- 批量导入知识
GET /api/models- 获取模型列表POST /api/models- 上传模型DELETE /api/models/:id- 删除模型
user- 用户表product- 产品表knowledge_node- 知识节点表knowledge_relationship- 知识关系表keyword_reply- 关键词回复表(AI助手)model3d- 3D模型表
- Fork 本仓库
- 创建新的分支 (
git checkout -b feature/your-feature) - 提交你的更改 (
git commit -m 'Add some feature') - 推送到分支 (
git push origin feature/your-feature) - 打开 Pull Request
- 新增 AI 智能助手功能(Deepseek API + RAG)
- 新增关键词回复管理后台
- 统一后台管理 UI 样式
- 新增 3D 模型管理功能
- 项目更名为"湘云绣阁"
- 新增 Unity WebGL 虚拟展厅
- 部署至腾讯云服务器
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件
如有任何问题或建议,请随时联系我们。
© 2025 湘云绣阁 版权所有