dsh-remote-status:側邊欄本地/遠程狀態指示器

在 DeepSeek Harness (DSH) 中操作遠程鏡像工作區時,區分當前會話是本地連接還是遠程機器連接非常重要。當工作區標題保持不變,僅通過目錄切換來隱式改變上下文時,容易在多會話切換或故障排查時產生混淆。下面介紹一個用於解決這一問題的 UI 指示器插件。

插件簡介

dsh-remote-status 是一個 DeepSeek Harness 插件,位於側邊欄底部。它通過一個狀態芯片顯示當前會話是“本地”還是“遠程 · 機器名”,並支持懸停查看詳細診斷信息。

  • 維護者:HandsYe
  • 許可證:MIT
  • 核心定位:純 UI 指示器,不修改工作區標題或數據,僅提供狀態可視化。

核心功能

1. 狀態芯片顯示

插件在側邊欄底部提供狀態指示,根據當前會話類型顯示不同樣式:
* 本地會話:顯示爲 ◉ 本地,使用綠色圓點。
* 遠程會話:顯示爲 ⇄ 遠程 · 機器名,使用橙色圓點(收起態爲 ⇄ 圖標)。

2. 懸停診斷信息

鼠標懸停在狀態芯片上,會顯示當前會話的詳細信息:
* 本地會話:不顯示任何遠程機器信息。
* 遠程會話:顯示會話模式、連接機器、最近刷新時間、最近錯誤信息等。

3. 響應與容錯

  • 秒級響應:採用事件訂閱(150ms 防抖)+ 1s 輪詢兜底的機制,切換目錄後狀態立即更新。
  • 正確跟隨選擇:基於 DSH 2.0.15 的 retainedBy.mainView 和 layout.panelInfo 確認正在顯示的會話,不取列表第一項,避免誤判。
  • 容錯降級:接口失敗時,同一會話保留已知狀態並顯示 ⚠;切換會話後失敗顯示“狀態待確認”;未選擇會話時明確顯示“未選擇會話”。

數據來源與依賴

依賴項

插件依賴以下宿主模塊,安裝前需確保環境已包含:
* @deepseek-ai/dsh-host-webserver
* @deepseek-ai/dsh-client-ui-renderer

數據讀取

本插件不註冊任何工具,僅作爲 UI 層讀取共享數據源。它依賴 dsh-remote 生態或兼容插件創建的數據:
* $DSH_HOME/remote-workspaces/machines.json:機器註冊表,包含 currentId、機器 name/host。
* $DSH_HOME/remote-workspaces/<host-dir>/<name>/.dsh-remote-meta.json:鏡像路徑與機器身份(remotePath、host、username、port)。

自帶宿主路由

插件自帶宿主路由(/dsh-remote-status/status|machines|resolve-mirror),實現了 Web 與桌面 IPC 雙通道通信。這意味着在不依賴 dsh-remote 插件本身的情況下,它也可以作爲宿主端邏輯獨立工作,前提是有數據源提供鏡像和機器信息。

典型用法

  1. 確認連接狀態:在側邊欄底部查看狀態芯片,快速判斷當前操作是在本地還是遠程服務器上。
  2. 查看診斷信息:將鼠標懸停在芯片上,檢查會話模式、連接機器及最近的錯誤日誌。
  3. 切換目錄驗證:在遠程鏡像工作區中切換目錄,觀察芯片狀態是否在 1 秒內更新爲對應的機器名。

注意事項

  • 重啓生效:升級插件代碼後,必須重啓 DSH Desktop 才能加載新邏輯。
  • 權限與源碼:插件以當前 DSH 進程權限運行。安裝前建議檢查源碼與許可證(MIT)。

參考鏈接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜