# § КАК ЮЗАТЬ УСТАНОВЩИК (RUVSON_УСТАНОВЩИК v1.0.0)

> Философия проста: **СЛУГА должен служить ЧЕЛОВЕКУ, а не человек системе.**
> Единый каталог насчитывает **2444 инструмента в 34 категориях** — но проблема была в том,
> что «не у всех в системе всё есть». Теперь есть СЛУГА, который сам подтягивает Python
> и инструменты из реп GitHub, кладёт их на комп юзверя и заставляет работать во благо.
> А человек... человек просто получает эстетическое удовольствие от жизни =)

---

## 1. Что лежит в папке

| Файл | Что это |
|------|---------|
| **УСТАНОВИТЬ_ВСЁ.bat** | Главная кнопка. Двойной клик → меню. Отсюда начинается всё. |
| **ДИАГНОСТИКА.bat** | Показывает, что на компе стоит, а чего нет. Отчёт в файл. |
| **ОБНОВИТЬ_ВСЁ.bat** | Обновляет всё поставленное: pip-пакеты + программы через winget. |
| **ПОДТЯНУТЬ_С_GITHUB.bat** | Тянет свежую версию самого установщика из ТВОЕЙ репы. |
| **ruvson-setup.ps1** | Мозг. PowerShell-скрипт, который всё делает. Не трогай — но заглянуть можно. |
| **профили/*.txt** | Списки «что ставить». Человек может сам дописывать — СЛУГА прочитает. |
| **ЕДИНЫЙ_КАТАЛОГ_2444_ИНСТРУМЕНТОВ.md** | Полный свод всех инструментов — справочник всегда под рукой. |
| **репо.txt** | Ссылка на репу обновлений. Уже вписано: rtynbirf/cell65-host. Можно править блокнотом. |
| **установщик_журнал.txt / диагностика_отчёт.txt** | Журналы — что, когда, удалось ли. |

---

## 2. Быстрый старт — 3 шага

1. Скопируй всю папку `RUVSON_УСТАНОВЩИК` на комп (хоть на Рабочий стол, хоть в `D:\Tools`).
2. Двойной клик по **УСТАНОВИТЬ_ВСЁ.bat**. Если Windows спросит разрешение (UAC) — смело жми «Да».
3. В меню выбери цифру:
   - **1** — только ядро (Python + FFmpeg + yt-dlp) — минимум для скачки музыки/видео;
   - **6** — ВСЁ СРАЗУ (все пять профилей) — если комп твой и ты не боишься добра =)

После установки **закрой и заново открой окно терминала** — новые пути (PATH) подхватываются
только свежими окнами. Проверь себя: `yt-dlp --version`, `ffmpeg -version`, `python --version`.

---

## 3. Меню: что ставит каждый профиль

| № | Профиль | Что внутри | Для чего человеку |
|---|---------|-----------|-------------------|
| 1 | **ЯДРО** | Python 3.12, FFmpeg, yt-dlp, requests/httpx/rich/tqdm | Фундамент. Скачивание видео/аудио с YouTube и 1000+ сайтов, конвертация |
| 2 | **ВИДЕО/АУДИО** | gallery-dl, streamlink, mutagen, eyed3, pydub, moviepy, faster-whisper, beets + ImageMagick, MediaInfo, MKVToolNix, HandBrake CLI, ExifTool | Для канала и музыки: теги, обработка, локальные транскрипты, монтаж |
| 3 | **AI/LLM** | openai, anthropic, google-genai, ollama, llm, aider-chat, huggingface_hub, transformers, accelerate, openai-whisper + Ollama | Нейросети в облаке и локально, AI-кодинг в терминале |
| 4 | **ТЕКСТ/ДОКУМЕНТЫ** | python-docx, openpyxl, reportlab, pypdf, pymupdf, pdfplumber, beautifulsoup4, lxml, markdown, pytesseract, argostranslate + Tesseract OCR, Pandoc | Документы, PDF, распознавание с картинок, офлайн-перевод |
| 5 | **ДАННЫЕ/СЕТЬ/УТИЛИТЫ** | pandas, numpy, matplotlib, aiohttp, apscheduler, apprise + 7-Zip, Git, **GitHub CLI** (для узла C65), rclone, aria2, Everything, PowerShell 7 | Анализ данных, облака, порядок на диске |

> Связка с **C65** (узел на Codespace): профиль 5 ставит GitHub CLI — он нужен
> Windows-клиенту `C65_ТУННЕЛЬ.bat` (папка `C65` рядом). Скрипт клиента и сам умеет
> поставить gh через winget, если его ещё нет.

---

## 4. Как СЛУГА ставит инструменты (порядок fallback'ов)

У каждого инструмента есть главный путь и запасные — СЛУГА не сдаётся:

**Python:**
1. Если уже стоит — используется (ничего не ломается).
2. Нет — ставится через `winget` (в профиль пользователя, БЕЗ прав администратора).
3. winget недоступен — качается официальный инсталлятор с `python.org` и ставится тихо
   (`PrependPath=1` — сам пропишет пути).

**FFmpeg:**
1. `winget` → 2. прямой zip со сборки Gyan (`gyan.dev`), распаковка в `%LOCALAPPDATA%\RUVSON\bin`.

**yt-dlp:**
1. `pip` (обновляется одной командой) → 2. готовый `yt-dlp.exe` **прямо из репы GitHub**
   (`github.com/yt-dlp/yt-dlp/releases/latest`) — вот оно, «из репы гитхаба подтянулось» во плоти.

**Остальное:** `winget:` — программы, `pip:` — Python-пакеты. Одна строка в профиле = один
инструмент. Отказ одного НЕ останавливает остальные: СЛУГА идёт дальше и в конце честно
докладывает: *поставлено / пропущено / не вышло* (списком).

Всё, что поставил СЛУГА, логируется в `установщик_журнал.txt` — можно всегда посмотреть,
что и когда происходило.

---

## 5. ДИАГНОСТИКА — «что у меня есть, а чего нет»

Двойной клик по **ДИАГНОСТИКА.bat**. Покажет:
- программы: python, winget, git, ffmpeg, ffprobe, yt-dlp, gallery-dl, streamlink — с версиями;
- все 40 pip-пакетов из профилей: `[OK]` / `[НЕТ]`;
- отчёт сохраняется в `диагностика_отчёт.txt`.

> Пустых строк не бойся: `[НЕТ]` сегодня = пункт в меню завтра =)

---

## 6. ОБНОВИТЬ ВСЁ

**ОБНОВИТЬ_ВСЁ.bat** делает ровно то, что написано:
- обновляет сам pip, setuptools, wheel;
- прогоняет `pip install --upgrade` по всем пакетам из всех профилей;
- `winget upgrade --all` — обновляет программы (может разок спросить UAC).

Рекомендуется раз в месяц — или когда yt-dlp вдруг «перестал понимать» YouTube (часто
лечится именно обновлением: YouTube меняется, yt-dlp догоняет).

---

## 7. СВОЯ РЕПА НА GITHUB — инструменты всегда с собой

Хочешь, чтобы установщик жил в твоей репе и его можно было подтянуть на ЛЮБОЙ комп?

1. Репа уже создана: **rtynbirf/cell65-host**, и в `репо.txt` уже вписана ссылка
   `https://raw.githubusercontent.com/rtynbirf/cell65-host/main/` (правится блокнотом).
2. Залей файлы в репу кнопкой **ЗАЛИТЬ_ВСЁ_В_GITHUB / ZALITY_V_GITHUB.bat** (лежит в архиве):
   она сама склонирует репу, разложит всё по корню и сделает push. Подробно — в
   `КАК_ЗАЛИТЬ_В_РЕПУ.md` (там же способ через браузер, мышкой).
3. Чтобы автоподтяжка работала, репа должна быть **публичной**: Settings → General →
   Danger Zone → Change visibility → Public (ничего личного в комплекте нет).
4. Теперь запусти **ПОДТЯНУТЬ_С_GITHUB.bat** — СЛУГА скачает свежие скрипты и профили из репы,
   а старые версии сложит в папку `backup` (никогда ничего не теряет).

Теперь на любом другом компе: скачать один `ruvson-setup.ps1` + любой `.bat` → запустить →
всё остальное подтянется само. Репа = надежда, которая не теряется, «потерявши не плачешь».

---

## 8. Если что-то не ставится

| Симптом | Лечение |
|---------|---------|
| «Выполнение сценариев отключено» | Не появляется — все .bat запускают PowerShell с `-ExecutionPolicy Bypass`. Если лезет руками: `powershell -ExecutionPolicy Bypass -File ruvson-setup.ps1` |
| «winget не является командой» | Установи «App Installer» из Microsoft Store (это и есть winget). Либо ничего: для ядра СЛУГА сам перейдёт на прямые загрузки |
| Установил, а в терминале «команда не найдена» | Закрой и откри новое окно терминала. PATH обновляется только в новых окнах |
| `pip` ругается на права | СЛУГА сам повторит с `--user`. Всё отработает молча |
| Отказ конкретного winget-ID | Имя могло поменяться: `winget search ffmpeg` покажет актуальный ID, поправь строку в профиле. Остальное при этом уже поставлено — отказ не отменяет сделанное |
| Tesseract (OCR) не находится pytesseract | Укажи путь: `pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'` |
| openai-whisper тяжёлый (тянет torch) | Это нормально (~2,5 ГБ). Не нужен — закомментируй строку `#` в `3-ai-llm.txt` и жми ОБНОВИТЬ/ставь без него. Легче — оставь только `faster-whisper` (профиль 2) |
| Сеть корпоративная/прокси | `$env:HTTPS_PROXY='http://прокси:порт'` перед запуском — pip и Invoke-WebRequest его уважают |

---

## 9. Антигаллюцинации — метод каталога, в действии

Всё, что здесь ставится, взято **только из реальных реестров**:
- каждое из 40 pip-имён проверено запросом к официальному **PyPI**;
- winget-ID — из официального репозитория winget-pkgs;
- имена, которые сам источник помечал как сомнительные, в комплект не попали.

Метод уже отработал: на первой проверке чекер поймал `argos-translate` (с дефисом — так
имени нет на PyPI), правильное имя — `argostranslate` (слитно). Исправлено ДО того, как
это увидел человек. СЛУГА не галлюцинирует — СЛУГА проверяет.

Добавляешь свой инструмент в профиль? Одной строкой (`pip:имя` или `winget:ID`) — и
проверь по реестру: `https://pypi.org/pypi/ИМЯ/json` или `winget search имя`. Пара секунд —
и каталог остаётся правдой.

---

## 10. И в путь!

```
УСТАНОВИТЬ_ВСЁ.bat  →  цифра 6  →  Enter  →  чай/кофе  →  готово
```

Система подтянулась, инструменты легли на комп и работают во благо человеку.
А человек получает эстетическое удовольствие от жизни =)
