235 lines
5.8 KiB
Markdown
235 lines
5.8 KiB
Markdown
|
|
# 云大学AI卓越中心·n8n工作流平台
|
|||
|
|
|
|||
|
|
一个基于Vue 3 + Element Plus构建的现代化单页应用(SPA),集成四大AI辅助工具的统一界面,支持Docker容器化部署。
|
|||
|
|
|
|||
|
|
## 🚀 核心功能
|
|||
|
|
|
|||
|
|
- **知识库助手**:通过结构化文本输入构建与管理个人知识库
|
|||
|
|
- **会议纪要生成**:基于议程、转录文本和AI洞察自动生成会议总结
|
|||
|
|
- **文本信息提取**:从PDF/图片中提取结构化数据,支持进度跟踪
|
|||
|
|
- **竞品调研**:根据产品品类生成市场调研报告
|
|||
|
|
- **现代化UI**:采用科技风响应式布局设计
|
|||
|
|
- **开箱即用**:容器化开发环境,支持热更新
|
|||
|
|
|
|||
|
|
## 🛠️ 技术栈
|
|||
|
|
|
|||
|
|
- **前端框架**:Vue 3 + 组合式API
|
|||
|
|
- **UI组件库**:Element Plus 2.x
|
|||
|
|
- **路由管理**:Vue Router 4.x
|
|||
|
|
- **HTTP客户端**:Axios
|
|||
|
|
- **构建工具**:Vite 4.x
|
|||
|
|
- **容器化**:Docker + Docker Compose
|
|||
|
|
- **Node.js**:18.x (Alpine版)
|
|||
|
|
|
|||
|
|
## 📁 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
├── src/
|
|||
|
|
│ ├── api/
|
|||
|
|
│ │ └── services.js # API服务层
|
|||
|
|
│ ├── utils/
|
|||
|
|
│ │ ├── download.js # 下载工具
|
|||
|
|
│ │ ├── timing.js # 防抖函数
|
|||
|
|
│ │ └── sanitize.js # XSS防护
|
|||
|
|
│ ├── views/ # 页面组件
|
|||
|
|
│ │ ├── KnowledgeBase.vue # 知识库
|
|||
|
|
│ │ ├── MeetingMinutes.vue # 会议纪要
|
|||
|
|
│ │ ├── InvoiceExtractor.vue # 发票提取
|
|||
|
|
│ │ └── CompetitorResearch.vue # 竞品分析
|
|||
|
|
│ ├── router/
|
|||
|
|
│ │ └── index.js # 路由配置
|
|||
|
|
│ ├── App.vue # 主布局
|
|||
|
|
│ └── main.js # 应用入口
|
|||
|
|
├── docker-compose.yml # 容器编排
|
|||
|
|
├── Dockerfile # 容器定义
|
|||
|
|
├── env.config.js # 回调配置
|
|||
|
|
├── vite.config.js # Vite配置
|
|||
|
|
└── docs/ # 文档资料
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🚀 快速开始
|
|||
|
|
|
|||
|
|
### 环境准备
|
|||
|
|
- Docker & Docker Compose
|
|||
|
|
- Node.js 18+ (本地开发需安装)
|
|||
|
|
|
|||
|
|
### Docker方式(推荐)
|
|||
|
|
```bash
|
|||
|
|
# 克隆项目并进入目录
|
|||
|
|
git clone <仓库地址>
|
|||
|
|
cd XT_n8nWeb
|
|||
|
|
|
|||
|
|
# 启动开发环境
|
|||
|
|
docker compose up --build -d
|
|||
|
|
|
|||
|
|
# 访问应用
|
|||
|
|
open http://localhost:4000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 本地开发
|
|||
|
|
```bash
|
|||
|
|
# 安装依赖
|
|||
|
|
npm install
|
|||
|
|
|
|||
|
|
# 启动开发服务
|
|||
|
|
npm run dev
|
|||
|
|
|
|||
|
|
# 生产环境构建
|
|||
|
|
npm run build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 配置指南
|
|||
|
|
|
|||
|
|
### Webhook回调配置
|
|||
|
|
在`docker-compose.yml`中配置n8n回调地址:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
environment:
|
|||
|
|
- VITE_KNOWLEDGE_BASE_WEBHOOK_URL=http://host.docker.internal:5678/webhook/...
|
|||
|
|
- VITE_MEETING_MINUTES_WEBHOOK_URL=http://host.docker.internal:5678/webhook/...
|
|||
|
|
- VITE_INVOICE_EXTRACTOR_WEBHOOK_URL=http://host.docker.internal:5678/webhook/...
|
|||
|
|
- VITE_COMPETITOR_RESEARCH_WEBHOOK_URL=http://host.docker.internal:5678/webhook/...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 环境变量
|
|||
|
|
- `VITE_KNOWLEDGE_BASE_WEBHOOK_URL`:知识库处理端点
|
|||
|
|
- `VITE_MEETING_MINUTES_WEBHOOK_URL`:会议纪要生成端点
|
|||
|
|
- `VITE_INVOICE_EXTRACTOR_WEBHOOK_URL`:文本提取处理端点
|
|||
|
|
- `VITE_COMPETITOR_RESEARCH_WEBHOOK_URL`:竞品分析端点
|
|||
|
|
|
|||
|
|
## 📖 使用手册
|
|||
|
|
|
|||
|
|
### 1. 知识库助手
|
|||
|
|
- 输入:主题、关键要点、详细内容
|
|||
|
|
- 特性:表单验证、XSS防护、防抖提交
|
|||
|
|
- 输出:JSON数据发往配置的webhook
|
|||
|
|
|
|||
|
|
### 2. 会议纪要生成
|
|||
|
|
- 输入:议程笔记、转录文本、AI摘要三个文本区
|
|||
|
|
- 特性:标签页界面、至少一项必填验证
|
|||
|
|
- 输出:JSON数据,完成后自动下载文件
|
|||
|
|
|
|||
|
|
### 3. 文本信息提取
|
|||
|
|
- 输入:PDF/图片文件(≤10MB/个)
|
|||
|
|
- 特性:拖拽上传、进度跟踪、文件类型验证
|
|||
|
|
- 输出:Excel格式数据下载
|
|||
|
|
|
|||
|
|
### 4. 竞品调研
|
|||
|
|
- 输入:产品品类名称
|
|||
|
|
- 输出:调研报告下载
|
|||
|
|
|
|||
|
|
## 🔒 安全特性
|
|||
|
|
|
|||
|
|
- **输入净化**:HTML实体编码防护XSS攻击
|
|||
|
|
- **文件验证**:上传类型与大小限制
|
|||
|
|
- **防抖提交**:防止重复请求
|
|||
|
|
- **错误边界**:优雅的错误处理与用户反馈
|
|||
|
|
|
|||
|
|
## 🧪 开发指南
|
|||
|
|
|
|||
|
|
### 热更新
|
|||
|
|
Docker配置已包含热模块替换(HMR)功能,实现无缝开发体验。
|
|||
|
|
|
|||
|
|
### 代码质量
|
|||
|
|
- ESLint代码规范检查
|
|||
|
|
- Prettier格式化保障
|
|||
|
|
- 支持TypeScript(可选扩展)
|
|||
|
|
|
|||
|
|
### 测试
|
|||
|
|
```bash
|
|||
|
|
# 运行单元测试(待实现)
|
|||
|
|
npm run test
|
|||
|
|
|
|||
|
|
# 运行端到端测试(待实现)
|
|||
|
|
npm run test:e2e
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📚 API文档
|
|||
|
|
|
|||
|
|
### 知识库
|
|||
|
|
```javascript
|
|||
|
|
POST /webhook/knowledge-base
|
|||
|
|
{
|
|||
|
|
"topic": "字符串",
|
|||
|
|
"highlights": "字符串",
|
|||
|
|
"content": "字符串"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 会议纪要
|
|||
|
|
```javascript
|
|||
|
|
POST /webhook/meeting-minutes
|
|||
|
|
{
|
|||
|
|
"agenda_notes": "字符串",
|
|||
|
|
"transcript": "字符串",
|
|||
|
|
"ai_highlights": "字符串"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 文本提取
|
|||
|
|
```javascript
|
|||
|
|
POST /webhook/text-extractor
|
|||
|
|
Content-Type: multipart/form-data
|
|||
|
|
// 支持带进度跟踪的文件上传
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 竞品调研
|
|||
|
|
```javascript
|
|||
|
|
POST /webhook/competitor-research
|
|||
|
|
{
|
|||
|
|
"category": "字符串"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🐳 Docker命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 启动服务
|
|||
|
|
docker compose up -d
|
|||
|
|
|
|||
|
|
# 查看日志
|
|||
|
|
docker compose logs -f web
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose restart web
|
|||
|
|
|
|||
|
|
# 停止服务
|
|||
|
|
docker compose down
|
|||
|
|
|
|||
|
|
# 重建并启动
|
|||
|
|
docker compose up --build -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📝 贡献指南
|
|||
|
|
|
|||
|
|
1. Fork本仓库
|
|||
|
|
2. 创建特性分支 (`git checkout -b feature/新功能`)
|
|||
|
|
3. 提交变更 (`git commit -m '添加新功能'`)
|
|||
|
|
4. 推送到分支 (`git push origin feature/新功能`)
|
|||
|
|
5. 发起Pull Request
|
|||
|
|
|
|||
|
|
## 📄 许可协议
|
|||
|
|
|
|||
|
|
本项目采用MIT许可证,详情参见[LICENSE](LICENSE)文件。
|
|||
|
|
|
|||
|
|
## 🤝 技术支持
|
|||
|
|
|
|||
|
|
如需帮助或问题咨询:
|
|||
|
|
- 在仓库提交Issue
|
|||
|
|
- 联系开发团队
|
|||
|
|
- 查阅`docs/`目录文档
|
|||
|
|
|
|||
|
|
## 🔄 版本日志
|
|||
|
|
|
|||
|
|
### v1.0.0
|
|||
|
|
- 首发四大AI辅助模块
|
|||
|
|
- 支持Docker容器化部署
|
|||
|
|
- 现代化Vue 3 + Element Plus界面
|
|||
|
|
- 安全特性与输入验证机制
|
|||
|
|
- 文件上传进度跟踪功能
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**云大学AI卓越中心团队 倾力打造** ❤️
|
|||
|
|
|
|||
|
|
(注:部分功能标记的"待实现"可考虑移除或替换为实际功能描述)
|