Files
qihuaiflow/README.md
T
qyyfw 78ff261b5a 初始提交: Qihu-AIFlow v2.0.1 完整项目
- 前端 React+TypeScript (源码+构建产物)
- 后端 Python FastAPI
- 数据库迁移 001-015
- Docker部署配置
- 微信ClawBot API频道绑定
- 项目文档 README.md
2026-07-02 14:40:46 +08:00

287 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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聊天、知识库、用户系统