# dsh-resource-guard

> **Jazyk:** [Česky](README.cs.md) · [English](README.md)

Plugin pro DeepSeek Harness, který inteligentně hlídá paměť lokálních modelů.
Funguje jako semafor + paměťový rozpočet, takže generování obrázků, syntéza
hlasu a lokální LLM úlohy nikdy nezahltí RAM na stejném stroji — odmítne
například novou lokální obrazovou úlohu, když už běží lokální LLM.

## Funkce

- **Služba `resourceGuard`** — ostatní pluginy volají `ctx.get("resourceGuard")`
  pro `acquire()`/`release()` rezervací před spuštěním lokálního modelu.
- **Nástroj `dsh_resource`** — volá se z modelu: `status`, `models`, `reserve`, `release`.
- **Sekce nastavení** — konfigurace politiky a paměťového rozpočtu v nastavení
  Harnessu s živým přehledem RAM a rezervací.
- **Tři politiky** — `auto` (jeden lokální model v rámci rozpočtu), `strict`
  (jeden naráz), `off` (bez hlídání).

## Instalace

```sh
dsh plugin --profile web add dsh-resource-guard
```

Poté přidej `dsh-resource-guard` do `dsh.profile.bundles` a `dependencies` v
`~/.dsh/profiles/web/package.json` a spusť `dsh plugin --profile web install`.

## Použití

Zeptej se agenta:

- `dsh_resource action=status` — RAM, rezervace, běžící Ollama modely.
- `dsh_resource action=models` — seznam lokálních Ollama modelů s velikostmi.
- `dsh_resource action=reserve label="image job" estGb=6` — rezervace paměti.
- `dsh_resource action=release reservationId=rsv-1` — uvolnění rezervace.

## Nastavení

| Pole | Typ | Výchozí | Význam |
| --- | --- | --- | --- |
| `policy` | `auto`\|`strict`\|`off` | `auto` | Politika rezervací. |
| `memoryBudgetGb` | číslo | `0` | Paměťový rozpočet; `0` = 85 % celkové RAM. |

Nastavení se ukládá do namespace `resource-guard` dokumentu nastavení Harnessu
(`~/.dsh/settings.yaml`).

## Architektura

- **Host** (`lib/index.js`) — poskytuje službu `resourceGuard`, registruje
  nástroj `dsh_resource`, publikuje stavový snapshot do read-only namespace
  `resource-guard-status`.
- **Client** (`lib/client.js`) — slot `settings.section` zobrazující ovládání
  politiky/rozpočtu a živý stav.

## Licence

MIT
