# 现状与路线图 最后更新: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](Architecture.md) ## 已完成功能 | 能力 | 说明 | 状态 | | --- | --- | --- | | 主机配置管理 | 增删改查、密码/私钥认证(仅存路径,口令保护)、安全存储(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`、`/proc/net/dev`),不支持 BSD/macOS 远端;首轮无基线的 CPU 与网络速率为 null(未知),CPU/内存/磁盘字段缺失时为 null 而非 0% - 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)