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卓越中心团队 倾力打造** ❤️
|
||
|
||
(注:部分功能标记的"待实现"可考虑移除或替换为实际功能描述) |