Зависимости и обновленияDependencies and updates

Screph устанавливается как одна программа, но разным задачам нужны разные runtime-компоненты. Вкладка Зависимости показывает их фактическое состояние, источник и занимаемое место — без скрытой установки и без незаметного fallback.Screph is installed as one product, but different tasks require different runtime components. The Dependencies tab shows their actual state, source and disk use—with no hidden installation or silent fallback.

1. Вкладка Зависимости1. The Dependencies tab

Откройте главное окно настроек и выберите Зависимости. Сводка показывает, сколько компонентов готовы, отсутствуют, повреждены или отключены. В таблице видны выбранный и найденный глобальный пути, ожидаемый размер и возможная экономия диска.Open the main settings window and select Dependencies. The summary shows how many components are ready, missing, broken or disabled. The table displays the selected and detected global paths, estimated size and possible disk savings.

  • Проверить зановоProbe againповторно проверить executable, imports, paths и managed assets.re-check executables, imports, paths and managed assets.
  • Установить/починить локальноInstall/repair locallyподготовить выбранные компоненты внутри управляемого каталога ScrephData и выполнить post-install smoke.prepare selected components in the managed ScrephData directory and run a post-install smoke check.
  • Удалить локальноRemove locallyудалить только runtime-owned пути после проверки общих install groups.remove only runtime-owned paths after checking shared install groups.
  • Использовать найденные глобальноUse detected globalпереключить только те компоненты, чей global probe успешен.switch only components whose global probe succeeded.

2. Какие компоненты проверяются2. Components being checked

IDДля чегоPurposeНужен когдаNeeded when
python.automationManaged Python 3.12запускаются сгенерированные Python-сценарии.generated Python workflows are executed.
script.runtimeAutomation script environmentAutomation script environmentиспользуется Automation Runtime.Automation Runtime is used.
cv.runtimeOpenCV/CVнужны классические CV-операции и screen matching.classic CV operations and screen matching are needed.
ocr.runtimeTesseract OCRчитается или ищется текст.text is read or detected.
video.runtimeFFmpegтребуются поддерживаемые video operations и точные вырезки.supported video operations and frame-accurate cuts are needed.
voice.localVosk/PyAudioвыбрано локальное распознавание речи.local speech recognition is selected.
ml.runtimePyTorch/vision/transformersиспользуются YOLO, SAM, OmniParser и другие model-backed методы.YOLO, SAM, OmniParser or other model-backed methods are used.
codegen.runtimeCodegen/OpenHandsиспользуется Screph Code.Screph Code is used.

Вес модели и сам runtime — разные вещи. Успешный probe ml.runtime не гарантирует, что конкретные веса YOLO/SAM/OmniParser уже скачаны и совместимы с выбранным методом. Каталоги, active selection и SHA-статус описаны в справке «CV-модели и локальные веса».Model weights and the runtime itself are separate. A successful ml.runtime probe does not guarantee that particular YOLO/SAM/OmniParser weights are already downloaded and compatible with the selected method. Storage, active selection and SHA status are covered in CV models and local weights.

3. Откуда брать runtime3. Runtime sources

  • localуправляемая установка внутри ScrephData; стандартный и наиболее воспроизводимый вариант.a managed installation under ScrephData; the default and most reproducible option.
  • globalуже найденная системная установка, если её probe прошёл.an existing system installation after a successful probe.
  • customявно выбранный путь в advanced mode.an explicit path selected in advanced mode.
  • install_globaladvanced policy option, но пока не рабочая команда системной установки. Текущий installer строит install targets только для local, а этот source probes уже существующий global runtime так же, как global. Не выбирайте его в ожидании установки в PATH или системный каталог.an advanced policy option, but not yet a working system-install command. The current installer builds install targets only for local; this source probes an existing global runtime just like global. Do not select it expecting installation into PATH or a system directory.
  • skipне устанавливать и не использовать компонент; связанная функция останется недоступной.do not install or use the component; its related capability remains unavailable.

Если выбранный источник отсутствует или повреждён, Screph показывает ошибку компонента. Он не заимствует незаметно другой Python, Tesseract или provider из PATH. Кнопка Установить/починить локально пропускает все non-local sources; для install_global она сообщает, что выбранных локальных зависимостей нет.If the selected source is missing or broken, Screph reports a component error. It does not silently borrow another Python, Tesseract or provider from PATH. Install/repair locally skips all non-local sources; with install_global it reports that no local dependencies are selected.

4. ML runtime и подписанный pack4. ML runtime and signed pack

ml.runtime — самый тяжёлый блок. В него входят отдельные packages: PyTorch, TorchVision, Ultralytics, timm, Transformers и Hugging Face Hub. Можно отключить весь блок или ненужные root packages; установщик проверяет замыкание зависимостей выбранного subset.ml.runtime is the largest block. It includes separate packages: PyTorch, TorchVision, Ultralytics, timm, Transformers and Hugging Face Hub. You can disable the block or unneeded root packages; the installer verifies dependency closure for the selected subset.

Для сетевой установки используется publication manifest и подписанный архив. До распаковки проверяются component/channel, URL и sidecars, SHA256, detached CMS/PKCS#7 signature, trust chain или закреплённый signer thumbprint, lock и SBOM. Offline pack можно выбрать с диска; он проходит ту же проверку payload.Network installation uses a publication manifest and a signed archive. Before extraction, Screph validates component/channel, URLs and sidecars, SHA256, the detached CMS/PKCS#7 signature, trusted chain or pinned signer thumbprint, lock and SBOM. An offline pack can be selected from disk and passes the same payload validation.

Два ML-слоя в мастере. QtIFW component com.screph.boteye.runtime.ml — optional application payload и по умолчанию не выбран. Dependency page читает этот initial choice и включает отдельный managed ml.runtime workflow в ScrephData: при default policy он предлагает проверенную сетевую загрузку около 334 MB и предупреждает об объёме до 6,5 GB либо принимает локальный pack. Оба слоя вместе обеспечивают выбранный ML-workflow; Classic CV остаётся доступен без них.Two ML layers in the wizard. The QtIFW com.screph.boteye.runtime.ml component is an optional application payload and is not selected by default. The dependency page reads that initial choice and enables a separate managed ml.runtime workflow under ScrephData: its default policy offers a verified network download of about 334 MB and warns about up to 6.5 GB installed, or accepts a local pack. The two layers work together for the selected ML workflow; Classic CV remains available without them.

Проверка публикации загружает только небольшой manifest. Большой archive скачивается отдельной командой; отменённая или не прошедшая проверку загрузка не становится активным runtime pack.Publication preflight downloads only the small manifest. The large archive is downloaded by a separate action; a cancelled or failed download does not become the active runtime pack.

5. Обновление программы5. Updating the product

Обновления приложения и установка runtime-зависимостей — связанные, но разные процессы. Screph проверяет Qt Installer Framework repository и может предложить обновления отдельных продуктовых компонентов, включая основной интерфейс и Pro Agent. Установку выполняет maintenance tool существующей установки.Application updates and runtime-dependency installation are related but separate processes. Screph checks its Qt Installer Framework repository and can offer updates for individual product components, including the main UI and Pro Agent. The existing installation's maintenance tool performs the update.

Что происходит автоматически. В установленной сборке с доступным maintenance tool переключатель Автоматически проверять обновления при старте включён по умолчанию. Первая проверка планируется примерно через 4 секунды после запуска, затем ограничивается интервалом 24 часа. Загружается только Updates.xml (до 5 MB) с configured repository; User-Agent содержит Screph/<version> update-check. Проект, кадры и настройки не отправляются. Переключатель можно отключить в основных настройках.What runs automatically. In an installed build with an available maintenance tool, Automatically check for updates on startup is enabled by default. The first check is scheduled about four seconds after launch and then limited to a 24-hour interval. Only Updates.xml (up to 5 MB) is fetched from the configured repository; its User-Agent contains Screph/<version> update-check. Projects, frames and settings are not sent. Disable the toggle in General settings.

Ошибка тоже включает интервал. Текущий startup controller записывает last_auto_check_at до разбора результата: успешная проверка, сетевая ошибка и некорректный XML одинаково откладывают следующую автоматическую попытку на configured interval (по умолчанию 24 часа). Выключение и повторное включение флажка этот timestamp не сбрасывает. Кнопка Открыть менеджер обновлений запускает controlled shutdown и отдельный maintenance tool; это не повтор lightweight-проверки внутри работающего Screph.A failure also starts the interval. The current startup controller records last_auto_check_at before interpreting the result: a successful check, network failure and malformed XML all defer the next automatic attempt for the configured interval (24 hours by default). Toggling the checkbox off and on does not reset this timestamp. Open update manager starts controlled shutdown and the separate maintenance tool; it does not repeat the lightweight check inside the running Screph process.

Текущий Alpha channel требует проверки. Source metadata указывает channel=dev, но configured repository URL и website publisher используют путь stable, тогда как свежий локальный repository собран в .build/updates/windows/dev. Это несоответствие не меняет установленную программу само по себе, но означает, что наличие совместимого автоматического обновления для текущего artifact нельзя считать подтверждённым до выравнивания channel/URL и прохождения release publication checklist. Поля версии, channel и repository во вкладке настроек остаются read-only диагностикой.The current Alpha channel needs verification. Source metadata says channel=dev, while the configured repository URL and website publisher use the stable path; the fresh local repository was built under .build/updates/windows/dev. This mismatch does not alter the installed product by itself, but a compatible automatic update for the current artifact cannot be treated as verified until channel/URL are aligned and the release publication checklist passes. Version, channel and repository fields in Settings remain read-only diagnostics.

  1. Сохраните текущий проект и незавершённые изменения в Screph Code.Save the current project and unfinished changes in Screph Code.
  2. Остановите запись и проверьте, что настройки успешно сохранены.Stop recording and verify that settings were saved.
  3. Подтвердите обновление. Screph попытается безопасно закрыть Selector и отдельный процесс Pro Agent.Confirm the update. Screph attempts to safely close Selector and the separate Pro Agent process.
  4. Завершите обновление в maintenance tool, затем снова проверьте зависимости.Complete the update in the maintenance tool, then probe dependencies again.

После успешной подготовки Screph планирует отдельный maintenance tool примерно через две секунды и завершает основной процесс. Сам запуск выполняется без явного runas со стороны Screph; Windows/installer может запросить elevation в зависимости от каталога и операции. Если активное окно, запись или несохранённое состояние нельзя безопасно закрыть, обновление останавливается с понятным сообщением.After successful preparation, Screph schedules the separate maintenance tool about two seconds later and exits the main process. Screph does not add an explicit runas to this launch; Windows or the installer may request elevation depending on the directory and operation. If an active window, recording or unsaved state cannot be closed safely, the update stops with a clear message.

Полная граница Windows/UAC для обновления →Complete Windows/UAC update boundary →

6. Обновление встроенной справки6. Refreshing embedded help

Это отдельный механизм, не связанный с QtIFW и переключателем обновления программы. Установленная сборка уже содержит локальный bundled snapshot шести основных HTML-страниц, поэтому эта часть справки доступна без сети. Если модуль gui.docs доступен, примерно через 1,2 секунды после запуска Screph может запросить свежий набор с screph.com/documentation/. Локальный кэш заменяется только после успешного получения всех шести страниц; при ошибке остаётся предыдущий валидный набор. Запросы используют User-Agent ScrephDocs/1.0 и не содержат проект, кадры, настройки или данные аккаунта.This is separate from QtIFW and the product-update toggle. An installed build already includes a bundled snapshot of six core HTML pages, so that part of the help remains available offline. When gui.docs is available, about 1.2 seconds after startup Screph may request a fresh set from screph.com/documentation/. The local cache is replaced only after all six pages succeed; on failure, the previous valid set remains. Requests use the ScrephDocs/1.0 User-Agent and contain no project, frames, settings or account data.

В текущей реализации отдельного переключателя нет, а guard разрешает новую попытку через час после предыдущей. Поэтому это не следует считать частью 24-часового лимита проверки приложения. Remote-набор применяется только когда каждая страница объявляет cache version не старше локальной; немаркированный или более старый deployment не понижает bundled snapshot. Ссылки из встроенной справки на руководства вне локального набора открывают полный сайт и требуют сетевого доступа.The current implementation has no separate toggle and its guard allows another attempt one hour after the previous one. It is therefore not covered by the app update check's 24-hour limit. A remote set is applied only when every page declares a cache version at least as new as the local one; an unmarked or older deployment cannot downgrade the bundled snapshot. Links from embedded help to guides outside the local set open the complete website and require network access.

7. Как читать проблемы7. Reading failures

  • Missing:Missing: выбранный источник не содержит нужного executable/import/asset.the selected source lacks a required executable, import or asset.
  • Broken:Broken: путь существует, но probe или smoke завершился ошибкой; используйте repair или выберите другой явный источник.the path exists but probe or smoke failed; use repair or select another explicit source.
  • Skipped:Skipped: компонент отключён политикой пользователя, это не ошибка установки.the component was disabled by user policy; this is not an installation error.
  • Pack downloaded, not selected:Pack downloaded, not selected: архив есть в managed cache, но ещё не выбран как active offline pack.the archive is in managed cache but is not yet selected as the active offline pack.