基于 Rust + GPUI 的现代化 SSH 终端平台
| 文档 | 说明 |
|---|---|
| design.md | 总体设计概述 |
| roadmap.md | 实现路径与里程碑 |
| api.md | API 文档 |
| quick-reference.md | 快速参考卡 |
| implementation-guide.md | 产品开发实现步骤 ⭐ NEW |
| task-checklist.md | 详细任务实现清单 ⭐ NEW |
| 文档 | 说明 |
|---|---|
| layers.md | 五层架构详解 |
| data-flow.md | 数据流与线程模型 |
| 文档 | 说明 |
|---|---|
| connection-trait.md | TerminalConnection Trait 设计 |
| state-machine.md | 连接状态机设计 |
| error-handling.md | 错误处理策略 |
| testing.md | 测试策略与Mock 指南 |
| security.md | 安全设计与凭证保护 |
| 文档 | 说明 |
|---|---|
| session-model.md | SessionCoordinator 会话模型 |
| terminal-view.md | TerminalView 渲染视图 (参考 Zed) |
| terminal-rendering.md | 终端渲染实现细节 ⭐ NEW |
| key-mappings.md | 按键映射表 ⭐ NEW |
| zed-terminal-analysis.md | Zed 终端渲染技术分析 |
| ssh-backend.md | SSH 后端实现 (russh) |
| sftp.md | SFTP 文件管理模块 |
| 文档 | 说明 |
|---|---|
| config.md | 配置管理系统 |
| persistence.md | 数据持久化设计 |
| platform.md | 跨平台差异处理 ⭐ NEW |
Zeterm 采用五层架构设计,实现 UI 层与网络层的彻底解耦:
| 层级 | 职责 | 核心组件 |
|---|---|---|
| 表现层 | UI渲染、事件捕获 | TerminalView, SftpView |
| 应用层 | 用例协调、状态管理 | SessionCoordinator |
| 领域层 | 业务实体、Trait 抽象 | TerminalConnection |
| 适配器层 | 协议转换 | SshAdapter |
| 基础设施层 | IO、外部服务 | SshConnection, SQLite |
📖 详细架构设计见 五层架构详解
| 原则 | 说明 |
|---|---|
| 分层解耦 | UI 层与网络层通过 Trait 彻底解耦 |
| 异步优先 | 基于 Tokio 的全异步 IO 模型 |
| 类型安全 | 利用 Rust 类型系统在编译期捕获错误 |
| 可测试性 | 所有核心组件可 Mock、可单测 |
| 职责分离 | 终端状态与连接管理解耦 |
📖 详细设计见 总体设计
##🧩 组件分工
| 组件类型 | 来源 | 用途 |
|---|---|---|
| 终端渲染器 | 参考 Zed terminal_view |
字符网格、光标、选择 |
| 窗口 UI 组件 | gpui-component | Tab、Dock、Modal、按钮等 |
⚠️ 终端渲染器需参考 Zed 实现,gpui-component 不提供终端渲染能力。📖 详细实现见 TerminalView