# dsh-image-studio

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

Plugin pro DeepSeek Harness pro lokální text-to-image a úpravy obrázků, s GUI
nastavením a nástrojem `dsh_image` volaným z modelu.

## Funkce

- **Generování** obrázků z promptu — lokálně přes Stable Diffusion (diffusers +
  PyTorch MPS na Apple Silicon) nebo přes OpenAI-kompatibilní obrazové API.
- **Inpaint** — úprava oblasti existujícího obrázku pomocí masky.
- **Kontrola** — zkontroluj vygenerovaný obrázek vision modelem: DeepSeek vision
  API (`deepseek-v4-flash-vision-exp`) nebo lokální Ollama vision model
  (`qwen2.5vl:3b`).
- **Sekce nastavení „Image Studio"** — backend, model, API klíč, vision model
  a parametry generování.
- Spolupracuje s `dsh-resource-guard`: lokální generování nejdřív rezervuje paměť.

## Požadavky (lokální backend)

- macOS s Apple Silicon (MPS) nebo CPU fallback.
- `python3` v PATH (automaticky vytvoří `~/.dsh/image-studio-venv`).
- První lokální běh stáhne váhy modelů
  (`runwayml/stable-diffusion-v1-5`, `runwayml/stable-diffusion-inpainting`).

## Instalace

```sh
dsh plugin --profile web add dsh-image-studio
```

Poté přidej `dsh-image-studio` 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_image action=generate prompt="a lighthouse at dusk"` — lokální generování.
- `dsh_image action=inpaint prompt="a red door" image=/abs/img.png mask=/abs/mask.png` — úprava oblasti.
- `dsh_image action=check image=/abs/img.png` — vision kontrola.

Výstupy se ukládají do `~/.dsh/image-studio-outputs/`.

## Nastavení

| Pole | Výchozí | Význam |
| --- | --- | --- |
| `backend` | `local` | `local` (Stable Diffusion) nebo `api` (OpenAI-kompatibilní). |
| `model` | `runwayml/stable-diffusion-v1-5` | ID lokálního modelu nebo API obrazového modelu. |
| `apiBaseUrl` | `https://api.openai.com/v1` | Základní URL API (backend `api`). |
| `apiKey` | `` | Bearer token (backend `api` / vision). |
| `visionBackend` | `deepseek` | `deepseek` nebo `local`. |
| `visionModel` | `deepseek-v4-flash-vision-exp` | ID vision modelu. |
| `steps` / `guidanceScale` / `width` / `height` | `25` / `7.5` / `512` / `512` | Parametry generování. |

## Architektura

- **Host** (`lib/index.js`) — spouští `worker/image_worker.py` (stdlib HTTP
  server na `127.0.0.1:7861`) do `~/.dsh/image-studio-venv`, volá endpointy
  `/generate` a `/inpaint` a implementuje vision kontrolu.
- **Client** (`lib/client.js`) — `settings.section` s konfigurací, promptem a
  tlačítky Generate / Inpaint / Review (přes action namespace).

## Licence

MIT
