- 前端 React+TypeScript (源码+构建产物) - 后端 Python FastAPI - 数据库迁移 001-015 - Docker部署配置 - 微信ClawBot API频道绑定 - 项目文档 README.md
287 lines
9.9 KiB
Markdown
287 lines
9.9 KiB
Markdown
# Qihu-AIFlow 智能自动化PaaS平台
|
||
|
||
## 项目概述
|
||
|
||
Qihu-AIFlow 是一套**私有化部署、面向个人及小微企业的AI自动化SOP一站式PaaS平台**。用户无需编码即可落地全流程AI自动化业务,平台支持AI对话、知识管理、技能市场、Token计费、会员订阅等完整闭环体验。
|
||
|
||
**版本**: v2.0.1
|
||
**构建日期**: 2026-06-02
|
||
|
||
---
|
||
|
||
## 系统架构
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────┐
|
||
│ 前端 (React + TypeScript) │
|
||
│ Nginx :8080 → /#/ (HashRouter) │
|
||
├──────────────────────────────────────────────────┤
|
||
│ 后端 API (Python FastAPI) │
|
||
│ Uvicorn :18080 → /app/api/* │
|
||
├──────────────────────────────────────────────────┤
|
||
│ MySQL 8.0 (:3306) │
|
||
│ Redis (:6379) │
|
||
├──────────────────────────────────────────────────┤
|
||
│ 外部集成: │
|
||
│ - 微信ClawBot API (IM频道绑定) │
|
||
│ - AI模型供应商 (OpenAI兼容API) │
|
||
│ - 邮件SMTP / 短信服务 │
|
||
│ - 微信/支付宝支付 │
|
||
└──────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 技术栈
|
||
|
||
| 层级 | 技术 |
|
||
|------|------|
|
||
| 前端 | React 18 + TypeScript + Vite |
|
||
| 后端 | Python 3.11 + FastAPI + SQLAlchemy |
|
||
| 数据库 | MySQL 8.0 (SQLAlchemy ORM) |
|
||
| 缓存 | Redis |
|
||
| 容器化 | Docker + Docker Compose |
|
||
| Web服务器 | Nginx |
|
||
|
||
---
|
||
|
||
## 功能模块
|
||
|
||
### 前台功能(8大模块)
|
||
|
||
| 模块 | 功能说明 |
|
||
|------|----------|
|
||
| **AI聊天** | 多模型对话、知识库关联、Agent/技能调用、会话管理 |
|
||
| **频道(IM接入)** | 飞书/微信/钉钉/WhatsApp/Telegram/Slack多渠道AI接入,微信通过ClawBot API扫码绑定 |
|
||
| **知识库** | 文档上传/解析、知识图谱(LLM实体关系提取)、Canvas可视化 |
|
||
| **应用市场** | 应用浏览/安装/卸载、搜索去重、一键安装 |
|
||
| **Token驾驶舱** | Token消耗统计、CSV导出、用量图表、上海时区同步 |
|
||
| **付费中心** | 会员订阅(多等级)、增值服务、实名认证、微信/支付宝支付 |
|
||
| **资产中心** | 文件上传/分类/在线预览(Office/PDF)、AI生成图片管理 |
|
||
| **AI进化** | 进化Pipeline管理、知识图谱自动构建、定时任务监控 |
|
||
| **个人中心** | 用户资料管理、密码修改 |
|
||
| **消息通知** | 系统通知、应用安装通知 |
|
||
|
||
### 后台管理(7大模块)
|
||
|
||
| 模块 | 功能说明 |
|
||
|------|----------|
|
||
| **平台驾驶舱** | 用户/模型/订单/Token统计概览、操作日志、审计日志 |
|
||
| **用户管理** | 用户CRUD、角色管理、状态管理(封禁/激活) |
|
||
| **大模型库管理** | 模型供应商管理、模型配置、默认模型设置 |
|
||
| **网站基础设置** | 站点信息、邮件/SMS配置、AI文案生成 |
|
||
| **支付渠道配置** | 微信支付、支付宝商户配置 |
|
||
| **增值服务管理** | 服务定价、服务上下架 |
|
||
| **会员订阅体系** | 会员等级、订阅计划、自动化规则 |
|
||
| **广告位管理** | Banner图片上传、AI图像生成 |
|
||
| **应用市场审核** | 应用审核、优惠券管理 |
|
||
| **日志与风控** | 操作日志、API调用日志、付费日志审计 |
|
||
|
||
### AI自进化系统
|
||
|
||
- **进化Pipeline**: 自动监控知识库变化,触发知识图谱构建
|
||
- **知识图谱**: LLM提取实体/关系,Canvas交互式可视化
|
||
- **服务自动恢复**: 系统重启后自动恢复运行中的进化Pipeline
|
||
|
||
---
|
||
|
||
## 部署步骤
|
||
|
||
### 前置要求
|
||
|
||
- Docker & Docker Compose
|
||
- MySQL 8.0(或使用docker-compose中的MySQL服务)
|
||
- Redis(或使用docker-compose中的Redis服务)
|
||
|
||
### Docker 部署
|
||
|
||
```bash
|
||
# 1. 解压程序包
|
||
tar -xzf Qihu-aiflow.tar.gz
|
||
cd <解压目录>
|
||
|
||
# 2. 配置环境变量(编辑.env,或通过docker-compose传入)
|
||
# 关键配置: 数据库/Redis连接、APP_ACCESS_URL(外网访问地址)
|
||
|
||
# 3. 启动服务
|
||
docker-compose up -d
|
||
|
||
# 4. 验证服务
|
||
curl http://localhost:8080/ # 前端
|
||
curl http://localhost:18080/app/api/health # 后端
|
||
```
|
||
|
||
Docker Compose 会自动:
|
||
- 启动 MySQL + Redis 容器(如配置)
|
||
- 执行数据库迁移脚本(migrations/目录下001-015)
|
||
- 创建管理员账号
|
||
- 启动 Nginx (8080) + FastAPI (18080)
|
||
|
||
### 本地开发部署
|
||
|
||
```bash
|
||
# 1. 创建Python虚拟环境
|
||
cd backend/python
|
||
python3 -m venv .venv
|
||
source .venv/bin/activate
|
||
pip install -r requirements.txt
|
||
|
||
# 2. 配置.env文件
|
||
cp .env.example .env # 编辑数据库/Redis连接信息
|
||
|
||
# 3. 执行数据库迁移
|
||
mysql -u root -p aiflow < migrations/001_init.sql
|
||
# ... 依次执行002-015
|
||
|
||
# 4. 启动后端
|
||
cd /data/share/project
|
||
bash run.sh
|
||
|
||
# 5. 启动前端(开发模式)
|
||
cd frontend
|
||
npm install
|
||
npm run dev
|
||
```
|
||
|
||
---
|
||
|
||
## 环境配置说明
|
||
|
||
`.env` 文件配置项:
|
||
|
||
| 变量 | 说明 | 默认值 |
|
||
|------|------|--------|
|
||
| `MYSQL_HOST` | MySQL地址 | localhost |
|
||
| `MYSQL_PORT` | MySQL端口 | 3306 |
|
||
| `MYSQL_USER` | MySQL用户名 | root |
|
||
| `MYSQL_PASSWORD` | MySQL密码 | pwd2026 |
|
||
| `MYSQL_DATABASE` | 数据库名 | aiflow |
|
||
| `REDIS_HOST` | Redis地址 | localhost |
|
||
| `REDIS_PORT` | Redis端口 | 6379 |
|
||
| `REDIS_PASSWORD` | Redis密码 | pwd2026 |
|
||
| `SECRET_KEY` | JWT签名密钥 | (随机字符串) |
|
||
| `APP_ACCESS_URL` | 前端外网访问地址 | https://bot.qihuyun.com |
|
||
| `DEBUG` | 调试模式 | false |
|
||
| `KNOWLEDGE_STORAGE_DIR` | 知识库文件存储路径 | /data/share/project/data/knowledge |
|
||
|
||
---
|
||
|
||
## 管理员账号
|
||
|
||
部署后默认管理员账号:
|
||
|
||
| 用户名 | 密码 | 角色 |
|
||
|--------|------|------|
|
||
| admin | admin123 | 超级管理员 |
|
||
|
||
> 首次登录后建议立即修改密码。可在「个人中心」页面进行修改。
|
||
|
||
---
|
||
|
||
## 主要功能使用说明
|
||
|
||
### AI聊天
|
||
1. 登录后进入「AI聊天」页面
|
||
2. 选择模型(左侧模型选择器)
|
||
3. 可选关联知识库、Agent或技能
|
||
4. 输入消息开始对话,支持流式输出
|
||
|
||
### 频道(IM接入)
|
||
1. 进入「频道」页面,点击「接入新平台」
|
||
2. 选择目标平台(飞书/微信/钉钉等)
|
||
3. 填写频道信息和平台凭证
|
||
4. **微信**: 填写AppID/AppSecret后点击「生成绑定二维码」,用微信扫码授权
|
||
5. **其他平台**: 按指引获取官方凭证后填写
|
||
6. 授权成功后,AI机器人即可在该IM平台响应消息
|
||
|
||
### 知识库
|
||
1. 创建知识库,上传文档(支持PDF/Word/TXT等)
|
||
2. 系统自动解析文档内容
|
||
3. 在AI聊天中选择知识库,AI将基于知识库内容回答
|
||
4. 知识图谱功能可自动提取实体和关系,以Canvas可视化展示
|
||
|
||
### 应用市场
|
||
1. 浏览可用的AI应用
|
||
2. 查看应用详情
|
||
3. 付费购买后一键安装
|
||
4. 已安装应用可卸载(支持重新安装)
|
||
|
||
### Token驾驶舱
|
||
1. 查看Token消耗概览和趋势图表
|
||
2. 按模型/日期维度分析用量
|
||
3. 支持CSV格式导出消耗明细
|
||
4. 一键跳转充值页面
|
||
|
||
### 付费中心
|
||
1. 选择会员等级订阅
|
||
2. 购买增值服务
|
||
3. 支持微信支付/支付宝
|
||
4. 需先完成实名认证
|
||
|
||
---
|
||
|
||
## 数据库迁移
|
||
|
||
迁移脚本位于 `migrations/` 目录,按编号顺序执行:
|
||
|
||
| 编号 | 说明 |
|
||
|------|------|
|
||
| 001 | 初始化表结构 |
|
||
| 002 | 初始数据(管理员账号、种子数据) |
|
||
| 003 | 增值服务表 |
|
||
| 004 | OAuth状态字段 |
|
||
| 005 | 频道扩展字段 |
|
||
| 006 | API调用统计表 |
|
||
| 007 | 进化系统基础表 |
|
||
| 008 | 进化系统v2 |
|
||
| 009 | 支付实名认证字段 |
|
||
| 010 | 默认模型字段 |
|
||
| 011 | 知识库存储与资产表 |
|
||
| 012 | 生产环境列同步 |
|
||
| 013 | 知识图谱表 |
|
||
| 014 | 测试数据清理 |
|
||
| 015 | 生产修复(content列+AppPurchase状态) |
|
||
|
||
---
|
||
|
||
## 项目文件结构
|
||
|
||
```
|
||
/
|
||
├── frontend/ # 前端项目
|
||
│ ├── dist/ # 构建产物
|
||
│ ├── src/ # TypeScript源码
|
||
│ │ ├── api/ # API客户端
|
||
│ │ ├── components/ # 通用组件
|
||
│ │ ├── pages/ # 页面组件
|
||
│ │ └── types/ # 类型定义
|
||
│ ├── package.json
|
||
│ └── vite.config.ts
|
||
├── backend/python/ # 后端项目
|
||
│ ├── app/
|
||
│ │ ├── api/ # API路由
|
||
│ │ │ └── admin/ # 后台管理API
|
||
│ │ ├── models.py # 数据模型
|
||
│ │ ├── services/ # 业务服务
|
||
│ │ ├── middleware/ # 中间件
|
||
│ │ └── platform_adapters/ # IM平台适配器
|
||
│ ├── main.py # 应用入口
|
||
│ └── requirements.txt # Python依赖
|
||
├── migrations/ # 数据库迁移脚本
|
||
├── docs/ # 项目文档(PRD等)
|
||
├── Dockerfile # Docker镜像构建
|
||
├── docker-compose.yml # Docker编排配置
|
||
├── nginx.conf # Nginx配置
|
||
├── run.sh # 启动脚本
|
||
├── .env # 环境变量配置
|
||
└── VERSION # 版本信息
|
||
```
|
||
|
||
---
|
||
|
||
## 更新日志
|
||
|
||
详见 `VERSION` 文件和 `CHANGELOG.md`。主要里程碑:
|
||
|
||
- **v2.0.1** (2026-06-02): 频道微信ClawBot API标准重构、6项生产缺陷修复
|
||
- **v2.0.0**: AI进化系统、知识图谱、多平台IM接入、支付体系
|
||
- **v1.x**: 基础AI聊天、知识库、用户系统
|