Skip to content

Roadmap

Wenkang Zhu edited this page Aug 18, 2026 · 6 revisions

现状与路线图

最后更新:2026-08-18(v0.1.5)

状态标记:✅ 已交付 🚧 进行中 📋 规划

当前状态(2026-08)

  • 分支:dev(活跃开发;生产发布走 github origin 标签流程)
  • 版本:0.1.5(Cargo.toml / tauri.conf.json / package.json 三处一致,Cargo.lock 仅 titanssh 条目)
  • Phase 1 已交付:主机管理、多标签终端、服务器监控、SFTP 文件传输、主机身份校验、日志体系、i18n、三平台发布流水线
  • 服务架构:host / terminal / monitor / sftp 四服务 + session_manager 协调层 + ssh_transport 深层传输模块;identity / logging / storage 能力已内聚于核心层;process_service 未开始
  • 架构深化已完成(2026-08-07):Session 生命周期后端权威化、运行时 module 隔离、SSH transport 深化、任务状态单一事实、HostConfig 持久化深化 —— 详见 Architecture

已完成功能

能力 说明 状态
主机配置管理 增删改查、密码/私钥认证(仅存路径,口令保护)、安全存储(macOS Keychain / Linux keyring 回退 / Windows 凭据管理器)、旧配置迁移带备份
主机分组/搜索 分组折叠/重命名/删除、名称搜索过滤、可拖拽侧栏
多标签 SSH 终端 xterm.js 渲染、双向 IO、PTY resize、连接阶段诊断(LoadingCredentials → 建连 → 认证 → 就绪)
连接状态机 Connecting → Connected / AuthFailed / Timeout / Error,错误类型化、结构化上报前端
主机身份校验 应用独立 known_hosts(OpenSSH 格式,fail-closed);首次连接内联确认卡(接受并保存 / 仅本次接受 / 替换 / 拒绝);已保存 key 静默放行;信任记录随 HostConfig 生命周期自动清理
可信主机清单 Settings 只读清单:endpoint、算法、SHA-256 指纹,稳定排序;不提供手动增删(随主机生命周期管理)
服务器监控 CPU / 内存 / 磁盘 / 网卡接口速率(含趋势),按会话采集推送;任务生命周期终态与异常防护
SFTP 目录浏览、上传/下载、进度、取消、失败重试、覆盖确认
SFTP 传输工程 每会话 5 通道传输池、控制/传输连接分离、跨会话公平调度、安全发布(同目录临时文件 + no-clobber/原子替换)、冲突策略 Reject/Overwrite
凭据安全 keyring 集成,无明文落盘,保存/删除带失败补偿、三态凭据输入
日志体系 后端持久化(应用数据目录,追加 + 10MB 截断)、应用内查看器(2s 轮询)、导出、日志等级管理
国际化 中英双语,语言选择即时生效
终端主题 6 套主题(仅作用于终端内容),与应用明暗主题独立
发布流水线 GitHub Actions 标签驱动,macOS arm64/x64 + Windows(NSIS+MSI)构建,CHANGELOG 自动提取 release notes

近期演进(Phase 2 候选)

  • ProcessService(P0):进程管理服务(与监控并列的独立服务),复用 monitor 的任务生命周期模型;AGENTS.md 声明的核心支柱,当前完全缺失
  • 自动更新(P1):tauri updater 接入,需签名证书(macOS 公证 / Windows 代码签名);先做 dev 预览通道
  • Linux 构建与发布(P1):release.yml 矩阵增加 ubuntu(deb/AppImage);代码已具备 keyring 回退
  • 真实 SSH 的 E2E 门禁(P1):当前 e2e 全部 mock 化,不触达真实协议;起容器化 sshd 夹具,纳入 release 门禁
  • 端口转发 / 隧道(SOCKS 动态转发、本地/远端转发;libssh2 通道架构需先可行性验证)
  • 会话重连与断线恢复(带退避重试策略)
  • 传输任务持久化与断点续传;批量冲突策略
  • 监控深化:趋势持久化与图表、进程级指标、异常告警与桌面通知、多主机聚合
  • 终端体验:会话内搜索、自定义键位、复制/粘贴快捷方式、横向分屏
  • SFTP 双栏视图(本地-远端)与拖拽、目录树导航
  • 团队协同:主机配置加密导出/导入、设置与信任数据迁移向导

已知技术债 / 注意点

  • monitor_worker 失败不自动重连(设计决策,后续可加退避重试)
  • 采集脚本依赖 Linux /proc/proc/meminfo/proc/stat),不支持 BSD/macOS 远端
  • SFTP 连接后台失败只交付一次,由下一次操作触发按需重连(无主动后台重连)
  • 会话关闭后 SFTP registry 立即移除并丢弃迟到连接结果;前端仅清理投影
  • E2E 依赖 __TAURI_TEST__ 注入,覆盖 UI 闭环但不覆盖真实 SSH 协议路径(真实连接由 Rust 单测覆盖,含 TITAN_SSH_E2E_* 环境变量驱动的真实 SSH 并发 E2E)

维护约定

  • 每次功能合入必须带测试(AGENTS.md:未测试即不存在)
  • Wiki 文档随功能演进同步更新(本仓库 = .wiki/)
  • 版本:0.1.5(Cargo.toml / tauri.conf.json / package.json 保持一致;Cargo.lock 仅改 titanssh 条目)
  • 发布:docs/agents/release.md 标签流程(push dev → tag vX.Y.Z → 构建 → CHANGELOG 提取 notes)

Clone this wiki locally