dsh-side-monitor:在 DSH 側邊欄即時查看宿主機狀態的只讀監控插件

前言

用 DeepSeek Harness(DSH)做開發或運維時,經常需要知道 DSH 所在機器當前的狀態:CPU 和內存水位、哪些進程在喫資源、容器是否正常。常見做法是另開終端連上去執行 top、docker ps,看完再切回來。dsh-side-monitor 把這件事搬進了 DSH 界面:在左側邊欄提供「System Monitor」入口,點開右側面板,即時展示宿主機概覽、進程列表和 Docker 容器狀態。下面介紹這個插件的定位、功能和安裝方法。

插件定位

dsh-side-monitor 是一個面向 DSH Web 的系統監控側邊插件,由 pc439527 維護,許可證爲 MIT,當前版本 0.3.1,已針對 DeepSeek Harness 0.1.1-rc.2 驗證(包括 sidebar.footer.action 槽位與 RPC 契約)。

DSH 的理念是「一切皆插件」。這個插件把入口註冊在 sidebar.footer.action 槽位上:側邊欄展開時顯示文字、摺疊時只留圖標、面板打開時入口高亮。

它是隻讀設計:不提供 docker 重啓/停止,沒有進程 kill,沒有 exec,也沒有 shell,定位是快速查看資源、排查問題和觀察容器。

核心功能

概覽

打開面板後首先是概覽頁:

1、CPU / 內存指標卡:大號百分比加副信息,配固定 0–100 軸的面積填充迷你圖;
2、網絡主接口吞吐和根分區磁盤兩個輕量 KPI;
3、下方依次是系統負載、系統信息、多掛載點磁盤分區、網絡接口(含默認路由與虛擬接口標記,顯示 RX/TX 速率);
4、Docker 摘要以 Total / Running / Stopped / Issues 計數展示。

進程

搜索、排序、分頁全部在 Host RPC 內完成:先掃描全部進程再過濾,進程表很大時界面依然流暢。支持按 CPU / 內存 / PID / 名稱排序,卡片顯示 PID · PPID · 用戶,點擊展開 RSS / uptime / 命令。還可以按名稱 + 命令聚合成組,展開查看 PID 列表、去重後的用戶與總 RSS。

Docker 容器

每個容器顯示名稱、鏡像、狀態、健康(healthy / unhealthy / starting)、CPU%、內存和端口。正常停止(exit 0)的容器只計爲 Stopped,不計入 Issues;Issues 留給 unhealthy、health-starting、崩潰循環、dead 或非零退出這類真實問題,崩潰容器會顯示退出碼,如 Crashed (137)。

可操作的端口

已發佈的 Web 端口點擊後在新標籤頁打開;非 Web 端口點擊即複製 host:port;右鍵菜單提供 HTTP/HTTPS 打開與複製。地址處理覆蓋 127.0.0.1、0.0.0.0 和顯式 hostIp,IPv6 自動加方括號;未發佈端口無法打開。

雙語界面與響應式佈局

界面默認簡體中文(不跟隨瀏覽器語言),可切換 en-US:通過抽屜菜單 ⋯ → Language 即時切換,選擇以 dsh-side-monitor:language 持久化。

佈局方面:桌面端是右側可拖拽抽屜,默認 500px,範圍 360–800px,寬度持久化;視口小於 768px 時切換爲全屏頁面,用 Container Query 適配面板自身寬度;移動端使用 100dvh 加 safe-area insets。

數據來源與協議握手

插件會自動探測當前運行在 Host 還是 Container 環境,頭部顯示徽標和狀態行,並提供「View data sources」對話框(含一致性自檢)。meta 端點報告細分狀態與 Host capabilities(Host Mount 模式、Docker socket、host-netns 探測、進程聚合、容器統計)。

RPC 響應攜帶 protocolVersion(v3)與 pluginVersion,版本不匹配時顯示版本橫幅和 About 面板(Browser / Host / RPC 版本、細分狀態與 capabilities),而不是留下未定義字段。

Host Mount 模式下,/proc/net 是按網絡命名空間隔離的,插件通過短時 –net=host 只讀探測讀取主機網絡命名空間,最多每 15s 一次,帶緩存與回退,不阻塞概覽輪詢。

模塊狀態與刷新

各模塊有獨立的錯誤和更新時間,某個模塊失敗時保留最後有效數據並顯示 stale 橫幅,不影響其他模塊。支持手動刷新(帶 spinner 動畫)和一鍵複製診斷文本。

輪詢方面:面板關閉或標籤頁隱藏時輪詢停止/暫停;每次輪詢會等待上一個請求完成,防止重入。

安裝與啓用

先確認環境:engines 要求 Node >= 20;peerDependencies 如下:

{
  "@deepseek-ai/cordis": "^4.0.1",
  "@deepseek-ai/dsh-client-connection": "^0.1.1-rc.2",
  "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.2",
  "react": "^18.2.0",
  "react-dom": "^18.2.0"
}

README 給出的安裝方式是從本地目錄安裝:

# 從本地目錄安裝
dsh plugin --profile web add /path/to/dsh-side-monitor

安裝後刷新頁面,左側邊欄底部出現「System Monitor」入口,點擊即可打開監控面板。

補充一點:v0.3.1 移除了對 @deepseek-ai/dsh-client-ui-slots 的引用——該包不再隨 DSH 0.1.1-rc.2 提供(其槽位運行時已合併進 @deepseek-ai/dsh-client-runtime),這樣全新安裝時不會誤拉 rc.6 時代的舊包。

典型用法

經過上面的步驟,插件已裝好並出現在側邊欄,幾個常見操作如下:

1、看整體水位:打開 System Monitor,先看概覽頁的 CPU / 內存迷你圖和 Docker 摘要,確認是否有異常;
2、定位進程:切到進程頁,按 CPU 或內存排序,或直接搜索進程名,需要時展開看命令行;
3、觀察容器:在 Docker 頁查看各容器狀態與健康度,看到 Crashed (137) 之類的徽標就知道容器異常退出過;
4、跳轉服務:容器卡片裏已發佈的 Web 端口點擊即在新標籤頁打開,非 Web 端口點擊複製 host:port;
5、切換語言:抽屜菜單 ⋯ → Language 可在 zh-CN 與 en-US 之間即時切換。

適用場景與注意

適合需要快速查看 DSH 宿主機資源、排查進程與容器問題、觀察容器運行狀態的開發者和運維人員。它只讀、不提供任何操作能力,適合在環境裏常駐。

使用前注意兩點:

1、插件以當前 dsh 進程的權限運行,安裝前應檢查插件源碼與許可證(本項目爲 MIT),確認可以接受再安裝;
2、當前版本 0.3.1 針對 DeepSeek Harness 0.1.1-rc.2 驗證,其他 DSH 版本下的表現以實際測試爲準。

小結

dsh-side-monitor 把宿主機監控做成了 DSH 的一個側邊插件,只讀、安裝後刷新頁面即可使用,省去反覆連終端查資源的步驟。項目地址見 GitHub(https://github.com/pc439527/dsh-side-monitor),也可在社區目錄查看插件頁(https://www.skillhub.cn/plugins/pc439527/dsh-side-monitor)。社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜