<div align="center">

<img src="../social-preview.png" alt="dsh-media-skills — Бесплатное чтение и генерация изображений для DeepSeek Harness" width="100%">

<br>

# 🎨 dsh-media-skills

### *Вставляйте картинки прямо в чат — бесплатная модель зрения, чтение и генерация изображений.*

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../../LICENSE)
[![Python 3.9+](https://img.shields.io/badge/Python-3.9%2B-blue.svg)](https://python.org)
[![DeepSeek Harness](https://img.shields.io/badge/DeepSeek%20Harness-Skill-4D6BFE)](https://github.com/topics/dsh-plugin)

<br>

Подарите [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) «глаза» и «кисть» —
два бесплатных навыка, бесплатную модель зрения и вставку картинок, без зашитых ключей.

[Возможности](#-возможности) · [Быстрый старт](#-быстрый-старт) · [Использование](#-использование) · [Настройка зрения](../SETUP_VISION.md)

[**English**](../../README.md) · [**简体中文**](README_ZH.md) · [**繁體中文**](README_ZH_TW.md) · [**日本語**](README_JA.md) · [**한국어**](README_KO.md) · [**Español**](README_ES.md) · [**Deutsch**](README_DE.md) · [**Português**](README_PT.md) · [**Русский**](README_RU.md)

</div>

---

## ✨ Возможности

| Возможность | Что делает | Модель | Цена |
|---|---|---|---|
| 🖼️ Чтение вставленных картинок | В **текстовых** сессиях (например deepseek-v4-pro) в строке ввода появляется кнопка «Добавить изображение» (иконка изображения); вставленные картинки модель зрения автоматически превращает в текстовое описание для текущей модели (**начиная с v0.1.1 по умолчанию DeepSeek-V4-Flash-Vision-Exp**) | v0.1.1: DeepSeek-Vision-Exp · rc.7/8: Zhipu GLM-4V-Flash | GLM бесплатно; DeepSeek списывается с баланса (по умолчанию в v0.1.1) |
| 🧠 Маршрут модели зрения | На ≤ v0.1.1 после установки **автоматически** добавляется «智譜 GLM-4V-Flash（視覚）」 (**v0.1.6**: добавьте один раз в **Настройки → Модели**) — выбирайте её в новом диалоге и обсуждайте изображения | Zhipu GLM-4V-Flash | Бесплатно |
| 👁️ `vision-review` | Анализ / распознавание / описание изображений и скриншотов; поиск визуальных багов интерфейса (наложения, выход за границы, смещения); поиск водяных знаков и логотипов; перевод картинки в текст. Цепочка движков: GLM-4V-Flash → DeepSeek-V4-Flash-Vision-Exp (тот же ключ, что у агента, опционально платно) → SenseNova / SiliconFlow / Gemini | GLM-4V-Flash＋DeepSeek-Vision-Exp＋SenseNova＋Gemini | Бесплатно (DeepSeek опционально платно) |
| 🎨 `media-tools` | Генерация картинок, иллюстраций, аватаров, фонов и баннеров | SenseNova U1 Fast → SiliconFlow Kolors | Бесплатно, без водяных знаков |

> ⚠️ Честное замечание: чтение вставленных картинок — это возможность **ядра** DeepSeek Harness — нативно в **v0.1.6 / v0.1.1**, в rc.7 / rc.8 через приложенные патчи ядра (приём изображений в `api-proxy`). Этот бандл даёт **навыки** (на ≤ v0.1.1 также маршрут модели); модель зрения работает на любой сборке DSH.

## ⚡ Быстрый старт

1. Установите бандл:

   ```sh
   dsh plugin --profile <name> add dsh-media-skills
   ```

2. **Ключи**:
   - **v0.1.6**: при установке ключи не нужны — оба навыка регистрируются во время выполнения. Ключи навыков (`GLM_API_KEY`, `SILICONFLOW_API_KEY`, опционально `GEMINI_API_KEY`) лежат в `~/.dsh/secrets/media-tools.env` (см. [Ключи](#-ключи)); нативные маршруты моделей вы настраиваете сами в **Настройки → Модели**.
   - **на v0.1.1-rc.1+ дополнительные ключи не нужны** — вставка картинок и маршрут зрения работают на существующем `DEEPSEEK_API_KEY` агента. Для бесплатных движков (или rc.7/rc.8): сначала бесплатно получите ключ — зарегистрируйтесь на [open.bigmodel.cn](https://open.bigmodel.cn) → **API Keys** (glm-4v-flash бесплатен). Для генерации создайте ещё один на [siliconflow.cn](https://siliconflow.cn) (Kolors бесплатен). Затем укажите — веб-интерфейс (**Настройки → Модели**) или файл учётных данных:

   ```sh
   # ~/.dsh/.credentials.yaml (chmod 600)
   GLM_API_KEY: <ваш ключ>
   ```

3. **Полностью перезапустите** `dsh web` и жёстко обновите страницу (`Cmd+Shift+R`).

4. Проверьте: в списке навыков появились **`vision-review`** и **`media-tools`** (на v0.1.6 маршрут зрения настраивается в **Настройки → Модели**; на ≤ v0.1.1 в селекторе моделей появится **智譜 GLM-4V-Flash（視覚）**). Если ваша сборка поддерживает вставку картинок, в строке ввода появится кнопка 🖼️ **«Добавить изображение»** — вставьте картинку в любой сессии, и она придёт как текстовое описание.

Полное руководство, принцип работы и решение проблем: **[../SETUP_VISION.md](../SETUP_VISION.md)**

## 🔑 Ключи

Ключи **никогда не хранятся в этом репозитории**. Скрипты читают их по порядку: переменные окружения → `~/.dsh/secrets/media-tools.env` → `~/.codex/secrets/media-tools.env` (устаревший запасной вариант). Маршрут модели зрения читает `GLM_API_KEY` из хранилища учётных данных DSH (≤ v0.1.1; в v0.1.6 маршруты вы настраиваете сами в **Настройки → Модели**).

Где получить (оба бесплатны): Zhipu — [open.bigmodel.cn](https://open.bigmodel.cn) → API Keys (glm-4v-flash). SiliconFlow — [siliconflow.cn](https://siliconflow.cn) → API Keys (Kolors).

```sh
# ~/.dsh/secrets/media-tools.env (chmod 600, одна пара KEY=value в строке)
GLM_API_KEY=...
SILICONFLOW_API_KEY=...
```

## 🖼️ Панель 创作 (desktop 0.2.1+)

<img src="../screenshots/panel-generate.png" alt="Панель 创作: слева ввод и выбор, справа карточка результата" width="100%">

Начиная с 0.2.1 плагин может регистрировать собственную страницу — в этом бандле это **创作** в боковой панели:

- **生成**: введите промпт (⌘⏎ тоже запускает), выберите модель, пропорции и размер от 1K до 4K. Модели идут по одной строке на модель, а не на провайдера; пропорций 10 (умная / 1:1 / 9:16 / 16:9 / 3:4 / 4:3 / 2:3 / 3:2 / 9:21 / 21:9). Размеры выше предела модели становятся серыми, а не игнорируются молча. Результат приходит карточкой с номером, моделью, размером, промптом и действиями.
- **作品**: все изображения этого рабочего пространства в контактном листе; клик открывает карточку, где можно повторно использовать настройки, скопировать промпт, открыть оригинал или удалить (файл тоже удаляется). Клик по изображению увеличивает его, `Esc` закрывает.
- **生图 Key**: ключ для каждого провайдера. Он записывается в `~/.dsh/secrets/media-tools.env` (права 600), **никуда не отправляется** и используется только для генерации. Сохранённые ключи показываются как `••••abcd`, глаз позволяет взглянуть на них.
- **Совсем нет ключа?** Выберите **Flux (免 Key)** — Pollinations не требует ни регистрации, ни ключа (одно изображение на IP раз в 45 секунд, до 768×768, маленький логотип).

В приложении: боковая панель **Plugins** → справа сверху **Add plugin** → введите имя пакета `dsh-media-skills` → **Install**. Затем один раз перезапустите приложение (плагины загружаются при старте). Можно и из терминала:

```sh
dsh plugin --profile desktop add dsh-media-skills
```

<img src="../screenshots/panel-works.png" alt="作品: слева контактный лист, справа карточка" width="100%">

## 🚀 Использование

Три способа читать изображения:

| Способ | Как | Когда |
|---|---|---|
| **A. Вставить напрямую (рекомендуется)** | В любой сессии нажмите 🖼️ / перетащите / вставьте картинку и отправьте | Повседневные вопросы про картинки — без сохранения файлов и смены модели |
| **B. Сессия с моделью зрения** | Новый диалог, выберите 智譜 GLM-4V-Flash（視覚）, вставляйте картинки и общайтесь | Многошаговые диалоги про изображения, нативный `read_image` |
| **C. Файлы + навык** | Положите картинку в рабочую папку и скажите «прочитай это изображение через vision-review» | Пакетная проверка, скриптованные сценарии |

Язык описания следует за языком вашего сообщения (китайское сообщение → китайское описание; английское → английское; без текста → китайский).

Просто скажите:

- «Посмотри на эту картинку / проверь этот скриншот на визуальные баги» → `vision-review`
- «Сгенерируй изображение …» → `media-tools`

## 🗺️ Структура

```
dsh-media-skills/
├── package.json           # манифест dsh.bundle
├── cordis.patch.yml       # слой плагина
├── index.js               # регистрирует два навыка через жизненный цикл провайдера DSH v0.1.6
├── skills/
│   ├── vision-review/     # чтение изображений
│   └── media-tools/       # генерация изображений
├── docs/
│   ├── SETUP_VISION.md    # руководство по зрению (китайский)
│   ├── SETUP_VISION_EN.md # detailed setup guide (English)
│   └── lang/              # README на других языках
├── scripts/make-banner.py # пересоздаёт docs/social-preview.png
└── docs/social-preview.png
```

## 🤝 Присоединяйтесь к экосистеме плагинов DSH

Предварительная версия DeepSeek Harness для разработчиков всё ещё находится на стадии тестирования для разработчиков Harness; основные плагины и базовые API продолжат развиваться. Мы ждём совместного исследования верхних пределов интеллекта с разработчиками по всему миру — на открытой, переиспользуемой и компонуемой инфраструктуре с открытым исходным кодом.

- [Тема dsh-plugin](https://github.com/topics/dsh-plugin)
- [Быстрый старт](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart)
- [Репозиторий DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)

> Добавьте этому репозиторию тему [`dsh-plugin`](https://github.com/topics/dsh-plugin), чтобы его было проще найти.

## 📄 Лицензия

[MIT](../../LICENSE)
