deepseek 生了一个 面向中小机房的 Windows 桌面端基础设施管理工具 —— 可视化机架、记录设备信息与连接关系、本地加密存储凭据。
https://github.com/guxin0123/Rack42
Rack42
面向中小机房的 Windows 桌面端基础设施管理工具 —— 可视化机架、记录设备信息与连接关系、本地加密存储凭据。
简介
Rack42 是一个基于 Tauri 2 构建的机房管理桌面应用。它把机房的物理与逻辑资产集中到一个本地应用中:
- 机架可视化:以 U 位视图展示机柜内设备的占用情况,支持前/后视图与容量统计。
- 设备资产台账:物理服务器、虚拟化服务器( VM )、路由器、交换机等,记录名称、管理 IP (可多个)、型号、序列号、厂商、所属机架与 U 位。
- 关系拓扑:机柜 → 设备 → 虚拟机的归属关系与设备之间的物理连线(网线/光纤/电源),以交互式拓扑图呈现。
- 凭据安全存储:用户名/密码本地加密保存,不落明文,不依赖云端。
Rack42 面向单机或小团队使用场景,数据完全保存在本机,适合无法接入云服务、对凭据可控性有要求的机房运维环境。
功能特性
已规划 / 核心功能
- 机柜与 U 位管理(新增、编辑、移动设备、容量热力图)
- 多类型设备建模:物理服务器、虚拟机、路由器、交换机、防火墙、存储、PDU
- 设备详情:名称、管理 IP (可多个,首个为主)、型号、序列号、厂商、操作系统( Windows / Linux / 其他)、状态
- 凭据管理:类型( RDP / SSH / iDRAC / ESXi / Web / 其他)、地址、端口、用户名、密码(加密存储)、备注,支持多凭据绑定同一设备
- 凭据总览:凭据页默认列出全部设备的凭据(带所属设备列),可按设备筛选;新增时可选择目标设备
- 设备列表快捷连接:按凭据类型启动 RDP (临时
.rdp+ DPAPI ,密码不进命令行)或打开 Web 管理页 - SSH/SFTP 快捷连接:支持 Xshell/Xftp 7.x 、PuTTY/psftp 、Windows OpenSSH ;默认不把密码放入命令行;点击连接时密码自动复制到剪贴板,10 秒后清除
- 设备内凭据管理:编辑设备时管理凭据、默认凭据、跟随主 IP ;同类型多凭据可弹出选择
- 新建设备时可直接录入多条凭据,点击「创建设备」与设备一并保存
- 设备列表树形展示:宿主机下嵌套显示其虚拟机,可折叠/展开,搜索时自动展开命中项
- 设备列表右键菜单:连接、管理凭据、编辑、删除、为物理服务器添加虚拟机
- 设备列表连接按钮使用凭据类型图标(含自定义上传图标);同一类型含多个动作( SSH/SFTP )时使用动作图标区分
- 端口延迟探测:包含凭据的设备自动探测凭据端口( TCP ,1.5 秒超时),列表显示最小延迟,悬停查看每个端口的结果
- 操作系统分类:设置中可新增/编辑分类、选择图标、维护具体系统列表;设备列表与拓扑显示分类图标
- IP 总览:按网段( IPv4 /24 、IPv6 /64 )汇总设备管理 IP 与凭据地址,可搜索
- 凭据类型管理:自定义类型、动作、默认端口、内置图标与 PNG/JPEG/WebP 自定义图标
- 连接审计:记录 RDP/Web/SSH/SFTP 的动作、设备、凭据、目标与结果,不记录密码或用户名
- 连接关系:设备间线缆连接(类型、速率、端口),VM 与宿主机的归属关系
- 交互式拓扑图( Vue Flow ):机柜容器、设备与虚拟机自动归位、拖拽连接点建连、右键机柜添加设备、右键物理机添加虚拟机、右键设备/连线菜单、点击连线高亮两端设备、按类型着色、布局保存
- 虚拟机归属:拓扑中虚拟机嵌套显示在宿主机卡片内(仅一层,不支持嵌套虚拟化)
- 机柜归属:拓扑中设备按机柜分组显示在机柜卡片内,未分配机柜的设备单独排列
- 全局搜索:按名称 / IP / 机架 / 标签快速定位
- 数据导出( JSON ,默认脱敏)
- 主题切换:深色 / 浅色 / 跟随系统
技术栈
| 层级 | 选型 | 说明 |
|---|---|---|
| 桌面框架 | Tauri 2.x | 原生 .exe 交付,压缩包小、内存占用低 |
| 前端 | Vue 3.5 + TypeScript + Vite | 组合式 API (<script setup>),组件化与类型安全 |
| 路由 | Vue Router 5 | 官方路由,按页面拆分代码 |
| 状态管理 | Pinia 4 | Vue 官方状态管理,轻量、TS 友好 |
| UI 组件 | Tailwind CSS 4 + 自定义组件 | 深色运维主题,无重型依赖 |
| 拓扑可视化 | Vue Flow (@vue-flow/core) |
节点-连线交互、自定义节点、自动布局 |
| 机架视图 | 自定义 CSS Grid | U 位精确控制 |
| 后端 | Rust | 业务逻辑、数据库、加密、文件 IO |
| 数据库 | SQLite (本地单文件) | 免安装;凭据字段加密存储 |
| 数据访问 | sqlx(异步 SQL 访问) | 通过 Tauri Command 暴露给前端 |
| 密码派生 | Argon2id | 主密码派生凭据加密密钥 |
| 凭据加密 | XChaCha20-Poly1305 | 随机 nonce ,密文以 base64 存库 |
| 密钥保管 | 仅内存(锁定/退出即清除) | 主密码与密钥不落盘 |
| 打包 | Tauri CLI + Compress-Archive | 生成便携 exe 压缩包(不生成安装程序) |
为什么是 Tauri 而不是 WPF/Electron ? 拓扑图与机架视图用 Web 技术实现效率最高( Vue Flow / SVG ),Tauri 提供原生
.exe与 Rust 侧加密能力,同时避免了 Electron 的体积与内存开销。