Omini
Omini 是一种集成式 Linux 连接体验:一个窗格中同时呈现终端、文件浏览器与系统监控。
布局
┌──────────────────────────┐
│ 终端 │
│ $ uptime │
│ 14:32:17 up 3 days │
│ $ _ │
├────────────┬─────────────┤
│ 文件 │ 系统 │
│ /var/log │ CPU 23% │
│ ▸ nginx │ MEM 57% │
│ ▸ mysql │ DSK 42% │
└────────────┴─────────────┘架构
OminiPaneViewModel是窗格 ViewModel 的键控子项,发布连接状态、当前路径与类型化指标事件。OminiService拥有后端会话边界:实例 ID、单调递增的尝试代际与过期事件拒绝。- 终端字节走专用二进制通道,而不是 JSON 状态。
OminiBackendtrait 负责取消、代际保护与就绪前的有界事件合并。- QCS 只为明确标记为 Linux 的主机显示 Omini,目前仅桌面端提供。
生命周期
- 用户从 QCS 为 Linux 主机选择 Omini。
OminiService.connect()以新的尝试代际启动后端会话。- ViewModel 从同一条后端流投影出三个界面。
- 断开、主机变化、窗格替换或释放时,拥有的会话一并关闭。
- 上一代的迟到完成与事件会被静默丢弃。
当前状态
ViewModel、服务、后端 trait 与默认失败后端已经实现。生产 SSH / SFTP 后端属于后续传输里程碑;在此之前,Omini 会列出 Linux 主机并渲染界面骨架,但不会建立真实连接。
设计理由
Omini 不是附加在 SSH 上的仪表盘,而是一个集成 ViewModel:
- 文件操作和终端命令共享一次认证会话。
- 系统指标沿同一连接传输,不需要额外代理或 HTTP 端点。
- 断开时三个界面原子关闭,不留下孤立句柄或订阅。