Нативное высокопроизводительное десктопное приложение для flow.google.com под Windows
Google Flow Desktop — нативное десктопное приложение для генерации видео и графики в Google Flow. Интерфейс полностью построен на настоящих Windows-контролах (WinForms + GDI+), а единственная веб-поверхность — это сам холст flow.google.com внутри Microsoft Edge WebView2 (Chromium). Приложение решает ключевые проблемы веб-версии на ноутбуках: перегрев процессора при рендеринге на встроенной графике, утечки оперативной памяти, отсутствие обхода геоблокировок и неудобство сборки сложных кинематографичных промптов.
- Проблема веб-версии: При воспроизведении и прогрузке превью Google Flow стандартные браузеры используют встроенное видеоядро процессора (Intel UHD Graphics / AMD Radeon Graphics). Это приводит к 100% загрузке ЦП, шуму кулеров и троттлингу.
- Решение:
- Приложение автоматически прописывает политику высокой производительности в реестре Windows (
HKCU\Software\Microsoft\DirectX\UserGpuPreferences -> GpuPreference=2;). - Флаги движка Chromium:
--force_high_performance_gpu --gpu-preference=2 --use-angle=d3d11 --enable-features=VaapiVideoDecoder,D3D11VideoDecoder,PlatformHEVCDecoderSupport --enable-accelerated-video-decode. - Видеопотоки декодируются через выделенный блок аппаратного ускорения на дискретной видеокарте (dGPU: NVIDIA / AMD / Intel Arc), полностью освобождая центральный процессор.
- Приложение автоматически прописывает политику высокой производительности в реестре Windows (
- Не требуется установка Tampermonkey, расширений или VPN.
- Автоматическая инъекция скрипта на этапе создания DOM (
document-start):- Патч Google Closure Stream (RPC-методы
cPZSdc,KV2T2d,rThb8d,cO7JOb,md9xJf). - Перехват Next.js tRPC ответов (
availabilityState = 'AVAILABLE'). - Подавление принудительного логаута Google Labs и авто-перенаправление с экранов ошибки региона на рабочий холст.
- Патч Google Closure Stream (RPC-методы
- Поверх unlocker.js всегда добавляется нативный DOM-мост
window.__flowNativeBridgeдля надёжной вставки промпта в React/Quill-инпуты Flow.
- Постоянный хедер управления (Permanent Header): Кнопки
[◫ Сплит],[🎨 Только Flow]и[✨ Только Студия]зафиксированы в шапке окна и доступны всегда. Вы никогда не потеряете доступ к панели управления. - Левая навигационная рейка (Rail): Быстрое переключение между разделами
✨ Студияи🎮 Железо, а также кнопки🧹 RAMи🔄 OTA. - Нативная тёмная тема: своя палитра, скруглённые карточки, чипы-переключатели, анимированные тумблеры и тёмная строка заголовка Windows — всё отрисовано штатными средствами GDI+, без HTML/CSS.
- Единственная веб-поверхность — сам Google Flow внутри
WebView2; никакого встроенного локального веб-сервера и HTML-панели больше нет.
- Справочник тегов (Chips):
- Оптика и ракурсы: 35mm street photography, 85mm portrait lens, wide-angle dramatic perspective, cinematic low-angle hero shot, macro close-up, drone aerial view.
- Освещение: golden hour natural backlight, dramatic chiaroscuro, cyberpunk neon rim lighting, soft diffused studio softbox, overcast moody daylight.
- Художественные стили: photorealistic cinematic still, oil on textured canvas, vector flat illustration, 3D Pixar-style digital render, retro 80s anime OVA, isometric pixel art.
- Динамика видео: smooth steady-cam tracking, slow cinematic pan left to right, dolly zoom vertigo effect, fast-paced handheld camera chase, timelapse sky transition.
- 1-Клик Пресеты: Киберпанк & Неонуар, Фотореализм & Портрет, Эпическое & Тёмное фэнтези, 3D Мультфильм (Pixar), Аниме Ghibli, Ретро 80-е OVA, Коммерческая съёмка.
- Соотношение сторон: 1:1, 16:9, 9:16, 4:3, 3:4.
- 🪄 Улучшить с ИИ: локальное обогащение промпта деталями (кино-свет, оптика, текстуры, разрешение).
- Защитные фильтры:
- Строгий русский язык для всех текстовых элементов и диалогов.
- Портретное сходство (100% likeness).
- Фильтр «Zero Clutter» (запрет лишних людей и посторонних предметов).
- Prompt Wrapper (техническая рамка Masterpiece 8K).
- Универсальный блок негативных промптов (Negative Prompt Sanitizer).
- 1-Клик вставка во Flow: Кнопка «🚀 Вставить в Google Flow Canvas» автоматически инжектирует готовый собранный промпт в поле ввода холста Flow через нативный DOM-мост, переводит фокус и копирует текст в буфер обмена Windows для удобства
Ctrl+V. - 📸 Снимок холста (Snapshot): сохранение текущего кадра Google Flow в PNG в один клик в папку
Изображения\Google Flow Desktop.
- Приложение автоматически проверяет наличие новых версий на GitHub при запуске.
- Встроенное нативное диалоговое окно обновления с полным списком изменений (Release Notes).
- Автоматическая загрузка нового исполняемого файла и самообновление в 1 клик через
updater.batбез необходимости ручного скачивания. - Загруженный файл проверяется по сигнатуре PE (
MZ), поэтому приложение не будет заменено HTML-страницей ошибки.
- Динамическое определение характеристик конкретной системы:
- Дискретный GPU и VRAM (динамическое определение любой NVIDIA GeForce / AMD Radeon / Intel Arc; корректный объём памяти > 4 ГБ через
HardwareInformation.qwMemorySize). - Модель CPU, физические ядра и логические потоки (например,
11th Gen Intel Core i5-11400H, 6C/12T). - Интегрированное видеоядро и его разгрузка.
- Общий и свободный объем системной памяти (RAM).
- Реальный объем памяти процесса в мегабайтах с обновлением каждые 2.5 секунды (в лёгком нативном таймере).
- Дискретный GPU и VRAM (динамическое определение любой NVIDIA GeForce / AMD Radeon / Intel Arc; корректный объём памяти > 4 ГБ через
- 🧹 Очистка RAM выполняется только вручную (кнопка на рейке или в разделе «Железо») — без агрессивной фоновой сборки мусора.
- Запоминание размера, позиции окна, положения сплиттера и режима просмотра между запусками.
- Запрет повторного запуска приложения (single instance).
- Нативные уведомления Windows (balloon) без запуска PowerShell.
- Горячие клавиши:
F5— перезагрузить Flow,Ctrl+Enter— вставить промпт,Ctrl+Shift+S— снимок,Ctrl+1/2/3— режимы Сплит / Только Flow / Только Студия.
Просто запустите файл:
GoogleFlowDesktop.exeЗапустите батник:
run.batЕсли вы внесли изменения в исходный код C#, запустите:
build.batСкрипт использует стандартный компилятор csc.exe из поставки Windows (.NET Framework 4.8) и мгновенно пересобирает бинарник без необходимости установки тяжелых IDE.
┌────────────────────────────────────────────────────────────────────────┐
│ GoogleFlowDesktop.exe (Native C# WinForms) │
├────────────────────────────────────────────────────────────────────────┤
│ [Header: Split | Only Flow | Only Studio | Snapshot | Folder | OTA] │
├───────────┬──────────────────────────────────┬─────────────────────────┤
│ Rail │ Panel 1: Prompt Studio │ Panel 2: Google Flow │
│ ✨ Студия │ - Native WinForms controls │ - Microsoft Edge │
│ 🎮 Железо │ - Chips, Presets, Filters │ WebView2 (Chromium) │
│ 🧹 RAM │ - Compiled Prompt Preview │ - Target: flow.google │
│ 🔄 OTA │ - 1-Click Prompt Injector │ - Injected: unlocker │
│ │ - AI Prompt Optimizer │ + native DOM bridge │
│ │ -> NativeTelemetry (page 2) │ - Direct3D 11 / dGPU │
├───────────┴──────────────────────────────────┴─────────────────────────┤
│ Native C# Backend Services │
│ ├── Theme.cs / ControlsExtra.cs -> Fluent dark theme + custom controls│
│ ├── GpuConfig.cs -> DirectX 11 Registry & WMI Telemetry │
│ ├── UpdateManager.cs -> GitHub Live Version Checker & OTA Updater │
│ ├── Notifier.cs -> Native Windows Balloon Notifications │
│ └── ClipboardUtil.cs -> STA-safe clipboard access │
└────────────────────────────────────────────────────────────────────────┘
GoogleFlowDesktop/
├── GoogleFlowDesktop.exe # Скомпилированный нативный бинарник (Windows x64)
├── run.bat # Скрипт быстрого запуска
├── build.bat # Скрипт перекомпиляции C# исходников (1 клик)
├── version.json # Манифест актуальной версии для OTA-обновлений
├── unlocker.js # Скрипт Google Labs Country Unlocker v4.1
├── LICENSE # Лицензия MIT
├── README.md # Документация проекта
├── Microsoft.Web.WebView2.Core.dll # Ядро движка WebView2
├── Microsoft.Web.WebView2.WinForms.dll # WinForms-контрол WebView2
├── WebView2Loader.dll # Нативный загрузчик WebView2
└── src/ # Исходный код C# (.NET)
├── Program.cs # Точка входа WinForms, single instance, защита от сбоев
├── MainForm.cs # Главное окно: Header, Rail, SplitContainer, WebView2, снимки
├── Theme.cs # Палитра Fluent Dark, CardLayout, FlatButton, тёмный titlebar
├── ControlsExtra.cs # Собственные контролы: InputHost, ToggleSwitch, WrapPanel, Ui
├── NativeStudio.cs # Prompt Studio на нативных WinForms-контролах
├── NativeTelemetry.cs # Страница «Железо» на нативных контролах
├── PromptKit.cs # Данные тегов/пресетов и конвейер сборки промпта
├── GpuConfig.cs # WMI детекция железа, реестр DirectX, триммер ОЗУ
├── UnlockerScript.cs # Провайдер unlocker.js + нативный DOM-мост вставки
├── UpdateManager.cs # Фоновый чекер релизов GitHub и OTA апдейтер
├── UpdateDialog.cs # Нативное диалоговое окно обновления
├── Notifier.cs # Нативные Windows balloon-уведомления
├── ClipboardUtil.cs # STA-безопасная работа с буфером обмена
└── AppIcon.cs # Генерация иконки приложения в рантайме
- ОС: Windows 10 (1809+) или Windows 11 (x64)
- Видеокарта: Дискретная видеокарта (dGPU) NVIDIA / AMD / Intel с поддержкой DirectX 11 / Direct3D
- Процессор: Intel Core i3 / AMD Ryzen 3 или лучше
- Оперативная память: от 4 ГБ RAM (приложение потребляет всего ~50 МБ)
- Среда выполнения: Microsoft Edge WebView2 Runtime (встроена в Windows 10/11 по умолчанию)
- 🪟 Полностью нативный интерфейс: Prompt Studio переписан настоящими Windows-контролами (WinForms); удалены встроенная HTML/CSS/JS-панель (
ui/) и локальный веб-сервер (LocalServer.cs), а также фиктивные движкиTaskEngine.cs/WorkerDispatcher.cs. - 🎨 Обновлённый дизайн: тёмная Fluent-тема, нативная тёмная строка заголовка, скруглённые карточки, чипы и анимированные тумблеры.
- 🖼️ Навигация: левая рейка «Студия / Железо», сплит-режим и кнопки «Только Flow» / «Только Студия».
- 📸 Снимок холста Flow в PNG (
Ctrl+Shift+S) с сохранением вИзображения\Google Flow Desktop. - 🎯 Исправлено определение VRAM (dGPU > 4 ГБ), падение при запуске из-за
SplitContainer, вставку промпта в React-инпуты Flow. - 🧹 Убрана агрессивная сборка мусора каждые 2.5 с; очистка памяти — только вручную.
- 🔔 Нативные уведомления, OTA с проверкой PE-сигнатуры, сохранение состояния окна, запрет повторного запуска.
Проект распространяется под открытой лицензией MIT.
Автор: RichkovGit