dsh-resource-guard
Language: English · Česky
DeepSeek Harness plugin that intelligently guards local-model memory. It acts as
a semaphore + memory budget so image generation, voice synthesis and local LLM
tasks can never exhaust RAM on the same machine — for example, it refuses a new
local image job while a local LLM is already loaded.
Features
resourceGuard service — other plugins call ctx.get("resourceGuard") to
acquire()/release() reservations before starting a local model.
dsh_resource tool — model-callable: status, models, reserve, release.
- Settings section — configure the policy and memory budget from the Harness
settings UI, with a live RAM/reservation overview.
- Three policies —
auto (one local model within budget), strict (one at a
time), off (no guarding).
Install
dsh plugin --profile web add dsh-resource-guard
Then add dsh-resource-guard to dsh.profile.bundles and dependencies in
~/.dsh/profiles/web/package.json, and run dsh plugin --profile web install.
Usage
Ask the agent:
dsh_resource action=status — RAM, reservations, running Ollama models.
dsh_resource action=models — list local Ollama models with sizes.
dsh_resource action=reserve label="image job" estGb=6 — reserve memory.
dsh_resource action=release reservationId=rsv-1 — free a reservation.
Settings
| Field | Type | Default | Meaning |
|---|
policy | auto|strict|off | auto | Reservation policy. |
memoryBudgetGb | number | 0 | Memory budget; 0 = 85% of total RAM. |
Settings are stored in the resource-guard namespace of the Harness settings
document (~/.dsh/settings.yaml).
Architecture
- Host (
lib/index.js) — provides the resourceGuard service, registers the
dsh_resource tool, publishes a status snapshot into the read-only
resource-guard-status namespace.
- Client (
lib/client.js) — a settings.section slot showing policy/budget
controls and the live status.
License
MIT