chore: focus delivery on source and docker

This commit is contained in:
liumangmang
2026-04-17 09:31:45 +08:00
parent 37dc4d8216
commit fa1b6707f7
24 changed files with 195 additions and 1894 deletions

View File

@@ -1,115 +0,0 @@
# SSH Manager 交付指南
更新时间2026-04-14
## 目标
把当前仓库整理成三种可直接交付给买家的形态:
- 源码仓库版
- Docker 一键版
- Windows 安装版
## 源码仓库版
适合会自己部署、需要二开或想长期自主管理的买家。
### 交付内容
- 当前仓库源码
- `README.md` 或独立部署文档
- 环境变量说明
- 初始化账号说明
- 备份示例或演示数据说明
### 推荐说明
- 默认提供 Docker 启动方式
- 明确 Java / Node / Maven 版本要求
- 明确默认账号、密码修改和数据目录位置
- 保留“关于与交付信息”页面给买家查看诊断摘要
## Docker 一键版
适合想快速运行源码版的买家。
### 直接启动
Windows
- `scripts/windows/start-docker.bat`
停止:
- `scripts/windows/stop-docker.bat`
### 说明
- 数据默认保存在 Docker volume `app-data`
- 不要执行 `docker compose down -v`
## Windows 安装版
适合完全不想部署环境的买家。
### 构建前准备
- 安装 Node.js 18+
- 安装 Maven 3.6+
- 安装 Inno Setup
- 准备一个已解压的 Windows JRE并设置环境变量
- `SSH_MANAGER_WINDOWS_JRE_DIR=D:\runtime\jdk-17-jre`
- 安装包版本号默认读取 `backend/pom.xml` 中的 `<version>`
### 发布前预检
建议先执行:
- `scripts\release\check-windows-release.bat`
作用:
- 检查 Node.js / Maven / PowerShell / JRE / Inno Setup
- 检查图标、安装器脚本、买家说明、售后 FAQ 是否齐全
- 构建前端
- 以内嵌前端静态资源的方式打包后端
### 构建命令
Windows
- `scripts\release\build-windows-installer.bat`
### 产物
- `release/windows-app/`
- 安装前的应用目录
- 包含 jar、启动器脚本、安装器图标、说明文档和内置 JRE
- `release/windows-installer/`
- 若安装了 Inno Setup则输出 `SSHManager-Setup-*.exe`
### 安装后行为
- 程序文件默认安装到 `C:\Program Files\SSH Manager\`
- 用户数据默认保存在 `%LOCALAPPDATA%\SSHManager\`
- 首次启动自动生成本地密钥
- 双击快捷方式会后台启动服务并自动打开浏览器
- 开始菜单会同时提供“买家使用说明”和“售后排查 FAQ”
## 本地打包
已提供本地打包脚本,可用于你自己验证交付前构建是否完整:
- `scripts/release/build-local-package.sh`
- `scripts/release/build-local-package.bat`
作用:
- 构建前端
- 以内嵌前端静态资源的方式打包后端
- 输出到 `release/local-package/`
## 后续建议
- 再补一个“首次启动引导页”
- 再补一个“关于 / 交付信息 / 诊断摘要”页面

View File

@@ -1,156 +0,0 @@
# Moba Workspace 回归清单
适用范围:
- `frontend/src/layouts/MobaLayout.vue`
- `frontend/src/components/SessionTree.vue`
- `frontend/src/components/WorkspacePanel.vue`
- `frontend/src/components/SftpPanel.vue`
- `frontend/src/views/TransfersView.vue`
- 旧深链接兼容入口 `/terminal/:id``/sftp/:id`
## 基础验证
### 构建
```bash
cd frontend
npm run build
```
### 启动
```bash
cd backend
mvn spring-boot:run
cd frontend
npm run dev
```
访问:
- `http://localhost:5173/login`
- 登录后应进入 `/moba`
## 登录与入口
### 登录
- 使用有效账号登录
- 首次管理员登录时,若触发强制改密,应能弹出改密弹窗
- 登录后默认进入 `/moba`
### 兼容入口
- 访问 `/connections` 应进入 `/moba`
- 访问 `/terminal` 应进入 `/moba`
- 访问 `/transfers` 应进入 `/moba?tool=transfers`
- 访问 `/terminal/:id` 应打开对应连接的终端工作区后进入 `/moba`
- 访问 `/sftp/:id` 应打开对应连接的文件工作区后进入 `/moba`
## 工作区
### 多实例
- 在左侧连续点击同一连接两次,应创建两个独立工作区实例
- 两个实例的顶部标签应能区分序号
- 关闭其中一个实例,不应影响另一个实例
### 标签行为
- 点击标签可切换活动工作区
- 右键菜单中的“关闭当前 / 关闭其他 / 关闭右侧 / 关闭全部”行为正确
- 顶部“复制会话”可基于当前实例创建一个新实例
### 面板控制
- 顶部“终端”按钮可显隐终端面板
- 顶部“文件”按钮可显隐 SFTP 面板
- 两个面板都隐藏时,工作区应显示空态提示
- “重置分屏”应把终端/SFTP 比例恢复为默认值
## 会话树
### 基础操作
- 创建根文件夹
- 创建子文件夹
- 重命名文件夹
- 删除文件夹
- 删除连接节点
### 排序与拖拽
- 手动排序模式下,节点可拖拽排序
- 名称排序模式下,拖拽应禁用
- 切换为名称排序后,文件夹应排在连接前面
### 搜索
- 输入关键字后,应只显示匹配结果和必要层级
- 匹配节点应显示高亮标记
- 清空搜索后,应恢复完整树
### 同步
- 修改连接名称后,会话树中的连接节点名称应同步更新
- 删除连接后,会话树中的对应节点应被移除
## SFTP
### 基础功能
- 打开文件面板后应能列出目录
- 可进入子目录
- 可返回上级目录
- 可直接输入路径并跳转
- 可切换显示/隐藏隐藏文件
- 可搜索当前目录文件
### 文件操作
- 上传单个文件
- 上传多个文件
- 查看上传进度
- 下载文件
- 创建目录
- 删除文件
- 删除目录
### 远程传输
- 从当前连接选择文件并打开远程传输弹窗
- 选择目标连接和目标路径后可开始传输
- 传输过程中应显示进度
- 取消传输后应显示取消状态或取消提示
## Transfers
### Local -> Many
- 选择本机文件
- 选择目标目录
- 选择多个目标连接
- 调整并发
- 开始后应生成队列任务
### Remote -> Many
- 选择源连接
- 手输源文件路径并添加
- 使用远程文件浏览器选择源文件
- 选择目标目录或精确路径
- 选择多个目标连接
- 开始后应生成队列任务
### 队列
- 队列应显示运行状态、进度、明细项
- 运行中任务应可取消
- 已完成/失败任务应保留在最近任务列表
- 点击“清空队列”后,最近任务列表应被清空
## 响应式
### 窄屏
- 小屏下左侧会话树应通过顶部按钮展开/收起
- 打开工作区后,小屏侧栏应自动收起
- Transfers 区域在小屏下不应出现明显横向溢出
- 目标连接选择区、队列卡片和源文件按钮区应可正常折行
## 持久化
### 刷新恢复
- 刷新页面后,工作区标签顺序应保留
- 活动工作区应保留
- SFTP 当前路径应保留
- 分屏比例应保留
- 会话树排序模式应保留
## 风险关注点
- 同一连接多实例下,不应误复用旧工作区
- 会话树在大量节点下不应出现明显卡顿或错位渲染
- `/terminal/:id``/sftp/:id` 兼容入口不应丢失目标连接语义
- SFTP 远程传输与 Transfers 页面应避免状态来源不一致

View File

@@ -1,227 +0,0 @@
# SSH Manager 发布前检查表
更新时间2026-04-15
## 发布目标
用于发布可销售版本前的最终检查,覆盖:
- 构建与测试
- 核心功能回归
- 源码交付说明验证
- 交付包生成
- 销售素材准备
## 一、构建与测试
### 前端
```bash
cd frontend
npm run build
```
### 后端
```bash
cd backend
mvn -Dtest=AuthControllerTest,BatchCommandServiceTest,ConnectionControllerTest test
```
### 脚本语法检查
```bash
bash -n scripts/release/build-local-package.sh
```
## 二、核心功能回归
发布前至少手工走一遍下面流程:
### 登录与基础入口
- 打开 `/login`
- 检查商品化登录首页展示是否正常
- 使用默认账号登录
- 检查首次启动引导是否正常显示
### 工作区
- 创建第一条连接
- 左侧树点击连接,右侧终端 / SFTP 正常刷新
- 打开多个工作区实例
- 关闭当前 / 关闭其他 / 关闭右侧 / 关闭全部
- 重置分屏比例
### 终端
- 打开终端
- 执行基本命令
- 模拟断开后验证自动重连
- 修改终端字体和字号后检查是否生效
### SFTP
- 浏览目录
- 上传文件
- 下载文件
- 删除文件
- 新建目录
- 测试上传同名文件策略
### 批量能力
- 打开批量命令弹窗
- 选择多台机器
- 执行命令并检查结果汇总
- 复制输出内容
### 备份恢复
- 导出备份
- 清空或切换到空环境
- 导入备份
- 检查连接和会话树是否恢复
### 历史与日志
- 打开历史日志弹窗
- 检查传输历史是否保留
- 检查操作日志是否保留
- 检查诊断信息是否可复制
## 三、源码交付与诊断
### 关于与交付信息
- 打开“关于与交付信息”
- 检查版本、环境指纹、交付状态显示
- 复制诊断信息
### 源码交付说明
- README、部署文档、环境变量说明齐全
- 默认账号说明齐全
- Docker 启动方式可跑通
- 诊断摘要可用于售后排查
## 四、交付包生成
### Windows 本地版
```bat
scripts\release\build-local-package.bat
```
检查:
- `release/local-package/` 是否生成
- 是否包含后端 jar
- 是否包含 `start-local.bat`
- 是否包含 `README.txt`
### Windows 本地启动
- 双击 `start-local.bat`
- 检查是否自动生成 `runtime/``data/`
- 检查是否能访问 `http://localhost:48080`
### Windows 安装版
建议先运行:
```bat
scripts\release\check-windows-release.bat
```
再执行:
```bat
scripts\release\build-windows-installer.bat
```
检查:
- 当前版本是否已在 `backend\pom.xml` 中更新
- 已设置 `SSH_MANAGER_WINDOWS_JRE_DIR`
- `release/windows-app/` 是否生成
- 是否包含 `ssh-manager.jar`
- 是否包含 `jre\bin\javaw.exe`
- 是否包含 `start-installed.vbs`
- 是否包含 `ssh-manager.ico`
- 是否包含 `BUYER-GUIDE.txt`
- 是否包含 `AFTER-SALES-FAQ.txt`
- 如果本机安装了 Inno Setup`release/windows-installer/` 下是否生成 `SSHManager-Setup-*.exe`
### Windows 安装回归
- 安装 `SSHManager-Setup-*.exe`
- 通过桌面或开始菜单快捷方式启动
- 检查浏览器是否自动打开
- 检查 `%LOCALAPPDATA%\SSHManager\data` 是否生成
- 检查 `%LOCALAPPDATA%\SSHManager\logs\backend.log` 是否生成
- 再次点击快捷方式时,不应重复拉起多个实例
- 检查开始菜单里的“买家使用说明”和“售后排查 FAQ”是否可打开
### Docker 版
- 运行 `scripts/windows/start-docker.bat``make up`
- 检查容器是否正常启动
- 检查页面是否可访问
- 检查数据卷是否正常持久化
## 五、销售素材准备
### 商品截图
建议至少准备这 7 张:
1. 登录首页
2. `/showcase` 头图
3. Moba 工作区主界面
4. 终端 + SFTP 分屏
5. 批量命令执行结果
6. 历史日志与传输记录
7. 关于与交付信息
### 商品文案
参考文档:
- `docs/xianyu-sales-copy.md`
至少准备:
- 标题
- 前 3 行卖点
- 详情页正文
- 常见问答
## 六、发货前最终确认
- JWT 与加密密钥生成方式已确认
- 默认账号说明已写清楚
- 交付包里没有私钥、token、测试数据或敏感配置
- 你自己完整演练过一次“买家购买后流程”
## 七、买家购买后流程
建议你自己按这个顺序演练一次:
1. 生成本地版交付包
2. 打包源码、部署文档和环境变量模板
3. 启动本地版或 Docker 版
4. 登录默认账号
5. 修改密码
6. 创建连接
7. 打开终端和 SFTP
8. 导出一次备份
## 发布结论
只有在下面 4 条都满足时,才建议上架:
- 构建通过
- 核心功能回归通过
- 源码交付说明验证通过
- 交付包和商品素材都已准备完成

View File

@@ -1,107 +0,0 @@
# SSH Manager 可卖版改造计划
更新时间2026-04-14
## 目标定位
把当前项目从“可用的自用工具”推进到“可销售、可交付、可售后”的轻量 SSH/SFTP 产品。
建议定位:
- 国产轻量版 MobaXterm / FinalShell 替代品
- 面向开发者、小团队运维、NAS 与云主机用户
- 强调中文体验、易安装、批量运维、数据安全
## 分阶段路线
### 第一阶段:先做到能卖
目标:降低安装门槛,补齐用户信任感和售后必需能力。
1. 交付形态
- Windows 一键启动版
- Docker 一键部署版
- 首次启动引导
- 默认账号安全引导
2. 数据安全
- 连接与会话树完整备份导出
- 连接与会话树完整恢复导入
- 自动备份策略
- 恢复前风险提示
3. 稳定性
- 终端断线重连
- SFTP 超时与失败重试
- 连接失败原因细化
- 导入恢复后的工作区状态清理
4. 设置中心
- 终端字体、字号、主题
- 默认下载目录
- 上传冲突策略
- 分屏默认配置
### 第二阶段:做出付费理由
目标:让用户愿意为效率买单。
1. 批量运维
- 批量执行命令
- 批量打开会话
- 批量上传与分发
- 结果汇总视图
2. 连接管理增强
- 标签、收藏、最近使用
- 环境分类
- 备注与颜色标识
- 高级搜索
3. 高级传输
- 拖拽上传
- 传输队列
- 断点续传
- 冲突处理
- 历史记录
### 第三阶段:提高客单价
目标:支持团队和更高单价销售。
1. 多用户与权限
- 角色管理
- 连接可见范围
- 只读与可编辑权限
2. 审计与日志
- 登录日志
- 连接与传输日志
- 文件操作日志
- 命令执行留痕
3. 团队共享
- 共享连接组
- 共享模板
- 共享标签
## 当前开发顺序
### P0
- 完整备份导出 / 导入
- 导入后的界面与工作区刷新
- 文档化产品改造路线
### P1
- 设置中心
- 终端重连与错误诊断
- Windows / Docker 交付脚本
### P2
- 批量命令执行
- 批量文件分发
- 传输历史
## 已开始落地
- 已新增可卖版产品路线文档
- 已开始实现“完整备份导出 / 导入”,覆盖连接与会话树布局

View File

@@ -1,128 +0,0 @@
# SSH Manager Windows 版售后 FAQ
更新时间2026-04-16
## 1. 安装包双击没反应怎么办
- 确认系统为 Windows 10 / 11
- 右键安装包,选择“以管理员身份运行”
- 确认没有被安全软件直接拦截
- 如果提示“未知发布者”,属于未签名安装包的常见提示,可继续安装
## 2. 安装完成后,点快捷方式没有打开页面怎么办
先等 5 到 15 秒,因为程序会先启动本地服务,再打开浏览器。
如果还是没打开:
- 手动访问 `http://127.0.0.1:48080`
- 再看日志文件:
- `%LOCALAPPDATA%\SSHManager\logs\backend.log`
## 3. 浏览器提示无法访问 `127.0.0.1:48080` 怎么办
通常是本地服务没有成功启动,重点检查:
- `%LOCALAPPDATA%\SSHManager\logs\backend.log`
- `%LOCALAPPDATA%\SSHManager\runtime\`
常见原因:
- 杀毒软件拦截了 `javaw.exe`
- 本机 48080 端口被别的软件占用
- 上次异常退出,服务还没完全结束
建议处理:
- 先从开始菜单执行“停止 SSH Manager”
- 再重新打开桌面快捷方式
## 4. 如果 48080 端口被占用了怎么办
当前安装版默认使用 `48080` 端口。
如果端口冲突:
- 先关闭占用该端口的软件
- 或联系卖家,给你提供改端口后的新包
如果你自己会改:
- 修改启动脚本中的启动参数
- 同时把访问地址改成新的本地端口
## 5. 关闭浏览器后程序还在吗
可能还在。
- 浏览器只是界面
- 本地服务仍可能在后台运行
再次点击快捷方式时:
- 如果服务已在运行,会直接重新打开页面
- 不会重复启动多份实例
## 6. 如何彻底退出程序
任选一种方式:
- 从开始菜单执行 `停止 SSH Manager`
- 运行安装目录下的 `stop-installed.cmd`
## 7. 升级新版本会不会丢连接数据
正常覆盖安装一般不会丢。
因为数据默认保存在:
- `%LOCALAPPDATA%\SSHManager\data`
不是保存在安装目录里。
## 8. 换电脑怎么迁移数据
把下面整个目录备份出来,再复制到新电脑同位置即可:
- `%LOCALAPPDATA%\SSHManager\data`
如果希望更稳妥,建议同时备份:
- `%LOCALAPPDATA%\SSHManager\runtime`
- `%LOCALAPPDATA%\SSHManager\logs`
## 9. 卸载软件会不会删掉我的数据
默认不会。
卸载主要删除的是安装目录和快捷方式,用户数据目录默认保留,避免误删连接信息。
## 10. 启动失败时,联系卖家要提供什么
建议一次性提供下面这些信息:
- 当前软件版本
- 复现步骤
- 是否首次安装
- `%LOCALAPPDATA%\SSHManager\logs\backend.log`
- 错误截图
- 是否能打开 `http://127.0.0.1:48080`
## 11. 我想备份连接配置,最简单的方法是什么
程序里可直接使用“导出备份”。
另外也建议定期备份:
- `%LOCALAPPDATA%\SSHManager\data`
## 12. 为什么这不是传统桌面窗口程序
这是“本地安装 + 浏览器界面”的交付方式。
优点是:
- 安装成本低
- 不依赖外网
- 升级快
- 保留现有 Web 管理界面的完整能力

View File

@@ -1,101 +0,0 @@
# SSH Manager Windows 成品版使用说明
更新时间2026-04-16
## 适用对象
适合不想自己部署环境、希望下载安装后直接使用的买家。
## 安装步骤
1. 双击 `SSHManager-Setup-*.exe`
2. 按提示完成安装
3. 可选择创建桌面快捷方式
4. 安装完成后点击“立即启动 SSH Manager”
## 首次启动会发生什么
首次启动时,程序会自动:
- 初始化本地运行目录
- 生成本地密钥
- 启动内置服务
- 自动打开浏览器到 `http://127.0.0.1:48080`
如果浏览器没有自动打开,也可以手动访问:
- `http://127.0.0.1:48080`
## 默认账号
- 用户名:`admin`
- 密码:`admin123`
首次登录后建议立刻修改密码。
## 数据保存位置
程序不会把你的连接数据放到安装目录,默认保存在当前 Windows 用户目录下:
- 数据目录:`%LOCALAPPDATA%\SSHManager\data`
- 运行时配置:`%LOCALAPPDATA%\SSHManager\runtime`
- 日志目录:`%LOCALAPPDATA%\SSHManager\logs`
这意味着:
- 升级安装一般不会丢数据
- 卸载程序默认也不会删除你的数据目录
## 常见操作
### 启动程序
- 双击桌面快捷方式 `SSH Manager`
- 或从开始菜单打开 `SSH Manager`
### 停止程序
- 从开始菜单执行 `停止 SSH Manager`
- 或运行安装目录下的 `stop-installed.cmd`
### 看说明
安装目录会自带两份说明文本:
- `BUYER-GUIDE.txt`
- `AFTER-SALES-FAQ.txt`
如果遇到启动失败、浏览器没弹出、端口冲突、换机迁移等问题,优先先看 `AFTER-SALES-FAQ.txt`
### 看日志
如果程序启动失败,请查看:
- `%LOCALAPPDATA%\SSHManager\logs\backend.log`
## 常见问题
### 1. 为什么打开的是浏览器,不是传统桌面窗口?
这是本地安装版,不依赖外网,程序核心运行在你自己的电脑上。浏览器只是显示界面,数据仍然保存在本机。
### 2. 关闭浏览器后,程序还在吗?
如果本地服务仍在运行,再次点击快捷方式会直接重新打开页面,不会重复启动多个实例。
### 3. 升级新版本会清空连接吗?
正常覆盖安装不会清空数据,因为数据默认保存在 `%LOCALAPPDATA%\SSHManager\data`
### 4. 卸载后数据会一起删除吗?
默认不会自动删除数据目录,避免误删。
## 售后排查建议
联系卖家时建议同时提供:
- 当前软件版本
- 复现步骤
- `%LOCALAPPDATA%\SSHManager\logs\backend.log`
- 页面中的“关于与交付信息”诊断摘要

View File

@@ -1,87 +1,94 @@
# 闲鱼商品文案模板
# 闲鱼商品文案
更新时间2026-04-15
这份文案只卖一个方向:
## 标题模板
`源码交付 + Docker 部署`
可直接选一个改:
不卖 Windows 安装包,不卖双击版。
- SSH 管理器 本地版 MobaXterm 替代 中文 SSH+SFTP+批量命令
- SSH/SFTP 运维工具 本地部署版 批量命令 备份恢复 自动重连
- 国产轻量 SSH 管理器 Windows 本地版 支持 SFTP 批量运维
## 标题
## 主卖点短文案
直接用下面任意一个:
适合放在商品前 3 行:
- SSH/SFTP 管理器 源码交付 Docker部署 批量命令 备份恢复
- SSH 管理项目 源码版 Docker一键启动 支持SFTP 批量运维
- SSH 运维工具 源码交付 支持Docker部署 SFTP 批量命令
## 前 3 行卖点
```text
不是源码练手项目,而是一套已经做成产品化体验的 SSH/SFTP 管理工具
支持 Moba 风格工作区、SFTP 文件传输、批量命令、备份恢复、历史日志、源码交付与部署说明
适合开发者、小团队运维、NAS/云主机用户,支持 Windows 本地版和 Docker 版交付
是一套可以直接部署使用的 SSH / SFTP 管理项目,不是练手 demo
支持终端、SFTP、批量命令、备份恢复买回去后按说明执行 docker compose 就能启动
适合开发者、小团队运维、NAS / 云主机用户,也适合继续二开
```
## 详情页文
## 详情页
```text
这套项目适合卖给有服务器管理需求、又想自己掌控数据和部署环境的人。
核心功能:
1. Moba 风格工作区,支持多标签、多实例、终端/SFTP 分屏
2. SFTP 文件管理,支持上传、下载、远程传输、隐藏文件、路径直达
3. 批量命令执行,可同时对多台机器执行命令并汇总结果
4. 完整备份恢复,支持连接和会话树整体导入导出
5. 历史日志与诊断信息,方便售后排查
6. 终端自动重连、设置中心、首次启动引导
1. SSH 终端
2. SFTP 文件管理
3. 批量命令执行
4. 连接和会话树备份恢复
5. 历史日志与传输记录
6. 首次登录强制改密
适合人群:
- 经常 SSH 管服务器的开发者
- 小团队运维
- NAS / 软路由 / 云主机用户
- 想找 FinalShell / MobaXterm 替代的人
- NAS / 云主机用户
- 想找 FinalShell / MobaXterm 替代方案的人
交付方式:
- Windows 本地版
- Docker 一键版
- 仓库源码
- Docker 部署说明
- 默认账号和初始化说明
售后说明
- 提供基础使用指导
- 提供源码、部署说明和初始化文档
- 提供版本更新支持(可按你的实际策略改)
售后范围
- 基础部署指导
- 基础启动排查
- 不包含远程代部署
```
## 标准答疑话术
## 常见问答
### 1. 这是源码还是成品?
```text
主推的是 Windows 可安装成品版,买家下载安装后直接用
如果需要二开,也可以额外提供源码版
这是源码交付版,主打 Docker 部署
买家拿到源码和说明后,可以自己部署,也可以继续二开
```
### 2. 怎么交付
### 2. 怎么启动
```text
默认发 Windows 安装包,安装后双击快捷方式即可使用
如购买源码版,再额外交付仓库代码、部署文档和初始化说明
按文档执行 docker compose 命令就能启动
不需要安装 Windows 客户端,也不是双击安装包那种交付方式
```
### 3. 需要联网吗?
```text
日常使用不依赖外网。Windows 安装版也是本地运行,本机保存数据,不走云端
部署完成后,日常使用不依赖外部云服务
数据保存在你自己的 Docker 环境里。
```
### 4. 支持什么系统
### 4. 适合什么人买
```text
当前主推 Windows 本地版,也支持 Docker 版部署
适合会用 Docker、会自己管理服务器或 NAS 的用户
如果你要的是纯小白双击安装版,这个版本不适合。
```
## 截图建议
## 建议截图
建议至少准备这 6 张
保留这 6 张就够了
1. 登录页商品化首页
2. Moba 工作区主界面
1. 登录页
2. 工作区主界面
3. 终端 + SFTP 分屏
4. 批量命令执行结果
4. 批量命令结果
5. 历史日志与传输记录
6. 关于与交付信息