dsh-resource-monitor:在 Harness 輸入框下方查看 Mac 與 Ollama 資源佔用

前言

在 DeepSeek Harness 裏跑本地 Ollama 時,CPU、GPU 和內存是否喫滿,往往要切到「活動監視器」或單獨開終端查 ollama ps。對話界面本身看不到整機負載,也很難判斷模型是否仍在內存裏、佔了多少體量。社區插件 dsh-resource-monitor(維護者 Sad-Jack)把一行緊湊指標掛在消息輸入區下方,在同一窗口裏對照對話與資源狀態。

這是什麼

dsh-resource-monitor 是 DeepSeek Harness 的客戶端插件,分類爲客戶端側能力。它在輸入框 dock 區域展示 macOS 上的 CPU、GPU、物理內存、swap,以及本機 Ollama 模型加載狀態,不額外彈出面板或曲線圖。插件爲社區獨立作品(MIT 許可證),並非 DeepSeek 官方產品;目錄頁見 SkillHub 插件頁,源碼在 GitHub:Sad-Jack/dsh-resource-monitor。

資料中說明:已在 DeepSeek Harness 0.2.1-rc.5、macOS(含 Apple Silicon)上驗證;需要 Node.js 20+ 與地址爲 http://127.0.0.1:11434 的本地 Ollama。未聲明支持其他操作系統或 Harness 版本;GPU 讀數依賴驅動,無數據時顯示爲 —。

核心功能

界面形態是一行文本,例如(數值僅爲示意):

Mac   CPU 12%   GPU 34%   RAM 28.4/36.0 GiB   Swap 1.2 GiB   模型: 在內存 · 21.9 GiB   ● 2 s

中文環境下,倉庫提供 README.zh.md;本地俄語版 README 提到俄語界面下標籤與提示已本地化。

各指標含義如下(與官方 README 表格一致):

指標 含義
CPU 全機所有邏輯核心的佔用;100% 表示整機 CPU 打滿。懸停提示中會單獨列出 Ollama 相關進程樹,口徑與主行一致。
GPU 來自 IOAccelerator 的 Device Utilization %,含其他應用;多 GPU 取最大值。
RAM 已用物理內存 / 總內存(GiB),由 vm_stat 等估算(含 anonymous、wired、壓縮器物理頁),不含文件緩存;可能與「活動監視器」略有差異。
Swap 整機已用 swap;高負載結束後仍可能維持一段時間。
模型狀態 「在內存」表示至少有一個模型已加載,體積爲 Ollama /api/ps 中全部已加載模型的 size 之和(含其他應用加載的模型);不代表正在生成。懸停可看模型名與上下文長度。「未加載」表示 Ollama 可達但無模型在內存;「無數據」表示 Ollama 不可達或讀失敗,此時 Mac 指標仍刷新。
RAM 顏色 / 圓點 反映 macOS kern.memorystatus_vm_pressure_level(正常 / 升高 / 臨界),高佔用比例本身不必然變紅。

Apple Silicon 上 CPU 與 GPU 共享內存;RAM、模型佔用、RSS、size_vram 不應簡單相加。模型體積是 Ollama 的估計,不是獨立測得的物理內存;Ollama 進程按可執行文件 ollama 及其子進程識別。

數據採集與隱私(README 原文要點):

  • 行可見且文檔在前臺時約 每 2 秒 更新;支持 visibilitychange 時,不可見則暫停輪詢。多會話共用一次客戶端輪詢,服務端緩存共享採樣,無後臺服務端定時器。
  • 讀取 vm_stat、sysctl、ioreg、ps 與本地 Ollama /api/ps;單源失敗不隱藏其餘指標;與 Harness 斷連會清空舊數字。
  • 不收集進程命令行參數與對話內容;不觸發生成、不代爲加載模型;無遙測、無額外監聽端口、無需管理員權限、不修改應用構建。
  • 走 Harness 已有連接:若 Harness 跑在遠程機器上,數字屬於該遠程 Mac,而非瀏覽器所在設備。本版本不可配置 Ollama 的其他地址或端口。

實現上,collector.mjs 負責採集,index.js 註冊服務端路由,client.js 通過 conversation.input.dock 渲染行(開發說明,便於理解架構)。

安裝與啓用

先從倉庫安裝當前版本到 Harness 配置文件(desktop 或 web)。安裝命令以 README 爲準:

git clone https://github.com/Sad-Jack/dsh-resource-monitor.git
cd dsh-resource-monitor
dsh plugin --profile desktop add "$PWD"

Web 配置將 desktop 改爲 web 即可。README 註明:舊發行 v0.1.1 標籤中保留上一版插件形態;package.json 當前列出版本 0.1.1,引擎要求 dsh 0.2.1-rc.5、node >=20。

安裝後打開任意對話即可看到該行;若未出現,可在方便時重啓 Harness。在 插件 → dsh-resource-monitor 中可禁用或移除。

插件以當前 DSH 進程權限運行;安裝前請自行查看源碼與 MIT 許可證,確認符合你的環境與安全要求。

典型用法

  1. 在本機安裝並啓動 Ollama(默認 http://127.0.0.1:11434),再啓動 DeepSeek Harness(desktop 或 web profile 與安裝時一致)。
  2. 進入對話頁,在輸入框下方觀察 CPU / GPU / RAM / swap 與「模型」字段;需要細節時將指針懸停在對應片段上查看 Ollama 進程樹或模型名。
  3. 加載或卸載 Ollama 模型後,觀察「在內存 / 未加載 / 無數據」與體積變化,無需離開 Harness。

開發或打包時,倉庫提供(無需額外構建依賴即可運行插件本身,React 由 Harness 提供):

npm test
npm run sample
npm pack

適用場景與注意

適合在 macOS + 本地 Ollama + Harness 0.2.1-rc.5 組合下,希望在對話界面持續掃一眼整機與模型內存狀態的用戶。不適合需要 Windows/Linux、可配置遠程 Ollama 地址、或圖表化監控的場景——這些在 README 中均未承諾。

再次強調:遠程部署 Harness 時,監控的是 運行 Harness 的那臺 Mac;瀏覽器端設備資源不會顯示在這一行裏。swap 與內存壓力指標反映的是 macOS 行爲,解讀模型佔用時不要與活動監視器裏的單項簡單對齊相加。

結尾

dsh-resource-monitor 用一行 dock 信息把 Mac 資源與 Ollama 加載狀態收進 Harness 對話頁,輪詢本地系統接口與 /api/ps,無額外面板。需要安裝步驟與指標細則時,以倉庫 README(含 README.zh.md)爲準。

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

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

小夜