# ServerBox 项目结构说明 ## 项目概述 - **名称**: ServerBox (flutter_openclaw_client) - **版本**: 1.0.1351+1351 - **描述**: 跨平台服务器状态监控和 SSH 管理工具 - **包名**: tech.lolli.toolbox ## 技术栈 - **框架**: Flutter 3.29+ - **语言**: Dart 3.11+ - **状态管理**: Riverpod - **本地存储**: Hive ## 目录结构 ### lib/ - 主代码目录 ``` lib/ ├── main.dart # 应用入口 ├── app.dart # 应用配置 ├── intro.dart # 引导页面 ├── core/ # 核心功能 ├── data/ # 数据层 │ ├── model/ # 数据模型 │ ├── store/ # 状态存储 │ └── res/ # 资源定义 ├── view/ # 视图层 │ ├── page/ # 页面 │ │ ├── container/ # 容器管理 │ │ ├── private_key/ # SSH 密钥管理 │ │ ├── server/ # 服务器管理 │ │ ├── setting/ # 设置 │ │ ├── snippet/ # 代码片段 │ │ └── storage/ # 存储管理 │ └── widget/ # 公共组件 ├── generated/ # 生成的代码 │ └── l10n/ # 本地化 └── hive/ # Hive 适配器 ``` ### android/ - Android 平台配置 ``` android/ ├── app/ │ ├── build.gradle # 应用构建配置 │ ├── debug.keystore # 调试签名密钥 │ └── src/main/ │ ├── AndroidManifest.xml │ ├── kotlin/tech/lolli/toolbox/ │ │ ├── MainActivity.kt │ │ ├── ForegroundService.kt │ │ └── widget/ │ │ ├── HomeWidget.kt │ │ └── WidgetConfigureActivity.kt │ └── res/ # 资源文件 ├── build.gradle # 项目构建配置 ├── key.properties # 签名配置 ├── local.properties # 本地配置 └── gradle.properties # Gradle 配置 ``` ### packages/ - 本地包 ``` packages/ ├── circle_chart/ # 圆形图表组件 ├── dartssh2/ # SSH2 客户端 ├── fl_build/ # 构建工具 ├── fl_lib/ # 公共库 ├── plain_notification_token/ # 通知令牌 ├── server_box_monitor/ # 服务器监控 ├── watch_connectivity/ # 手表连接 └── xterm/ # 终端模拟器 ``` ## 构建配置 ### 签名配置 (android/key.properties) ``` storeFile=app/debug.keystore storePassword=android keyAlias=androiddebugkey keyPassword=android ``` ### 版本信息 - versionName: 1.0.1351 - versionCode: 1351 - minSdk: Flutter 默认 - targetSdk: Flutter 默认 ## 主要功能模块 1. **服务器管理** - SSH 连接和终端 - SFTP 文件传输 - 服务器状态监控 (CPU, 内存, 磁盘, 网络) - Docker 容器管理 - 进程管理 2. **Snippet (代码片段)** - 保存和快速执行常用命令 3. **密钥管理** - SSH 私钥管理 4. **容器管理** - Docker 容器操作 5. **系统工具** - 网络唤醒 (Wake-on-LAN) - 端口转发 ## 平台支持 - Android - iOS - macOS - Linux - Windows ## 构建命令 ### 获取依赖 ```bash flutter pub get ``` ### 构建 APK ```bash flutter build apk --release ``` ### 构建 App Bundle ```bash flutter build appbundle --release ``` ### 构建指定 ABI ```bash flutter build apk --release --target-platform android-arm64 ``` ## 项目依赖 ### 主要依赖 - flutter_riverpod: 状态管理 - dio: 网络请求 - dartssh2: SSH 连接 - hive_ce_flutter: 本地存储 - fl_chart: 图表 - xterm: 终端模拟 ### 开发依赖 - build_runner: 代码生成 - freezed: 不可变类生成 - json_serializable: JSON 序列化 - riverpod_generator: Riverpod 代码生成 ## 注意事项 1. 首次构建需要运行代码生成: ```bash dart run build_runner build ``` 2. 本项目使用本地包,位于 packages/ 目录 3. Android 构建需要配置签名密钥 (已配置 debug 密钥) 4. 国际化文件已预生成,位于 lib/generated/l10n/