ROADMAP.md - OpsXShell 开发路线图
版本规划总览
v1.1.0 基础可用 (2 周) — 当前阶段
目标: 解决所有 Critical UI/UX 问题,建立基础反馈系统,产品具备日常使用价值
🔴 P0 — 必须完成
| # |
任务 |
类型 |
预计 |
验收标准 |
| 1 |
Toast 通知系统 |
新增 |
2天 |
useToast() hook + ToastContainer,支持 success/error/warning/info 四种类型,自动消失+手动关闭 |
| 2 |
替换所有 alert/prompt/confirm |
修复 |
2天 |
App.tsx 5处 alert → Toast,SFTPView.tsx prompt → 内联输入,PortForwardView.tsx confirm → ConfirmDialog |
| 3 |
SFTP 上传/删除真实实现 |
修复 |
3天 |
上传通过 ssh2 sftp fastPut 实现,删除通过 rimraf/unlink 实现,右键菜单 action 绑定真实函数 |
| 4 |
终端搜索 (SearchAddon) |
新增 |
1天 |
Ctrl+Shift+F 打开搜索栏,支持正则/大小写/全词匹配,高亮所有匹配 |
| 5 |
会话恢复 |
新增 |
3天 |
关闭前持久化标签状态到 SQLite,启动时恢复标签+自动重连 |
| 6 |
修复私钥浏览按钮 |
修复 |
0.5天 |
dialog.showOpenDialog() 绑定到 onClick,过滤 .pem/.key/id_* |
| 7 |
清理生产调试日志 |
修复 |
1天 |
移除 DEBUG=true,所有 console.log 用 logger 替代或删除 |
| 8 |
设计系统统一颜色 |
修复 |
1天 |
cyan→accent-blue, sky→accent-blue, slate→dark-*,新增 accent-orange |
| 9 |
StatusBar 接入实际状态 |
修复 |
0.5天 |
显示当前连接 host、延迟 ms、标签数 |
| 10 |
WelcomeView 真实最近连接 |
修复 |
1天 |
从 sessionStore 获取最近 5 条连接记录,空状态显示引导 |
里程碑推送
v1.2.0 体验升级 (2 周)
目标: 快捷键补全、视觉打磨、交互优化,接近 Termius 体验水平
🟡 P1 — 重要
| # |
任务 |
类型 |
预计 |
验收标准 |
| 1 |
Ctrl+Tab / Ctrl+1~9 标签切换 |
新增 |
1天 |
Ctrl+Tab 前后切换,Ctrl+1~9 跳转指定标签 |
| 2 |
标签拖拽排序 |
新增 |
2天 |
拖拽标签头重排序,拖出标签栏可弹出新窗口(可选) |
| 3 |
SFTP 拖拽上传 |
新增 |
2天 |
从系统文件管理器拖拽文件到远程面板触发上传 |
| 4 |
SFTP 右键菜单完善 |
完善 |
1天 |
新增:权限编辑、属性查看、重命名、复制路径 |
| 5 |
侧边栏会话分组折叠 |
完善 |
1天 |
点击分组头折叠/展开,带动画 |
| 6 |
Sidebar 宽度可拖拽调整 |
新增 |
1天 |
拖拽分隔条调整宽度,记忆到 settings |
| 7 |
响应式布局基础 |
新增 |
2天 |
窄窗口(<800px)自动折叠侧边栏,SFTP 垂直堆叠 |
| 8 |
Loading/Skeleton 加载态 |
新增 |
1天 |
FileListPanel 加载时显示骨架屏,SessionTree 同理 |
| 9 |
空状态设计 |
新增 |
1天 |
每个组件空状态有引导文案+操作按钮 |
| 10 |
TerminalView 组件拆分 |
重构 |
3天 |
645行拆为 TerminalCore + TerminalOverlay + TerminalSearch |
视觉优化清单
| # |
文件 |
改进 |
| V-1 |
StatusBar.tsx |
bg-accent-blue → bg-dark-800 border-t |
| V-2 |
SFTPView.tsx |
emoji 图标 → Lucide 组件 |
| V-3 |
TabBar.tsx |
添加活跃标签底部指示线 |
| V-4 |
App.tsx |
Sidebar 折叠/展开过渡动画 |
| V-5 |
WelcomeView.tsx |
响应式 grid-cols-1 sm:grid-cols-2 |
v1.3.0 测试覆盖 (2 周)
目标: 核心模块测试覆盖率从 10% 提升到 50%
详细计划见 TDD_PLAN.md
| # |
模块 |
当前覆盖 |
目标覆盖 |
预计 |
| 1 |
stores (tab/connection/settings/session) |
0% |
70% |
3天 |
| 2 |
hooks (useTerminal/useSFTP/useConnection) |
0% |
50% |
3天 |
| 3 |
electron services (ssh/sftp/database/crypto) |
0% |
60% |
4天 |
| 4 |
组件渲染测试 (WelcomeView/TabBar/SFTPView) |
5% |
40% |
3天 |
v1.4.0 专业功能 (2 周)
目标: 快捷键自定义、终端分屏、i18n,达到专业级水平
| # |
任务 |
类型 |
预计 |
验收标准 |
| 1 |
快捷键自定义系统 |
新增 |
3天 |
设置页快捷键 Tab,可重映射所有快捷键,冲突检测 |
| 2 |
终端分屏 |
新增 |
5天 |
水平/垂直分割标签页,可拖拽调整分割比例 |
| 3 |
i18n 国际化 |
新增 |
5天 |
zh-CN + en-US,所有 UI 文字抽离到 locale 文件 |
| 4 |
Light 主题 |
新增 |
3天 |
完整 light 色板,自动跟随系统 |
| 5 |
Snippets 命令片段库 |
新增 |
3天 |
创建/管理/搜索命令片段,快捷键插入到终端 |
| 6 |
代理设置 |
新增 |
2天 |
HTTP/SOCKS5 代理配置,按会话独立设置 |
| 7 |
多窗口支持 |
新增 |
5天 |
右键标签"在新窗口打开",窗口位置记忆 |
v1.5.0 安全升级 (1 周)
目标: 安全评分从 55 提升到 85
| # |
任务 |
类型 |
预计 |
| 1 |
IPC 传输加密 (密码不明文) |
修复 |
2天 |
| 2 |
Electron 升级 v28→v33+ |
升级 |
2天 |
| 3 |
CSP 策略强化 |
新增 |
1天 |
| 4 |
依赖安全审计 + 更新 |
修复 |
1天 |
长期愿景 (v2.0+)
| 功能 |
描述 |
| 云同步 |
会话/设置跨设备同步 |
| AI 助手 |
终端命令建议、错误诊断 |
| 团队协作 |
共享会话、权限管理 |
| 插件系统 |
第三方扩展支持 |
| 脚本录制 |
操作录制+回放 |
技术栈
| 类别 |
技术 |
版本 |
| 框架 |
Electron |
28+ (升级至 33+) |
| UI |
React |
18 |
| 语言 |
TypeScript |
5 |
| 构建 |
Vite |
5 |
| 状态管理 |
Zustand |
4 |
| 终端 |
XTerm.js |
5 |
| SSH |
ssh2 |
1.15 |
| 样式 |
Tailwind CSS |
3 |
| 图标 |
Lucide React |
— |
| 数据库 |
better-sqlite3 |
11 |
| 加密 |
AES-256-GCM (Node crypto) |
— |
架构设计