Аккаунт и сетевые сервисы

Аккаунт связывает полную desktop-программу с выбранными сервисами сайта. Capture, Selector, канонический проект и локальные вычисления доступны без входа; ниже перечислены только операции, которым действительно нужен backend или внешний provider.

Где проходит граница

КонтурАккаунтПередача данных
Локальная работа
Capture, Selector, project, classical CV, local Vosk/LLM
Не требуется для основного authoring workflowПроект и локальные источники остаются на компьютере; явно заданный URL-поток читается с указанного endpoint
Сервисы Screph
Профиль, баланс, поддержка, server speech, diagnostics upload
Требуется авторизацияSupport, speech и diagnostics передают данные выбранной операции; при сохранённом token профиль/баланс обновляются автоматически
Инфраструктура Screph
Проверка обновлений, кэш встроенной справки, runtime packs
Не требуетсяСтандартные request metadata; update check сообщает версию приложения, а refresh справки — свой User-Agent. Проект и кадры не отправляются
Сторонние провайдеры
Cloud LLM и speech с собственными credentials
Зависит от провайдераКонтекст или audio уходят выбранному провайдеру; открытие настроек Speech может также проверить каталог/подключение
Хосты моделей
Hugging Face, GitHub/Ultralytics, Alpha Cephei
Аккаунт Screph не требуетсяCV/Vosk model files скачиваются явно; открытие списка Vosk дополнительно получает каталог. Host видит стандартные request metadata, но не canonical project

Выбор облачного подключения не должен молча перенаправлять локальный сценарий к другому провайдеру. Если provider, сеть или credentials недоступны, операция должна завершиться видимой ошибкой.

Автоматические и download-запросы

  • Сессия аккаунта: account widget планирует первый refresh примерно через 100 ms после своей инициализации. Если access token сохранён, desktop затем выполняет authenticated GET /api/v1/profile/ каждые 30 секунд, пропуская concurrent request. После ошибок действуют паузы 60, 120 и 300 секунд; ответ 401 может запустить обновление OAuth token. Запрос передаёт token и обычные HTTP metadata, но не проект или desktop password.
  • Проверка обновлений: в установленной сборке с maintenance tool включена по умолчанию, планируется примерно через 4 секунды после старта и выполняется не чаще раза в 24 часа. Screph получает небольшой Updates.xml с https://screph.com; User-Agent имеет вид Screph/<version> update-check. Переключатель находится в основных настройках: Автоматически проверять обновления при старте.
  • Встроенная справка: сборка содержит offline snapshot шести основных страниц документации. Примерно через 1,2 секунды после запуска приложение может запросить с screph.com весь свежий набор и заменяет кэш только при успехе всех шести страниц. Текущая защита допускает следующую попытку через час после предыдущей; отдельного переключателя в настройках нет. Запросы используют ScrephDocs/1.0 и не содержат проект, кадры или данные аккаунта. Остальные руководства открываются на полном сайте.
  • ML runtime pack: кнопка preflight скачивает только publication.json. Отдельная кнопка Download получает архив и четыре sidecar-файла, после чего проверяются SHA, detached signature, trust chain и installer manifest. Это явное действие, не фоновая установка.
  • CV-модели: выбранные веса скачиваются отдельной кнопкой через Ultralytics либо из pinned Hugging Face revision. Стандартный HTTPS-запрос раскрывает model host IP/User-Agent устройства, но не отправляет туда проект, разметку или исходные кадры.
  • Vosk: первое открытие списка языка или модели запускает фоновый GET https://alphacephei.com/vosk/models/model-list.json; результат кэшируется в процессе на 5 минут, а при ошибке используется встроенный список. Скачивание выбранной speech/punctuation ZIP-модели начинается только отдельной кнопкой.
  • OpenAI/LiteLLM Speech: активация страницы настроек уже запускает проверку, даже без нажатия Проверить. Для OpenAI с доступным key это authenticated GET /v1/models. Для настроенного non-OpenAI LiteLLM path выполняется настоящий transcription request с сгенерированным probe.wav: 0,1 секунды тишины, mono 16 kHz. Записи микрофона и проект в probe не входят, но операция может появиться в provider logs/usage.
  • URL-поток: OpenCV/FFmpeg/GStreamer подключается непосредственно к указанному RTSP/HTTP/UDP endpoint. URL сохраняется в общих settings Capture; не помещайте долгоживущий secret прямо в URL и защищайте файл настроек.

Телеметрия desktop: production-конфигурация содержит флаг SCREPH_TELEMETRY, но в текущем runtime не найден consumer, Sentry initialization или telemetry exporter. Сам флаг не означает отправку данных; автоматический desktop telemetry upload здесь не заявляется.

Что даёт аккаунт сайта

  • Профиль сайта: имя пользователя, email, язык интерфейса и агрегированный остаток в минутах и единицах по 15 секунд. В текущей desktop-вкладке «Аккаунт» минутная статистика скрыта: там показаны identity, device-flow и connection status.
  • Поддержка: личный или гостевой диалог. Пока desktop-виджет видим, thread загружается сразу и затем примерно каждые 20 секунд с небольшим jitter; ошибки увеличивают интервал максимум до 5 минут, скрытие виджета останавливает timer. Fetch передаёт account token или guest key. Новый текст и изображение загружаются только при отправке сообщения.
  • Подключение desktop: browser confirmation выдаёт приложению короткоживущий scoped token, а не пароль от аккаунта и не глобальный API-token.
  • Ручная диагностика: авторизованная отправка ZIP bundle размером до 25 MB. Logging page даёт manifest preview; альтернативный startup prompt требует «Да», но manifest не показывает — для предварительной проверки выберите «Нет» и отправьте со страницы Logging.

Войти на сайте →

Как desktop подключается к аккаунту

  1. Приложение запрашивает device code для зарегистрированного клиента и разрешения profile.
  2. Screph открывает страницу подтверждения и показывает код вида XXXX-XXXX.
  3. Пользователь входит в браузере и явно подтверждает устройство. Код действует 10 минут.
  4. Desktop получает подписанный token со scope и сроком действия. Повторно использовать подтверждённый device code нельзя.

Не подтверждайте чужой код

Проверяйте код, client и scope на странице подтверждения. Ввод кода — это разрешение конкретному приложению читать перечисленные данные профиля.

Серверное распознавание речи Screph

Версионированный endpoint POST /api/v1/inference/speech/ принимает авторизованный WAV-файл в поле audio. Текущий server provider — Yandex SpeechKit. Контракт ответа имеет версию screph-speech-inference.v1.

  • Каждый запрос требует уникальный Idempotency-Key; безопасный повтор того же запроса не списывает баланс второй раз.
  • Расчёт идёт единицами по 15 секунд с округлением длительности вверх.
  • При недостаточном балансе provider не вызывается. Ошибка provider после списания запускает компенсацию; повтор возвращает сохранённый результат операции.
  • Если server provider не настроен, возвращается видимая ошибка и баланс не списывается.

Это отдельный сетевой путь. Локальный Vosk и подключения с собственными ключами описаны в руководстве по речи и LLM.

Локальный HTTP не равен интернет-передаче

Некоторые desktop-компоненты используют адрес 127.0.0.1, поэтому firewall или монитор сети может показать локальный listener. Monaco раздаёт собственные assets на случайном порту только во время жизни виджета. Codex bridge log принимает локальные POST-записи на другом случайном порту и сохраняет их в журнал Screph. Эти endpoints не загружают проект в Screph Cloud, но доверяют процессам того же компьютера и не являются sandbox.

Legacy OAuth callback также умеет слушать 127.0.0.1:8443 с fallback на 8765, но в текущей конфигурации он выключен: опубликованный device-flow открывает браузер и не требует локального callback listener.

Карта процессов и loopback endpoints →
Не опубликовано

Баланс — не обещание доступной покупки

В коде сайта есть package ledger, платёжный backend и проверка webhook, но пользовательская страница /payments/purchase/ сейчас перенаправляет на главную. Поэтому покупка пакетов не является опубликованным пользовательским workflow: на сайте нет актуального тарифа, цены или checkout, на которые следует рассчитывать. Текущая desktop-сборка также может вообще не показывать balance/purchase controls; если компонентная или старая сборка показывает ссылку покупки, её открытие не меняет статус отключённого web route. Появление предложения должно сопровождаться отдельной публикацией условий.

Перед отправкой данных

  • Речь: отправляется выбранная WAV-запись и параметры recognition; используйте локальный provider для чувствительного аудио.
  • Диагностика: ZIP включает выбранную crash-session и top-level runtime logs; проект/autosave автоматически не прикладывается, но его пути или имена могут встречаться в logs. Manifest не показывает содержимое файлов.
  • Поддержка: на сервер попадают text/attachment при отправке; видимый desktop chat отдельно опрашивает thread с account token или guest key.
  • Сайт: server-side журнал и IP lookup действуют при посещении публичных страниц; их точный состав описан в privacy policy.

Подробнее: политика конфиденциальности и диагностика и восстановление.