前言¶
用 DeepSeek Harness(DSH)寫智能體或調模型時,推理往往跑在 DGX Spark 集羣上,模型服務、decode/prefill 速率和各節點 GPU 狀態通常要另開 Spark Scope 儀表盤才能對照。下面介紹社區插件 dsh-spark-scope:把 Spark Scope 迷你窗口裏的 Glance 視圖嵌進 DSH 左側邊欄底部,在 dsh web 或 Desktop 裏工作時不必頻繁切頁,也能持續看到節點與模型服務概況。
這是什麼¶
dsh-spark-scope(GitHub:juliankang4/dsh-spark-scope)由維護者 juliankang4 發佈,在 DSH 插件目錄中歸類爲客戶端插件。它依賴獨立項目 Spark Scope 提供的數據,在 DSH 側欄展示與 Spark Scope 迷你窗口一致的監控摘要:decode、prefill、各 DGX Spark 節點狀態等。插件當前版本 0.0.4,許可證 MIT;與 DSH 的適配在 README 中註明曾用 dsh 0.2.0-rc.2 / 0.2.1-rc.2 測試。
核心功能¶
側欄監控卡片¶
卡片位於側欄底部(在 dsh-cost-meter 等頁腳項之上),主要內容包括:
- 頂部:模型名、響應中的節點數、decode 與 prefill 速率及五分鐘 sparkline。
- 中部:運行中與排隊請求、KV cache 佔用、近五分鐘 TTFT / TPOT p95、前綴緩存命中率。
- 底部:每個節點的 GPU 溫度、功耗、負載與顯存;節點超過四個時,行佈局爲兩列。
模型名旁圓點:Spark Scope 報告集羣健康時爲綠色,其他狀態爲橙色;Spark Scope 無響應或數據超過 20 秒未更新時爲紅色。無讀數時顯示 —。右上角按鈕可將卡片摺疊爲單行(模型名 + decode 速率),瀏覽器會記住摺疊狀態;側欄整體收起時卡片隱藏。
與推理後端差異¶
卡片只展示推理引擎實際上報、且與 Spark Scope 相同標籤的指標。例如 oMLX 自服務啓動起的平均 decode/prefill 不帶 sparkline;llama.cpp 用平均 decode 時間代替 TPOT、用 context 佔用代替 KV cache;讀取 oMLX 需要 API key 時,卡片會提示。多模型服務並存時,行爲類似 Spark Scope 的 “All at once”:速率與請求會彙總,並列出各服務及其 decode 與狀態;(servers 1/2) 表示僅部分服務上報該速率。離散 GPU 顯存標爲 VRAM;Mac 節點無 GPU 溫度/功耗,彙總功耗會註明覆蓋節點數,如 (5/6 nodes)。
數據如何進入 DSH¶
插件在 dsh web 服務器上增加路由 /plugins/dsh-spark-scope/state。頁面可見時,卡片約每 2 秒請求該路由;dsh 再以 5 秒超時向 <你配置的地址>/api/state 拉取數據。插件只讀,不會修改 Spark Scope 或節點。該路由與 dsh 自有 API 使用相同的登錄與 Host 校驗,僅已登錄的 dsh 頁面可讀;超過 2 MB 的 Spark Scope 響應會被 dsh 忽略。詳見 dsh SAFETY.md。
主題與語言跟隨 dsh(含中文;韓文可配合 dsh-locale-ko),縮放可與 dsh-ui-scale 一致。
安裝與啓用¶
除安裝插件外,還需要已運行的 Spark Scope 服務,安裝方法見 spark-scope#installation。
Web 側使用官方命令(勿自行拼接 github:owner/repo):
dsh plugin --profile web add dsh-spark-scope
Desktop:打開 Plugins → Add plugin,輸入 dsh-spark-scope 並安裝。
配置 Spark Scope 地址¶
在 DSH Settings 的 Spark Scope 標籤頁填寫儀表盤地址後按 Enter。支持局域網地址(如 http://spark-scope.local:8787)或 tailnet 地址(如 https://spark-scope.example.ts.net);省略 scheme 時會自動補 http://。清空字段可隱藏卡片。
若當前打開的 dsh 頁面無法保存設置,輸入框會禁用並說明原因;dsh 0.2.0 僅允許在運行 dsh 的那臺機器上保存該設置。
數據由 dsh 進程請求,而非瀏覽器直連,因此地址必須能從運行 dsh 的計算機訪問。Spark Scope 默認只響應 localhost、IP 或自身主機名;若使用反向代理等其他主機名,需在 Spark Scope 服務端配置 SPARK_SCOPE_ALLOWED_HOSTS。
也可在 profile 的 cordis.patch.yml 中寫入:
- id: spark-scope
name: dsh-spark-scope
config:
url: http://spark-scope.local:8787
配置字段如下(以 README 爲準):
| 字段 | 默認 | 說明 |
|---|---|---|
url |
空 | Spark Scope 地址(http 或 https);留空則隱藏卡片 |
適用場景與注意¶
適合:已在 DGX Spark 上跑 vLLM、SGLang、oMLX、llama.cpp 等,並用 Spark Scope 做集羣與模型服務監控;希望在使用 DSH 寫提示、跑智能體時,側欄持續顯示 decode/prefill 與節點健康,減少切到獨立儀表盤。
注意:
- 插件隨 當前 dsh 進程拉取內網或 tailnet 地址,安裝前宜閱讀倉庫源碼與 MIT 許可證,並按 dsh 安全文檔部署。
- 瀏覽器裏打開的 dsh 若與運行 dsh 的機器不是同一臺,Settings 能否保存
url受 dsh 版本與策略限制,需按界面提示操作。 - 社區插件目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本插件爲客戶端擴展,不改變 DSH 核心行爲。