# opsxshell **Repository Path**: opsx-tools/opsxshell ## Basic Information - **Project Name**: opsxshell - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-05 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpsXShell GUI 跨平台 SSH/SFTP 终端工具 · 简洁高效 · 安全可靠 ## 功能特性 - 🔐 **SSH 终端** - 支持密码、密钥认证,XTerm.js 高性能终端 - 📁 **SFTP 文件管理** - 双栏可视化文件管理,上传下载,传输队列 - 🔄 **端口转发** - 本地/远程/动态 SOCKS5 代理 - 📑 **多标签页** - 类浏览器标签管理,连接池复用 - 🎨 **现代 UI** - 基于 Tailwind CSS 的深色主题界面,多主题配色 - 🔒 **安全可靠** - 敏感数据 AES-256-GCM 加密存储 - 🌐 **跨平台** - 支持 Windows、macOS、Linux ## 技术栈 | 层级 | 技术 | |------|------| | 框架 | Electron 28+ | | 前端 | React 18 + TypeScript 5 | | 构建 | Vite 5 | | 状态管理 | Zustand | | 样式 | Tailwind CSS | | 终端 | XTerm.js | | SSH/SFTP | node-ssh2 | ## 快速开始 ### 环境要求 - Node.js 18+ - npm 9+ 或 yarn 1.22+ - Git ### 安装 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建应用 npm run build # 打包分发 npm run dist ``` ### 平台特定打包 ```bash # Windows npm run dist:win # macOS npm run dist:mac # Linux npm run dist:linux ``` ## 项目结构 ``` opsxshell-gui/ ├── electron/ # Electron 主进程 │ ├── main.ts # 主进程入口 │ ├── preload.ts # 预加载脚本 │ └── tsconfig.json # 主进程 TS 配置 ├── src/ # 渲染进程 (React) │ ├── components/ # 组件 │ │ ├── Sidebar.tsx # 侧边栏 │ │ ├── TabBar.tsx # 标签栏 │ │ ├── TabContent.tsx # 标签内容 │ │ ├── StatusBar.tsx # 状态栏 │ │ ├── WelcomeView.tsx # 欢迎页面 │ │ ├── TerminalView.tsx # 终端视图 │ │ ├── SFTPView.tsx # SFTP 视图 │ │ ├── SettingsView.tsx # 设置视图 │ │ ├── SessionDialog.tsx # 会话对话框 │ │ └── QuickConnectDialog.tsx # 快速连接对话框 │ ├── stores/ # 状态管理 │ │ ├── tabStore.ts # 标签状态 │ │ └── connectionStore.ts # 连接状态 │ ├── App.tsx # 根组件 │ ├── main.tsx # 渲染入口 │ └── index.css # 全局样式 ├── package.json # 项目配置 ├── vite.config.ts # Vite 配置 ├── tailwind.config.js # Tailwind 配置 └── tsconfig.json # TypeScript 配置 ``` ## 界面预览 📱 **在线预览**: [docs/ui-preview.html](./docs/ui-preview.html) 在浏览器中打开 `docs/ui-preview.html` 文件可查看高清界面预览(支持切换终端/SFTP视图): ### 终端视图 - 🎨 **深色主题** - 基于 Tailwind CSS 的现代化深色界面 - 📑 **标签页管理** - 悬停显示更多操作(`...`)和关闭(`×`)按钮 - 🖥️ **终端区域** - 清晰显示 SSH 连接状态和命令提示符 - 📊 **状态栏** - 实时显示连接状态、延迟和功能入口 ### SFTP 双栏视图 - 📂 **双栏文件管理器** - 左侧本地目录,右侧远程服务器目录 - 🧭 **面包屑导航** - 清晰的路径导航和返回/前进按钮 - 📋 **文件列表** - 显示名称、修改时间、大小、类型/权限 - ⚡ **传输队列** - 实时显示上传/下载进度 - 🔍 **Filter/Actions** - 筛选和操作下拉菜单 > 提示:双击 HTML 文件即可在浏览器中查看完整效果,支持终端和 SFTP 视图切换。 ## 快捷键 | 快捷键 | 功能 | |--------|------| | `Cmd/Ctrl + N` | 新建会话 | | `Cmd/Ctrl + K` | 快速连接 | | `Cmd/Ctrl + T` | 新建标签 | | `Cmd/Ctrl + W` | 关闭标签 | | `Cmd/Ctrl + Tab` | 切换标签 | | `F11` | 全屏模式 | ## 开发计划 - [x] 基础项目框架 - [x] Electron 主进程 - [x] React 前端界面 - [x] 多标签页系统 - [x] 会话管理 - [x] SSH 连接集成 (node-ssh2) - [x] 终端模拟器 (XTerm.js) - [x] SFTP 文件传输 - [x] 端口转发 - [x] 数据持久化 (SQLite) - [x] 架构模块化重构 - [ ] 智能命令补全 - [ ] 断点续传 ## 许可证 MIT License - 开源免费使用 --- Made with ❤️ by OpsXShell Team