Files

2.8 KiB
Raw Permalink Blame History

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:port orphan-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

下一阶段

  1. 可靠性:断网 / 休眠 / 大量标签切换的持续压测;keepalive 失败原因不要盖成「用户关闭」;SFTP 与终端共享连接时的有限自动重连
  2. SFTP:目录冲突文案区分 merge/overwrite;远程文本保存前 mtime 冲突确认;可选内容校验和与失败任务恢复
  3. 桌面:RDP/VNC 证书校验;分辨率切换后解压失败的软恢复继续压测
  4. 认证增强(默认收起):Agent Forwarding、OpenSSH 证书、FIDO2
  5. 发布闭环(无凭据则不做、不宣称):Windows x86_64 实机;每份新 macOS DMG 公证 + staple;Windows Authenticode;带清单的自动更新。步骤见 docs/release.md。
  6. 架构重构(单独轨道,不与功能 PR 混做):EventSink → specta/ts-rs → infrastructure 端口。步骤见 docs/architecture-refactor.md。
  7. AI:执行循环从 React 面板继续收口到可取消、可超时的运行时;排障 eval(非零退出、循环、注入、敏感输出)

明确不做

审计、录像、审批、命令历史、插件宿主、对外 MCP/CLI 公共 API、把结账/签发服务堆回桌面进程。