Resource Monitor for DeepSeek Harness
A compact strip above the message composer showing Mac CPU, GPU, RAM, swap and local Ollama model status. No additional panels or charts. All interface labels and tooltips use English, regardless of the Harness language.
Mac CPU 12% GPU 34% RAM 28.4/36.0 GiB Swap 1.2 GiB Model ON · 21.9 GiB ● 2s
Illustrative values. Verified with DeepSeek Harness 0.2.1-rc.5, macOS and Apple Silicon. Requires Node.js 20+ and local Ollama at http://127.0.0.1:11434. Other operating systems and Harness versions are not claimed as supported. GPU availability depends on the driver.
Install
Install the prebuilt release into your Harness profile:
dsh plugin --profile desktop add https://github.com/Sad-Jack/dsh-resource-monitor/releases/download/v0.1.1/dsh-resource-monitor-0.1.1.tgz
Replace desktop with web for the web profile. Source installation is also supported:
dsh plugin --profile desktop add github:Sad-Jack/dsh-resource-monitor
Open a conversation to see the strip. If Harness has not picked it up, restart when convenient. Disable or remove it through Plugins → dsh-resource-monitor.
Indicators
| Indicator | Meaning |
|---|---|
| CPU | Whole-computer usage across all logical cores; 100% means total CPU capacity. The tooltip includes Ollama's process tree on the same scale. |
| GPU | Whole-computer Device Utilization % from IOAccelerator, including other apps. If multiple devices report values, the maximum is shown. — means unavailable. |
| RAM | Estimated physical memory used / installed memory in GiB: anonymous + wired + physical compressor pages from vm_stat, excluding file cache. It may differ from Activity Monitor. |
| Swap | Used swap space for the whole Mac. It may remain allocated after earlier workloads. |
| Model ON · … GiB | At least one model is loaded. The size sums size from Ollama /api/ps for all loaded models, including those used by other apps. ON does not mean currently generating. Hover for model names and context lengths. |
| Model OFF | Ollama is reachable and reports no loaded models. |
| Model N/A | Ollama is unreachable or its response cannot be read; model state is unknown. System readings continue to refresh. |
| RAM color / dot | macOS memory pressure from kern.memorystatus_vm_pressure_level: normal, elevated or critical. High RAM usage alone does not trigger red. |
Do not add RAM, model memory, RSS and size_vram together. Apple Silicon CPU and GPU share memory. Model memory is an Ollama estimate, not an independent resident-memory measurement. Combined process RSS in tooltips may count shared pages more than once. Ollama attribution follows the ollama executable and its descendants; unrelated Python processes are excluded. Whole-computer usage cannot be attributed entirely to the model.
Collection and privacy
- Refreshes approximately every two seconds while the strip is mounted and the document is visible. Polling pauses on
visibilitychangewhen supported. Mounted conversations share one client poll; concurrent host samples are cached. No host background timer. - Reads
vm_stat,sysctl,ioreg, process names/CPU time/RSS throughps, and local Ollama/api/ps. Commands have timeouts. A failed source does not hide other readings; loss of the Harness connection clears old numbers. - Does not collect process command-line arguments, read conversations, start generation or load models. No telemetry, remote analytics, additional listening ports, administrator privileges or application-bundle changes.
- Uses Harness's existing connection. With a remote Harness host, readings describe that host, not the browser's computer. This version does not configure remote Ollama addresses or alternate ports.
Development
No build step or runtime npm dependencies; Harness provides React.
npm test
npm run sample
npm pack
collector.mjs collects readings, index.js registers the host route, and client.js renders in conversation.input.dock. A development profile can link this folder; keep it in place while linked.
Verified against real Mac/Ollama readings and the running Harness UI. Automated checks cover memory accounting, process attribution, unavailable sources, shared sampling and model states.
MIT license. Independent community plugin, not an official DeepSeek product.
No comments yet. Be the first to write one.