feat(frontend): 将文件管理器改为固定根树视图

文件区改为固定 `/` 根节点的单栏资源管理器树,
在同一树中同时展示目录和文件,并移除文件夹总览区块

同时收紧快捷指令编辑弹窗尺寸并优化窄屏为上下布局,
降低小分辨率下的溢出概率,并同步更新中英文 README
及 `.helloagents` 方案记录
This commit is contained in:
yinjianm
2026-03-26 02:21:06 +08:00
parent b1f036fdc6
commit dcdc8deab8
11 changed files with 284 additions and 355 deletions
+37 -9
View File
@@ -16,18 +16,27 @@
**星枢终端(Nexus Terminal** 是一款现代化、功能丰富的 Web SSH / RDP / VNC 客户端,致力于提供高度可定制的远程连接体验。提供独立的本地桌面端。
## 🧱 项目结构
本仓库采用 `npm workspaces` 的 monorepo 结构:
* `packages/frontend`:基于 Vue 3、Vite、Pinia、xterm.js 与 Monaco Editor,负责 Web 工作区、PWA、设置面板与文件编辑体验
* `packages/backend`:基于 Express、SQLite、WebSocket、SSH/SFTP,负责认证、连接管理、通知与审计日志
* `packages/remote-gateway`:负责 RDP / VNC 远程桌面令牌生成以及与 `guacd` 的桥接
## ✨ 功能特性
* 多标签页管理 SSH 与 SFTP 连接
* 支持 RDP/VNC 协议
* 支持 PWA
* 支持 PWA 与独立桌面端
* 采用 Monaco Editor,支持在线编辑文件
* 集成多重登录安全机制,包括人机验证(hCaptcha、Google reCAPTCHA)与双因素认证(2FA
* 支持 SSH 会话挂起与恢复,长任务不中断
* 集成多重登录安全机制,包括人机验证(hCaptcha、Google reCAPTCHA)、双因素认证(2FA)与 Passkey
* 高度可定制的界面主题与布局风格
* 提供 Focus Switcher,可自定义页面输入组件切换顺序与快捷键
* 内置简易 Docker 容器管理面板,便于容器运维
* 支持 IP 白名单与黑名单,异常访问自动封禁
* 通知系统(如登录提醒、异常告警)
* 审计日志,全面记录用户行为与系统变更
* 通知系统与审计日志,全面记录登录、凭据与系统变更
* 基于 Node.js 的轻量级后端,资源占用低
* 内置心跳保活机制,确保连接稳定
@@ -151,11 +160,12 @@ docker compose up -d
### 文件管理器组件
1. **文件快速选择**文件搜索框获得焦点时,可以使用 `↑/↓` 键快速选择文件。
2. **拖拽上传**:支持从浏览器外部拖拽文件或文件夹进行上传。**注意:** 上传大量文件或深层文件夹时,建议先进行打包压缩,以避免浏览器卡死
3. **内部拖拽**可以直接在文件管理器内部拖文件或文件夹进行移动
4. **多选操作**按住 `Ctrl``Shift` 键可以选择多个文件或文件夹。
5. **右键菜单**提供复制、粘贴、剪切、删除、重命名、修改权限等常用文件操作
1. **固定根节点资源管理器**:文件区采用固定 `/` 根节点的单栏资源管理器树,目录展开后会在同一棵树里同时显示子目录和文件。
2. **文件快速选择**:在文件搜索框获得焦点时,可以使用 `↑/↓` 键快速选择文件
3. **拖拽上传**支持从浏览器外部拖文件或文件夹进行上传。**注意:** 上传大量文件或深层文件夹时,建议先进行打包压缩,以避免浏览器卡死
4. **内部拖拽**可以直接在文件管理器内部拖动文件或文件夹以进行移动
5. **多选操作**按住 `Ctrl``Shift` 键可以选择多个文件或文件夹
6. **右键菜单**:提供复制、粘贴、剪切、删除、重命名、修改权限等常用文件操作。
### 终端组件
1. Ctrl + Shift + C 复制,Ctrl + Shift + V 粘贴
@@ -186,6 +196,24 @@ docker compose up -d
4. 关于数据备份,请自行备份目录下的 data 文件夹,本项目不提供相关备份功能。
5. 由于浏览器限制,非https或者localhost无法复制终端内容,请使用https访问
## 🛠️ 开发说明
### 常用命令
```bash
npm install
npm run dev --workspace=@nexus-terminal/frontend
npm run dev --workspace=@nexus-terminal/backend
npm run dev --workspace=@nexus-terminal/remote-gateway
npm run build --workspace=@nexus-terminal/frontend
npm run build --workspace=@nexus-terminal/backend
npm run build --workspace=@nexus-terminal/remote-gateway
```
### 本地知识库
仓库中的 `.helloagents/` 目录用于维护本地知识库、模块索引和方案包,方便协作与后续变更追踪。它不是运行时依赖,但当项目结构、功能说明或协作约定发生变化时,建议同步更新对应内容。
## 💐 致谢