- 前端 React+TypeScript (源码+构建产物) - 后端 Python FastAPI - 数据库迁移 001-015 - Docker部署配置 - 微信ClawBot API频道绑定 - 项目文档 README.md
9.9 KiB
9.9 KiB
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 部署
# 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)
本地开发部署
# 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聊天
- 登录后进入「AI聊天」页面
- 选择模型(左侧模型选择器)
- 可选关联知识库、Agent或技能
- 输入消息开始对话,支持流式输出
频道(IM接入)
- 进入「频道」页面,点击「接入新平台」
- 选择目标平台(飞书/微信/钉钉等)
- 填写频道信息和平台凭证
- 微信: 填写AppID/AppSecret后点击「生成绑定二维码」,用微信扫码授权
- 其他平台: 按指引获取官方凭证后填写
- 授权成功后,AI机器人即可在该IM平台响应消息
知识库
- 创建知识库,上传文档(支持PDF/Word/TXT等)
- 系统自动解析文档内容
- 在AI聊天中选择知识库,AI将基于知识库内容回答
- 知识图谱功能可自动提取实体和关系,以Canvas可视化展示
应用市场
- 浏览可用的AI应用
- 查看应用详情
- 付费购买后一键安装
- 已安装应用可卸载(支持重新安装)
Token驾驶舱
- 查看Token消耗概览和趋势图表
- 按模型/日期维度分析用量
- 支持CSV格式导出消耗明细
- 一键跳转充值页面
付费中心
- 选择会员等级订阅
- 购买增值服务
- 支持微信支付/支付宝
- 需先完成实名认证
数据库迁移
迁移脚本位于 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聊天、知识库、用户系统