docs(plan): ROADMAP 勾选已完成里程碑并新增 2026-10-21 backlog
- ROADMAP 修正过期限制说明,M3-A/M3-B/M4/M5 按实际完成勾选 - 新增 docs/PLAN-2026-10-21-backlog.md(W0–W5 波次计划,含核实记录)
This commit is contained in:
1 parent
69d24fbed6
commit
c0f1cdcecb
2 files changed
+244
-17
No files matched your search
+17
-17
@@ -30,17 +30,17 @@
|
||||
- [x] Host key 校验:known_hosts 固定、首次确认、变更告警、30s 超时拒绝
|
||||
- [x] 测试:tests/ssh-loopback.mjs(ssh2 回环)+ tests/ssh-session-e2e.mjs(真实会话路由层 e2e)
|
||||
- 待解锁后的 GUI 验收:双击书签连接、指纹弹窗交互、断线提示
|
||||
- 已知限制:SSH 面板暂不支持作为分屏参照(总在新标签打开);连接中 Modal 不可取消;agent 认证未在本机验证
|
||||
- 已知限制:连接中 Modal 不可取消;agent 认证未在本机验证(「SSH 面板不能作分屏参照」一条已失效:`Workspace.tsx` 的 `handleSplit` 已支持 SSH dockview 内按同 session 分屏)
|
||||
|
||||
## M3 — SSH 产品化:Terminal/SSH 分离 + 服务器硬件监控 ✅
|
||||
|
||||
### A. Terminal 与 SSH 功能分离(产品形态)
|
||||
|
||||
- [ ] 侧栏双分区:「终端」(本地)与「SSH 服务器」各自独立区块(独立折叠、独立头部、独立计数)
|
||||
- [ ] SSH 会话标识:标签页带服务器图标/主机名前缀,本地与 SSH 标签视觉区分
|
||||
- [ ] 新建入口分离:图标条「+」只建本地终端;SSH 会话仅从服务器列表发起(双击连接,右键:连接/编辑/删除/复制主机)
|
||||
- [ ] SSH 区增加「最近会话」(按 lastConnectedAt 排序,一键重连)
|
||||
- [ ] (可选增强)工作区模式:本地/SSH 两个独立工作区布局,互不混排
|
||||
- [x] 侧栏双分区:「终端」(本地)与「SSH 服务器」各自独立区块(独立折叠、独立头部、独立计数)
|
||||
- [x] SSH 会话标识:标签页带服务器图标/主机名前缀,本地与 SSH 标签视觉区分
|
||||
- [x] 新建入口分离:图标条「+」只建本地终端;SSH 会话仅从服务器列表发起(双击连接,右键:连接/编辑/删除/复制主机)
|
||||
- [x] SSH 区增加「最近会话」(按 lastConnectedAt 排序,一键重连)
|
||||
- [x] (可选增强)工作区模式:本地/SSH 两个独立工作区布局,互不混排(现为图标栏「终端工作区 / SSH 工作区」双模式 + 双 dockview)
|
||||
- 验收:不开侧栏也能一眼区分标签是本地还是 SSH;图标条「+」只出本地终端
|
||||
|
||||
### B. 服务器硬件监控(参考 Wave Terminal 的 sysinfo 块)
|
||||
@@ -52,25 +52,25 @@
|
||||
|
||||
数据面:ssh2 `conn.exec` → stdout JSON → 主进程解析 → `STATS:{id, stats}` 广播 → 渲染层
|
||||
|
||||
- [ ] `src/main/sysinfo.ts`:按会话轮询(默认 3s,可配置),会话关闭/断线自动停止;解析容错
|
||||
- [ ] 契约:`shared/sysinfo.ts`(SysinfoSample + STATS 通道 + 面板开关事件)
|
||||
- [ ] UI:SSH 会话右侧可折叠监控面板——CPU 多核条形、内存/磁盘用量条、网络上下行、负载/运行时间
|
||||
- [ ] (增强路线)进程 Top 列表 + 结束进程
|
||||
- [x] `src/main/sysinfo.ts`:按会话轮询(默认 3s,可配置),会话关闭/断线自动停止;解析容错
|
||||
- [x] 契约:`shared/sysinfo.ts`(SysinfoSample + STATS 通道 + 面板开关事件)
|
||||
- [x] UI:SSH 会话右侧可折叠监控面板——CPU 多核条形、内存/磁盘用量条、网络上下行、负载/运行时间
|
||||
- [ ] (增强路线)进程 Top 列表 + 结束进程(未做;依赖部署脚本路线,与「零部署」取向冲突,见 PLAN-2026-10-21 §6)
|
||||
- 验收:连接后 ≤3s 看到实时 CPU/内存;断开会话监控自动停止;服务器跑 `stress` 曲线明显上升
|
||||
|
||||
## M4 — SFTP 文件管理 ✅
|
||||
|
||||
- [ ] `src/main/sftp.ts`:ssh2 SFTP 封装(readdir/stat/rename/mkdir/rm/mv,大文件分块传输 + 进度事件)
|
||||
- [ ] 双栏界面(本地 ↔ 远程)+ 拖拽上传/下载 + 传输面板(队列/暂停/取消)
|
||||
- [ ] 右键菜单:压缩/解压(tar.gz)、编辑远程文件(Monaco,下载-编辑-回传)
|
||||
- [x] `src/main/sftp.ts`:ssh2 SFTP 封装(readdir/stat/rename/mkdir/rm/mv,大文件分块传输 + 进度事件)
|
||||
- [ ] 双栏界面(本地 ↔ 远程)+ 拖拽上传/下载 + 传输面板(队列/暂停/取消)——**部分完成**:传输面板与取消已有(TransferPanel/cancelTransfer);双栏、拖拽、暂停/续传未做(`TransferState` 无 paused 态),见 PLAN-2026-10-21 §6
|
||||
- [ ] 右键菜单:压缩/解压(tar.gz)、编辑远程文件(Monaco,下载-编辑-回传)——未做(远程编辑建议走轻量方案,见 PLAN W5-1)
|
||||
- 验收:100MB 文件传输进度流畅、可取消续传
|
||||
|
||||
## M5 — 命令系统与会话日志 ✅
|
||||
|
||||
- [ ] 命令历史(sqlite + better-sqlite3,按会话去重)
|
||||
- [ ] 命令库(分组 + 参数变量 `{{param}}` + 一键运行/粘贴)
|
||||
- [ ] 终端补全:历史 + 命令库 + 内置命令表(内置命令文档可从 tldr 页面生成)
|
||||
- [ ] 会话日志:手动启停、纯文本落盘、断线暂停指示
|
||||
- [x] 命令历史(按会话去重;实现为 `commands.json` 而非原计划的 sqlite,全仓零原生依赖)
|
||||
- [x] 命令库(分组 + 一键运行/粘贴;**参数变量 `{{param}}` 未做**——`shared/commands.ts` 的 `params` 字段已定义但无消费代码,见 PLAN W2-2)
|
||||
- [x] 终端补全:历史 + 命令库(**内置命令表未做**,见 PLAN §梳理)
|
||||
- [x] 会话日志:手动启停、纯文本落盘(**断线暂停指示未做**——pane 重绑时录制静默停止)
|
||||
- [x] ~~关键词高亮~~(✅ 已提前完成:highlightEngine 流式 ANSI 注入 + 22 条预设 + 设置页管理,见 M2.5;状态类预设不分大小写、覆盖 ✓/✗ 符号,删除/新建操作单独着色,百分比/退出码/HTTP 状态码/耗时按数值分级取色,含密钥泄露提醒与危险管道,旧安装的预设规则在加载时按「未被用户改动过」升级)
|
||||
- 验收:补全 ↑↓ 选择 / Tab 接受 / Esc 关闭 / 回车直接执行,交互流畅
|
||||
|
||||
|
||||
Reference in new issue
Block a user