# soybean
**Repository Path**: leocccc/soybean
## Basic Information
- **Project Name**: soybean
- **Description**: OPENBMC 前端
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: webui
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-27
- **Last Updated**: 2026-01-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
OpenUI
基于 Vue3 + Naive UI 的现代化 BMC Web 管理界面
---
[](./LICENSE)
## 项目说明
OpenUI 是一个专为 OpenBMC (Baseboard Management Controller) 场景设计的现代化 Web 管理界面。前端框架基于开源项目 [SoybeanAdmin](https://github.com/soybeanjs/soybean-admin) 构建,针对 BMC 管理需求进行了深度优化和定制,集成 Redfish API 标准,提供高效、稳定的服务器管理解决方案。
## 技术架构
- **前端框架**: 基于 Vue3 + TypeScript + Naive UI + UnoCSS
- **后端集成**: BMC Redfish API 标准
- **架构设计**: 针对BMC场景优化的缓存机制和权限系统
- **项目结构**: pnpm monorepo + 模块化设计
## BMC 专用特性
- **Redfish API 集成**: 完整支持 BMC Redfish 标准,无缝对接服务器管理接口
- **缓存优化策略**: 针对 BMC API 响应延迟优化的 30 秒 TTL 缓存机制
- **权限管理系统**: 基于 OpenBMC 标准的四角色权限控制 (Administrator/Operator/ReadOnly/NoAccess)
- **实时状态监控**: 服务器硬件状态、传感器数据、日志信息的实时更新
- **批量操作支持**: 固件更新、配置管理、重启等批量操作功能
- **多语言界面**: 中英文双语支持,适配国际化部署需求
## 通用特性
- **前沿技术应用**: 采用 Vue3, Vite7, TypeScript, Pinia 和 UnoCSS 等最新流行的技术栈
- **清晰的项目架构**: 采用 pnpm monorepo 架构,结构清晰,优雅易懂
- **严格的代码规范**: 遵循现代前端开发规范,集成 eslint, prettier 和 simple-git-hooks
- **TypeScript 支持**: 严格的类型检查,提高代码的可维护性
- **丰富的主题配置**: 内置多样的主题配置,与 UnoCSS 完美结合
- **自动化文件路由**: 自动生成路由导入、声明和类型
- **灵活的权限路由**: 支持前端静态路由和后端动态路由
- **丰富的页面组件**: 内置多样页面和组件,包括403、404、500页面等
- **命令行工具**: 内置高效的命令行工具,支持 git提交、文件管理等
- **移动端适配**: 完美支持移动端,实现自适应布局
## 功能模块
### 🔧 **系统管理**
- 系统概览与状态监控
- 硬件信息查看 (FRU、传感器、处理器、内存)
- 电源管理与策略配置
- 温控管理与风扇调速
### 📋 **日志与告警**
- 事件日志查看与导出
- 审计日志管理
- 告警配置与通知
- 故障诊断工具
### 🛠️ **操作与维护**
- KVM 远程控制
- 虚拟媒体挂载
- 固件更新管理
- 配置备份与恢复
### 🔒 **安全与权限**
- 用户账户管理
- 会话管理
- LDAP 集成
- 证书管理
### ⚙️ **BMC 设置**
- 网络配置
- 时间与日期设置
- 服务管理
- 系统防火墙
## 快速开始
**环境准备**
确保你的环境满足以下要求:
- **git**: 你需要git来克隆和管理项目版本
- **NodeJS**: >=20.19.0,推荐 20.19.0 或更高
- **pnpm**: >= 10.5.0,推荐 10.5.0 或更高
**克隆项目**
```bash
git clone <项目仓库地址>
cd OpenUI
```
**安装依赖**
```bash
pnpm i
```
> 由于本项目采用了 pnpm monorepo 的管理方式,因此请不要使用 npm 或 yarn 来安装依赖。
**启动项目**
```bash
pnpm dev
```
**构建项目**
```bash
pnpm build
```
## 项目结构
```
OpenUI/
├── packages/ # 子包目录
│ ├── alofa/ # HTTP 请求库
│ ├── axios/ # Axios 封装
│ ├── color/ # 颜色工具
│ ├── hooks/ # Vue 组合式函数
│ └── uno-preset/ # UnoCSS 预设
├── src/ # 源代码
│ ├── assets/ # 静态资源
│ ├── components/ # 组件
│ ├── composables/ # 组合式函数
│ ├── constants/ # 常量定义
│ ├── layouts/ # 布局组件
│ ├── locales/ # 国际化
│ ├── router/ # 路由配置
│ ├── store/ # 状态管理
│ ├── theme/ # 主题配置
│ └── views/ # 页面组件
├── public/ # 公共资源
├── docs/ # 文档
└── build/ # 构建配置
```
## 开发指南
### 代码规范
项目使用 ESLint + Prettier 进行代码规范检查:
```bash
# 代码检查和修复
pnpm lint
# 类型检查
pnpm typecheck
```
### Git 提交规范
使用内置的 commit 命令生成符合 Conventional Commits 规范的提交信息:
```bash
pnpm commit
```
### 国际化
项目支持中英文双语,新增翻译请参考:
- `src/locales/langs/zh-cn/` - 中文翻译目录(基础与业务拆分)
- `src/locales/langs/en-us/` - 英文翻译目录(基础与业务拆分)
## 致谢
本项目前端框架基于 [SoybeanAdmin](https://github.com/soybeanjs/soybean-admin) 开发,感谢原作者 [Soybean](https://github.com/honghuangdc) 和贡献者的开源贡献。
## 开源协议
项目基于 [MIT](./LICENSE) 协议开源,同时遵循原始项目的 MIT 许可证要求。