Files
skills-lottery-picker/projects/Qihu-AIFlow/README.md
T
2026-06-19 06:38:31 +00:00

219 lines
8.7 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 V1 项目记录
> **记录时间**: 2026-06-07
> **首次完整检查**: ✅ 已完成
> **当前状态**: 代码已上传服务器(/www/wwwroot/Qihu-aiflow),Docker已安装但**容器尚未启动**
## 一、项目概览
| 项目 | 内容 |
|:----|:-----|
| **项目名称** | Qihu-AIFlow 智能自动化PaaS平台 |
| **当前版本** | v2.0.1 |
| **构建日期** | 2026-06-02 |
| **开发平台** | https://code.tokenpony.cn/ (前期开发) |
| **服务器** | 210.16.161.214 (root/XHR521yhf) |
| **程序路径** | `/www/wwwroot/Qihu-aiflow` |
| **外网域名** | https://bot.qihuyun.com |
| **Git** | ✅ 已初始化但暂无远端仓库 |
### 一句话定位
一套私有化部署、面向个人及小微企业的AI自动化SOP一站式PaaS平台。用户无需编码即可落地全流程AI自动化业务,支持AI对话、知识管理、技能市场、Token计费、会员订阅等完整闭环体验。
## 二、技术栈
| 层级 | 技术 |
|:----|:-----|
| **前端** | React 18 + TypeScript + Vite |
| **后端** | Python 3.11 + FastAPI + SQLAlchemy ORM |
| **数据库** | MySQL 8.0 (SQLAlchemy ORM, QueuePool 20~40) |
| **缓存** | Redis 7 (requirepass: pwd2026, AOF持久化) |
| **容器化** | Docker (v29.5.2) + Docker Compose |
| **Web服务器** | Nginx 1.30.1 (容器内监听8080, BT面板Nginx监听888) |
### 端口映射(docker-compose)
| 服务 | 容器端口 | 宿主机端口 |
|:----|:--------:|:----------:|
| 前端 (Nginx) | 8080 | **12888** |
| 后端 (Uvicorn) | 18080 | **18080** |
| MySQL | 3306 | 3306 |
| Redis | 6379 | 6379 |
## 三、文件结构(核心)
```
/www/wwwroot/Qihu-aiflow/
├── run.sh # 一键启动脚本(Docker + 本地双模式)
├── docker-compose.yml # 服务编排(aiflow + mysql + redis)
├── Dockerfile # 镜像构建
├── nginx.conf # Nginx配置(SPA路由 + API代理)
├── .env # 环境变量
├── VERSION # v2.0.1
├── CHANGELOG.md # 变更日志
├── migrations/ # 15个SQL迁移脚本 (001-015)
├── frontend/
│ ├── dist/ # 已构建产物(1.6M)
│ ├── src/
│ │ ├── api/index.ts # API接口封装
│ │ ├── pages/front/ # 13个前台页面
│ │ ├── pages/admin/ # 10个后台页面
│ │ ├── components/layout/ # AdminLayout + FrontLayout
│ │ ├── contexts/AuthContext.tsx
│ │ ├── types/index.ts
│ │ └── mock/data.ts
│ └── package.json
└── backend/python/
├── main.py # 入口 (214行)
├── requirements.txt # 19个依赖
└── app/
├── config.py # 配置(3级域名防护)
├── database.py # DB连接(QueuePool)
├── models.py # 数据模型 (937行, 35+ 表)
├── auth.py # JWT认证
├── pipeline.py # 进化Pipeline
├── event_bus.py # Redis事件总线
├── platform_adapter.py # 适配器基类
├── message_session.py # 消息会话
├── message_components.py # 消息组件
├── services/ # 业务服务层
├── platform_adapters/ # 6个IM平台适配器
├── middleware/ # 日志中间件
└── api/ # 10个API模块 + 9个admin子模块
```
**统计**: 后端45个py文件 + 前端51个源文件 = **96个源代码文件**
## 四、功能模块清单
### 前台功能(8+ 模块)
| 模块 | 状态 | 说明 |
|:----|:----:|:----|
| AI智能对话 | ✅ | 多模型切换、Agent/技能调用、知识库关联、会话管理 |
| 频道接入IM | ✅ | 飞书/微信/钉钉/WhatsApp/Telegram/Slack,统一Webhook |
| 知识库管理 | ✅ | 文档上传/解析、知识图谱(LLM实体关系提取)、Canvas可视化 |
| 应用市场 | ✅ | Skill/Agent/MCP应用发布、安装/卸载、搜索去重 |
| Token驾驶舱 | ✅ | Token消耗统计、CSV导出、排行榜、余额管理 |
| 付费中心 | ✅ | 会员订阅(月/季/年)、优惠券、微信/支付宝支付、实名认证 |
| 资产管理 | ✅ | 文件上传/分类/预览(Office/PDF)、AI生成图片管理 |
| AI进化系统 | ✅ | 进化Pipeline自动监控、知识图谱构建、自动恢复 |
| 个人中心 | ✅ | 用户资料、密码修改、API Key管理 |
| 消息通知 | ✅ | 系统公告、续费提醒、订单通知 |
### 后台管理(10 大模块)
| 模块 | 状态 | 说明 |
|:----|:----:|:----|
| 平台驾驶舱 | ✅ | 用户/模型/订单/Token统计概览 |
| 用户管理 | ✅ | 用户CRUD、角色管理、封禁/激活 |
| 大模型库管理 | ✅ | 模型供应商管理、模型配置、全局默认模型 |
| 网站基础设置 | ✅ | 站点信息、邮件/SMTP/SMS/AI文案生成 |
| 支付渠道配置 | ✅ | 微信支付、支付宝商户配置 |
| 增值服务管理 | ✅ | 服务定价、上下架 |
| 会员订阅体系 | ✅ | 会员等级、订阅计划、自动化规则 |
| 广告位管理 | ✅ | Banner图片上传、AI图像生成 |
| 应用市场审核 | ✅ | 应用审批、优惠券管理 |
| 日志与风控 | ✅ | 操作日志、API调用日志、付费日志审计 |
## 五、数据库概览(35+ 表)
models.py 937行,包含完整数据模型:
- 用户体系(users, roles, api_keys, login_logs等)
- 对话管理(conversations, chat_messages, session_contexts等)
- 模型管理(model_providers, models, default_models等)
- 知识库(knowledge_bases, documents, chunks, graph_nodes等)
- 应用市场(apps, app_categories, app_purchases等)
- 频道(channels, channel_oauth_states等)
- 支付(orders, subscriptions, transactions等)
- Token(token_usage, token_balance等)
- 资产(assets, asset_categories等)
- 日志(operation_logs, audit_logs, api_call_stats等)
- 广告(ad_banners)
- 进化(evolution_pipelines, build_records)
**迁移脚本**: 15个 (001_init ~ 015_production_fixes)
## 六、配置信息
| 配置项 | 值 |
|:------|:----|
| APP_ACCESS_URL | https://bot.qihuyun.com |
| MYSQL_USER/PASSWORD | root / pwd2026 |
| MYSQL_DATABASE | aiflow |
| REDIS_PASSWORD | pwd2026 |
| SECRET_KEY | aiflow-secret-key-change-in-production-2026 |
| DEBUG | false |
## 七、已知技术亮点
1. **统一Webhook架构** — 借鉴AstrBot,通过适配器模式统一处理多平台IM消息
2. **Redis事件总线** — 支持跨服务异步通信
3. **Pipeline自动恢复** — 系统重启后自动恢复运行中的进化Pipeline
4. **Canvas知识图谱** — 节点拖拽、悬停高亮、点击详情面板
5. **日志防删除** — 数据库层禁止DELETE操作日志
6. **智能SSL参数检测** — run.sh自动检测MySQL SSL兼容性
7. **智能密码检测** — 仅在哈希无效时重置admin密码
8. **三级域名防护** — 自动检测临时域名并覆盖为正式域名
9. **Office/PDF在线预览** — 文件类型映射和预览
## 八、当前服务器环境
| 环境 | 状态 |
|:----|:----|
| 操作系统 | Linux (BT面板管理) |
| BT面板 | ✅ 监听888端口 |
| Docker | ✅ v29.5.2 |
| Nginx (BT) | ✅ v1.30.1 监听888端口 |
| Docker容器 | ❌ 尚未运行 |
| MySQL | ❌ 待Docker部署 |
| Redis | ❌ 待Docker部署 |
| 后端服务 :18080 | ❌ 不可达 |
| 前端页面 :12888 | ❌ 不可达 |
| Git远端仓库 | ⚠️ 未设置 |
| 域名 bot.qihuyun.com | ⚠️ 已指向但服务未启动 |
### 端口占用
| 端口 | 用途 |
|:---:|:----|
| 22 | SSH |
| 53 | systemd-resolve DNS |
| 888 | BT面板 Nginx |
| 18521 | BT面板 |
## 九、检查状态清单
| 检查项 | 状态 | 备注 |
|:------|:----:|:----|
| 源码完整性 | ✅ | 后端45py + 前端51src + 15SQL |
| 前端构建产物 | ✅ | dist/ 1.6M 存在 |
| Dockerfile | ✅ | 存在 |
| docker-compose.yml | ✅ | 3服务编排完整 |
| nginx.conf | ✅ | SPA路由+API代理正确 |
| .env 配置 | ✅ | 正式域名已配置 |
| run.sh 启动脚本 | ✅ | 智能检测+自动迁移 |
| CHANGELOG | ✅ | 完整记录 |
| VERSION | ✅ | v2.0.1 |
| README | ✅ | 完整文档 |
| 服务运行 | ❌ | 容器未启动 |
| 数据库 | ❌ | 待Docker部署 |
| Git远端 | ⚠️ | 已初始化未设置远端 |
## 十、首次启动(待执行)
```bash
cd /www/wwwroot/Qihu-aiflow
docker compose up -d --build
# 验证
curl http://localhost:18080/app/api/health
curl http://localhost:12888/
docker compose logs -f aiflow
```
> 首次启动MySQL容器初始化约30-60秒,aiflow容器等待MySQL健康后才开始。
---
*V1 记录完毕。部署运行并验证功能后更新至 V1.1 或 V2。*