2.8 KiB
2.8 KiB
OpsXShell 路线图
最后更新:2026-09-14
版本基线:v2.1.1(Tauri 2 原生)
持续开发入口:本文件 + TASKS.md + TDD_PLAN.md。规则以 AGENTS.md 为准。
产品定位
轻量运维终端:连上就能用 SSH、SFTP、转发、RDP/VNC、串口和本地终端。短路径、好用实用。不做审计、录像、审批或堡垒机。
当前基线(已落地,不要重做)
- SSH:密码 / 私钥 / Agent、known_hosts、HTTP·SOCKS 代理、最多 8 跳 ProxyJump、
ssh://有界确认队列 - 工作区:多标签、分屏、广播、批量命令(排除桌面会话)、七语种 i18n
- SFTP:双栏、拖拽、断点、原子替换、远程文本编辑(约 2MB)
- 转发:本地 / 远程 / 动态 SOCKS5;规则可持久化,运行态不落盘;
TunnelManager持有 Listener - 转发恢复:未点停止则 retain;
user@host:portorphan-adopt;同窗forwardIntent;关标签不自动再启;空闲挂起先断原生并retainForwards - 远程桌面:IronRDP / vnc-rs;RDP 压缩优先 K64(不用 XCRUSH);会话运行态仅内存
- 连接池:resume 换 ID 回写 tab;suspend 立即 disconnect + retainForwards
- AI Agent:当前 SSH connection、strict/relaxed、critical 硬拒绝、不落命令历史
- 打包:macOS arm64
.dmg由./scripts/build.sh走 Tauri 窗口布局产出;本机有tauri.signing.conf.json时签 Developer ID,新包必须再./scripts/macos-notarize.sh;无凭据时仍为 ad-hoc
下一阶段
- 可靠性:断网 / 休眠 / 大量标签切换的持续压测;keepalive 失败原因不要盖成「用户关闭」;SFTP 与终端共享连接时的有限自动重连
- SFTP:目录冲突文案区分 merge/overwrite;远程文本保存前 mtime 冲突确认;可选内容校验和与失败任务恢复
- 桌面:RDP/VNC 证书校验;分辨率切换后解压失败的软恢复继续压测
- 认证增强(默认收起):Agent Forwarding、OpenSSH 证书、FIDO2
- 发布闭环(无凭据则不做、不宣称):Windows x86_64 实机;每份新 macOS DMG 公证 + staple;Windows Authenticode;带清单的自动更新。步骤见 docs/release.md。
- 架构重构(单独轨道,不与功能 PR 混做):EventSink → specta/ts-rs → infrastructure 端口。步骤见 docs/architecture-refactor.md。
- AI:执行循环从 React 面板继续收口到可取消、可超时的运行时;排障 eval(非零退出、循环、注入、敏感输出)
明确不做
审计、录像、审批、命令历史、插件宿主、对外 MCP/CLI 公共 API、把结账/签发服务堆回桌面进程。