執行階段關係
關鍵點是同一個DesktopRuntime 核心有兩種前端:apps/desktop 給它加一個 GPUI 視窗,apps/server 給它加一套守護程序生命週期。兩者暴露完全相同的 Remote v2 閘道器。
主要 crate 與 app
SSH / WSL 遠端執行階段由
apps/desktop/src/ssh_connection 配置和管理:桌面端通過 SSH 安裝 vibex-server、打開回環隧道並配對,然後把它當作 Remote v2 執行階段使用。詳見 SSH Remote Runtime。
資料流規則
事件帶有權威序號和版本。客戶端檢測到 generation 或 cursor gap 時必須返回resync_required,然後從權威執行階段重新獲取。檔案寫入還要遵循內容修訂和 compare-and-swap(CAS)檢查。
遠端附件在建立流之前重新認證和授權。終端機輸入帶工作區作用域、generation 檢查和審計;不要儲存原始終端機位元組。
專案與工作區模型
VibexWorktree 工作區不是”另一種模式”,而是同一專案下的另一個工作區。
持久化和恢復
SQLite 儲存專案、工作區、會話、時間線、供應商設定、共享 Provider、路由組、網關臺賬、終端機後設資料、瀏覽器配置、電腦操作審計和遠端裝置。 只存在於記憶體、重啟即丟失: Agent 程序、終端機會話內容、瀏覽器標籤與畫面、活動連線、正在進行的電腦操作會話。資料庫中的running 只是上次觀察到的狀態,重啟後必須重新探測,丟失的終端機標記為 stale。
變更評審清單
- 是否仍由權威執行階段擁有唯一真相?
- 新能力是否同時支援本地與配對執行階段(經
BackendFacade),而不是隻走本地路徑? - 是否使用共享 DTO、錯誤和能力,而不是複製結構?
- 是否為重連、序號間隙、撤銷和恢復定義行為?
- 是否脫敏日誌、診斷資料和測試證據?
延伸閱讀
docs/architecture/ui-boundary.mddocs/remote/protocol-v2.mddocs/platform/support-matrix.mddocs/operations/recovery-matrix.md