Skip to content

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 状态。
  • OminiBackend trait 负责取消、代际保护与就绪前的有界事件合并。
  • QCS 只为明确标记为 Linux 的主机显示 Omini,目前仅桌面端提供。

生命周期

  1. 用户从 QCS 为 Linux 主机选择 Omini。
  2. OminiService.connect() 以新的尝试代际启动后端会话。
  3. ViewModel 从同一条后端流投影出三个界面。
  4. 断开、主机变化、窗格替换或释放时,拥有的会话一并关闭。
  5. 上一代的迟到完成与事件会被静默丢弃。

当前状态

ViewModel、服务、后端 trait 与默认失败后端已经实现。生产 SSH / SFTP 后端属于后续传输里程碑;在此之前,Omini 会列出 Linux 主机并渲染界面骨架,但不会建立真实连接。

设计理由

Omini 不是附加在 SSH 上的仪表盘,而是一个集成 ViewModel:

  • 文件操作和终端命令共享一次认证会话。
  • 系统指标沿同一连接传输,不需要额外代理或 HTTP 端点。
  • 断开时三个界面原子关闭,不留下孤立句柄或订阅。

Terminality — 连接每个角落