-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Wenkang Zhu edited this page Aug 18, 2026
·
6 revisions
最后更新:2026-08-18(v0.1.5)
状态标记:✅ 已交付 🚧 进行中 📋 规划
- 分支:
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 | ✅ |
- 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)