# wbr-aios-project **Repository Path**: work_project_item/wbr-aios-project ## Basic Information - **Project Name**: wbr-aios-project - **Description**: AIOS系统系统平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-29 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AIOS - AI 应用管理平台 AIOS(AI Operating System)是一个全面的AI应用管理平台,提供智能体编排、模型生命周期管理、知识库管理、算力资源管理等功能。 ## 项目简介 AIOS是一个企业级AI应用管理平台,旨在为AI应用提供统一的开发、部署和管理环境。平台集成了模型管理、智能体编排、知识库管理、数据开发、资源监控等核心功能,支持多种AI模型的统一管理和调用。 ### 核心特性 - **智能体管理** - 智能体的创建、配置、部署和监控 - **模型管理** - 支持大模型、视觉大模型、视觉小模型等多种模型的统一管理 - **知识管理** - 知识图谱和多模态知识库管理 - **能力中心** - 应用能力的注册、管理和调用 - **应用中心** - 应用门户 - **数据管理** - 流媒体数据、设备数据、数据开发等功能 - **算力管理** - 计算节点和资源的监控与管理 - **权限管理** - 基于角色的访问控制(RBAC)和授权管理 ## 技术架构 ### 后端技术栈 - **FastAPI** - 现代高性能 Python Web 框架 - **SQLAlchemy** - ORM 数据库操作 - **PyMySQL** - MySQL 数据库驱动 - **Neo4j** - 图数据库(知识图谱) - **JWT** - Token 认证 - **Pydantic** - 数据验证和序列化 - **MinIO** - 对象存储(如配置) ### 前端技术栈 - **React** - UI 框架 - **TypeScript** - 类型安全的 JavaScript - **Vite** - 快速的前端构建工具 - **CodeMirror** - 代码编辑器 - **Recharts** - 图表库 - **Lucide React** - 图标库 ## 项目结构 ``` wbr-aios-project/ ├── backend/ # 后端服务 │ ├── app/ # 应用主目录 │ │ ├── api/ # API 路由 │ │ ├── models/ # 数据库模型 │ │ ├── schemas/ # Pydantic 模式 │ │ ├── utils/ # 工具函数 │ │ ├── config.py # 配置管理 │ │ ├── database.py # 数据库连接 │ │ └── main.py # 应用入口 │ ├── requirements.txt # Python 依赖 │ ├── run.py # 启动脚本 │ ├── init_database.py # 数据库初始化 │ ├── setup.sh # 环境设置脚本 │ └── start.sh # 启动脚本 ├── frontend/ # 前端应用 │ ├── src/ # 源代码(如存在) │ ├── components/ # React 组件 │ ├── api/ # API 调用 │ ├── services/ # 服务层 │ ├── package.json # Node.js 依赖 │ └── vite.config.ts # Vite 配置 └── README.md # 项目说明文档 ``` ## 快速开始 ### 前置要求 - **Python** 3.8+ (后端) - **Node.js** 16+ (前端) - **MySQL** 5.7+ 或 8.0+ - **Neo4j** 4.0+ (可选,用于知识图谱) ### 后端启动 #### 方式一:使用自动化脚本(推荐) **macOS/Linux:** ```bash cd backend # 1. 设置虚拟环境(首次运行) chmod +x setup.sh ./setup.sh # 2. 启动服务 chmod +x start.sh ./start.sh ``` #### 方式二:手动启动 ```bash cd backend # 1. 创建虚拟环境 python -m venv venv # 2. 激活虚拟环境 # macOS/Linux: source venv/bin/activate # Windows: venv\Scripts\activate # 3. 安装依赖 pip install -r requirements.txt # 4. 初始化数据库 python init_database.py # 5. 启动服务 python run.py ``` 后端服务启动后: - API 文档:http://localhost:8000/api/docs - ReDoc 文档:http://localhost:8000/api/redoc - 健康检查:http://localhost:8000/health ### 前端启动 ```bash cd frontend # 1. 安装依赖 npm install # 2. 启动开发服务器 npm run dev ``` 前端服务启动后访问:http://localhost:5173(默认端口) ## 配置说明 ### 后端配置 后端配置文件位于 `backend/app/config.py`,主要配置项包括: - **数据库配置** - MySQL 连接信息 - **JWT配置** - Token 密钥和过期时间 - **Neo4j配置** - 图数据库连接信息(如使用) - **MinIO配置** - 对象存储连接信息 - **本地存储配置** - `LOCAL_STORAGE_ROOT` 统一管理本地文件存储路径 - **CORS配置** - 跨域设置 可以通过环境变量或 `.env` 文件覆盖配置。 ### 前端配置 前端开发环境配置位于 `frontend/.env.local`(或 `.env.development`),主要配置项包括: - **VITE_BACKEND_URL** - 开发环境后端服务地址。`npm run dev` 时,`/api` 和 `/static` 请求会代理到该地址。不配置时默认 `http://localhost:8000`。 - **GEMINI_API_KEY** - Gemini API 密钥(如使用相关功能) 示例(连接远程后端): ```bash # frontend/.env.local VITE_BACKEND_URL=http://192.168.3.53:16007 ``` 修改 `.env.local` 后需重启 `npm run dev` 才能生效。 #### 本地文件存储 (LOCAL_STORAGE_ROOT) 通过 `LOCAL_STORAGE_ROOT` 环境变量可配置本地文件的统一存储根目录。为空时使用项目目录(`backend/`)作为默认根,设置后所有本地文件统一存放到该目录下,子目录由服务自动创建: ``` {LOCAL_STORAGE_ROOT}/ ├── static/ # FastAPI 静态文件(通过 /static URL 访问) │ └── uploads/ │ ├── carousel/ # 轮播图 │ ├── quick-exp/ # 快速体验卡片封面 │ ├── videos/ # 上传的视频文件 │ └── covers/ # 业务平台模板封面 ├── uploads/ # 后端业务上传文件 │ ├── modeling/ │ │ ├── models/ # 上传的模型文件 │ │ ├── datasets/ # 上传的数据集 │ │ ├── results/ # 建模运行结果 │ │ └── saved_models/ # 训练产出的模型 │ └── etl/ │ └── sources/ # ETL 数据源文件 ├── yolo_models/ # YOLO 模型文件 ├── logs/ # 应用日志 └── service_logs/ # 服务运行日志 ``` 本地开发示例: ```bash # backend/.env(为空则默认使用 backend/ 目录) LOCAL_STORAGE_ROOT="" ``` Docker 部署示例(宿主机路径 = 容器内路径,只需一个挂载): ```bash # docker/.env LOCAL_STORAGE_ROOT=/data/aios ``` ```yaml # docker-compose.yml volumes 会自动映射为: # /data/aios:/data/aios ``` ### 数据库初始化 首次运行 `init_database.py` 会: - 创建所有数据库表 - 初始化权限数据(菜单、API权限等) - 创建默认角色(超级管理员、普通用户、运维人员) - 创建默认管理员账号(用户名:`admin`,密码:`admin123`) - 创建示例授权许可 **⚠️ 重要:生产环境请务必修改默认管理员密码!** ## 功能模块 ### 1. 认证与授权 - 用户登录/登出 - JWT Token 认证 - 基于角色的访问控制(RBAC) - 权限管理(菜单权限、API权限) - License 授权管理 - **默认路由**:登录成功后(或通过授权校验后)直接进入**应用门户**页面 ### 2. 模型管理 - **大模型管理** - LLM 模型的注册和配置 - **视觉大模型** - 视觉模型的配置和测试 - **视觉小模型** - YOLO 等小模型的管理 - **其他模型** - 其他类型模型的统一管理 - **模型推理** - 统一的模型调用接口 - **推理日志** - 模型调用记录和统计 ### 3. 智能体管理 - 智能体的创建和配置 - 智能体能力绑定 - 智能体部署和监控 - **按实例分组**:一级按基础业务平台实例分组,选择实例后进入该实例下的智能体列表 - **按标签分类**:进入实例后支持按 tag 筛选,卡片展示标签,点击标签可快速筛选 ### 4. 知识管理 - **知识图谱** - 基于 Neo4j 的知识图谱管理 - **多模态知识库** - 支持文本、图片等多种模态的知识存储 - 知识检索和查询 ### 5. 能力中心 - 应用能力注册 - 能力包管理 - MCP 端点配置 - 工具和资源管理 - 技能包管理 ### 6. 前端路由与菜单(三级结构) 系统采用**三级路由**布局(参考示意图):左侧一级为「应用 / OS / 开发 / 管理」,选中后中栏展示二级分组与三级叶子菜单,右侧为主内容区。 - **应用**:应用中心(工作台、应用门户) - **OS**:模型管理(大模型、小模型、视觉大模型、视觉小模型)、其他模型、智能体(智能体管理)、知识管理(知识库、思维链、多模态知识)、资源管理(算力列表、资源清单) - **开发**:数据开发(流媒体数据、IoT 数据、数据建模)、应用开发(业务应用看板、应用开发) - **管理**:系统管理(用户管理、角色管理、权限管理、应用管理、授权管理、AI 配置、能力暴露、记忆仓库、记忆管理) 菜单与权限配置见 `frontend/constants.tsx` 中的 `MENU_L1_L2_L3`,侧栏组件为 `frontend/components/Sidebar.tsx`。 ### 7. 应用中心 - **应用门户** - 应用的统一入口和展示 ### 8. 数据管理 - **流媒体数据** - 流媒体平台和设备管理 - **设备数据** - 设备数据的采集和管理 - **数据开发** - 数据列表和数据超市 ### 9. 资源管理 - **算力管理** - 计算节点的监控和管理 - **资源清单** - 系统资源(数据库、缓存等)的监控 - **插件系统** - 可扩展的监控插件 ### 10. 记忆管理 - 智能体的记忆存储和管理 - 记忆检索和查询 ## API 文档 启动后端服务后,可以通过以下地址访问 API 文档: - **Swagger UI**:http://localhost:8000/api/docs - **ReDoc**:http://localhost:8000/api/redoc - **OpenAPI JSON**:http://localhost:8000/api/openapi.json ### 认证方式 API 使用 Bearer Token 认证,在请求头中添加: ``` Authorization: Bearer ``` 获取 Token 的方式: 1. 调用登录接口:`POST /api/auth/login` 2. 从响应中获取 `access_token` 3. 在后续请求的 Header 中携带该 Token ## 开发指南 ### 后端开发 1. **添加新的 API 路由** - 在 `backend/app/api/` 目录下创建新的路由文件 - 在 `backend/app/api/__init__.py` 中注册路由 2. **添加新的数据模型** - 在 `backend/app/models/` 目录下创建模型文件 - 在 `backend/app/models/__init__.py` 中导出模型 - 创建对应的 Schema 在 `backend/app/schemas/` 目录 3. **数据库迁移** - 修改模型后,需要更新数据库结构 - 可以使用 SQLAlchemy 的迁移工具或手动执行 SQL ### 前端开发 1. **添加新的页面组件** - 在 `frontend/components/` 目录下创建组件 - 在路由配置中添加页面路由 2. **API 调用** - 在 `frontend/api/` 目录下定义 API 调用函数 - 在组件中使用这些函数 ## 部署说明 ### 后端部署 生产环境建议使用以下方式部署: 1. **使用 Gunicorn + Uvicorn Workers** ```bash pip install gunicorn gunicorn app.main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 ``` 2. **使用 Docker**(如配置了 Dockerfile) 3. **使用 Nginx 反向代理** ### 前端部署 ```bash cd frontend npm run build ``` 构建产物在 `dist/` 目录,可以部署到 Nginx 或其他静态文件服务器。 ## 默认账号 - **用户名**:admin - **密码**:admin123 ⚠️ **生产环境请务必修改默认密码!** ## 许可证 MIT License ## 联系方式 如有问题或建议,请通过 Issue 反馈。 ## 更新日志 查看各子模块的 README 文件获取详细的更新日志: - [后端更新日志](backend/README.md) - [前端更新日志](frontend/README.md)