Аккаунт и сетевые сервисыAccount and online services
Аккаунт связывает полную desktop-программу с выбранными сервисами сайта. Capture, Selector, канонический проект и локальные вычисления доступны без входа; ниже перечислены только операции, которым действительно нужен backend или внешний provider.An account connects the complete desktop product to selected website services. Capture, Selector, the canonical project and local processing remain available without signing in; the sections below identify only operations that actually need a backend or external provider.
Где проходит границаWhere the boundary is
| КонтурPath | АккаунтAccount | Передача данныхData transfer |
|---|---|---|
| Локальная работаLocal work Capture, Selector, project, classical CV, local Vosk/LLM | Не требуется для основного authoring workflowNot required for the core authoring workflow | Проект и локальные источники остаются на компьютере; явно заданный URL-поток читается с указанного endpointProjects and local sources stay on the computer; an explicitly configured stream URL is read from that endpoint |
| Сервисы ScrephScreph services Профиль, баланс, поддержка, server speech, diagnostics uploadProfile, balance, support, server speech and diagnostics upload | Требуется авторизацияAuthentication required | Support, speech и diagnostics передают данные выбранной операции; при сохранённом token профиль/баланс обновляются автоматическиSupport, speech and diagnostics transfer data for the selected operation; with a stored token, profile/balance refresh automatically |
| Инфраструктура ScrephScreph infrastructure Проверка обновлений, кэш встроенной справки, runtime packsUpdate checks, embedded-help cache and runtime packs | Не требуетсяNot required | Стандартные request metadata; update check сообщает версию приложения, а refresh справки — свой User-Agent. Проект и кадры не отправляютсяStandard request metadata; the update check reports the app version and help refresh uses its own User-Agent. Projects and frames are not sent |
| Сторонние провайдерыThird-party providers Cloud LLM и speech с собственными credentialsCloud LLM and speech using their own credentials | Зависит от провайдераDepends on the provider | Контекст или audio уходят выбранному провайдеру; открытие настроек Speech может также проверить каталог/подключениеContext or audio is sent to the selected provider; opening Speech settings may also check its catalogue/connection |
| Хосты моделейModel hosts Hugging Face, GitHub/Ultralytics, Alpha Cephei | Аккаунт Screph не требуетсяNo Screph account required | CV/Vosk model files скачиваются явно; открытие списка Vosk дополнительно получает каталог. Host видит стандартные request metadata, но не canonical projectCV/Vosk model files are downloaded explicitly; opening the Vosk list also fetches its catalogue. The host sees standard request metadata, not the canonical project |
Выбор облачного подключения не должен молча перенаправлять локальный сценарий к другому провайдеру. Если provider, сеть или credentials недоступны, операция должна завершиться видимой ошибкой.Selecting a cloud connection must not silently reroute a local workflow to another provider. If the provider, network or credentials are unavailable, the operation should fail visibly.
Автоматические и download-запросыAutomatic and download requests
- Сессия аккаунта: 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.Account session: the Account widget schedules its first refresh about 100 ms after its own initialization. When an access token is stored, the desktop then performs an authenticatedGET /api/v1/profile/every 30 seconds and skips concurrent requests. Failures introduce 60, 120 and 300-second backoffs; a 401 may start OAuth token refresh. The request sends the token and ordinary HTTP metadata, not the project or desktop password. - Проверка обновлений: в установленной сборке с maintenance tool включена по умолчанию, планируется примерно через 4 секунды после старта и выполняется не чаще раза в 24 часа. Screph получает небольшой
Updates.xmlсhttps://screph.com; User-Agent имеет видScreph/<version> update-check. Переключатель находится в основных настройках:Автоматически проверять обновления при старте.Update check: enabled by default in an installed build with the maintenance tool, scheduled about four seconds after startup and limited to once every 24 hours. Screph fetches a smallUpdates.xmlfromhttps://screph.com; the User-Agent isScreph/<version> update-check. Disable it in General settings withAutomatically check for updates on startup. - Встроенная справка: сборка содержит offline snapshot шести основных страниц документации. Примерно через 1,2 секунды после запуска приложение может запросить с
screph.comвесь свежий набор и заменяет кэш только при успехе всех шести страниц. Текущая защита допускает следующую попытку через час после предыдущей; отдельного переключателя в настройках нет. Запросы используютScrephDocs/1.0и не содержат проект, кадры или данные аккаунта. Остальные руководства открываются на полном сайте.Embedded help: the build contains an offline snapshot of six core documentation pages. About 1.2 seconds after launch, the app may request the complete fresh set fromscreph.comand replaces the cache only when all six pages succeed. The current guard permits another attempt one hour after the previous one; there is no separate settings toggle. Requests useScrephDocs/1.0and contain no project, frames or account data. Other guides open on the complete website. - ML runtime pack: кнопка preflight скачивает только
publication.json. Отдельная кнопка Download получает архив и четыре sidecar-файла, после чего проверяются SHA, detached signature, trust chain и installer manifest. Это явное действие, не фоновая установка.ML runtime pack: the preflight button downloads onlypublication.json. A separate Download action obtains the archive and four sidecars, then verifies SHA, detached signature, trust chain and installer manifest. This is an explicit action, not a background installation. - CV-модели: выбранные веса скачиваются отдельной кнопкой через Ultralytics либо из pinned Hugging Face revision. Стандартный HTTPS-запрос раскрывает model host IP/User-Agent устройства, но не отправляет туда проект, разметку или исходные кадры.CV models: selected weights are downloaded through a separate action via Ultralytics or from a pinned Hugging Face revision. The standard HTTPS request exposes the device IP/User-Agent to the model host, but does not send the project, markup or source frames.
- Vosk: первое открытие списка языка или модели запускает фоновый GET
https://alphacephei.com/vosk/models/model-list.json; результат кэшируется в процессе на 5 минут, а при ошибке используется встроенный список. Скачивание выбранной speech/punctuation ZIP-модели начинается только отдельной кнопкой.Vosk: first opening the language or model list starts a background GET tohttps://alphacephei.com/vosk/models/model-list.json; the result is cached in-process for five minutes and an embedded list is used on failure. Downloading a selected speech or punctuation model ZIP requires a separate action. - OpenAI/LiteLLM Speech: активация страницы настроек уже запускает проверку, даже без нажатия
Проверить. Для OpenAI с доступным key это authenticatedGET /v1/models. Для настроенного non-OpenAI LiteLLM path выполняется настоящий transcription request с сгенерированнымprobe.wav: 0,1 секунды тишины, mono 16 kHz. Записи микрофона и проект в probe не входят, но операция может появиться в provider logs/usage.OpenAI/LiteLLM Speech: activating the settings page starts a check even without pressingCheck. For OpenAI with an available key, this is an authenticatedGET /v1/models. For a configured non-OpenAI LiteLLM path, Screph performs a real transcription request with a generatedprobe.wav: 0.1 seconds of 16 kHz mono silence. No microphone recording or project enters the probe, but the operation may appear in provider logs or usage. - URL-поток: OpenCV/FFmpeg/GStreamer подключается непосредственно к указанному RTSP/HTTP/UDP endpoint. URL сохраняется в общих settings Capture; не помещайте долгоживущий secret прямо в URL и защищайте файл настроек.Stream URL: OpenCV/FFmpeg/GStreamer connects directly to the configured RTSP/HTTP/UDP endpoint. The URL is stored in shared Capture settings; avoid embedding a long-lived secret in it and protect the settings file.
Телеметрия desktop: production-конфигурация содержит флаг SCREPH_TELEMETRY, но в текущем runtime не найден consumer, Sentry initialization или telemetry exporter. Сам флаг не означает отправку данных; автоматический desktop telemetry upload здесь не заявляется.Desktop telemetry: the production configuration contains a SCREPH_TELEMETRY flag, but the current runtime has no identified consumer, Sentry initialization or telemetry exporter. The flag alone does not send data; no automatic desktop telemetry upload is claimed here.
Что даёт аккаунт сайтаWhat a website account provides
- Профиль сайта: имя пользователя, email, язык интерфейса и агрегированный остаток в минутах и единицах по 15 секунд. В текущей desktop-вкладке «Аккаунт» минутная статистика скрыта: там показаны identity, device-flow и connection status.Website profile: username, email, UI language and aggregate balance in minutes and 15-second units. Minute usage is hidden in the current desktop Account page, which shows identity, device-flow and connection status instead.
- Поддержка: личный или гостевой диалог. Пока desktop-виджет видим, thread загружается сразу и затем примерно каждые 20 секунд с небольшим jitter; ошибки увеличивают интервал максимум до 5 минут, скрытие виджета останавливает timer. Fetch передаёт account token или guest key. Новый текст и изображение загружаются только при отправке сообщения.Support: a profile or guest conversation. While the desktop widget is visible, it fetches the thread immediately and then about every 20 seconds with small jitter; errors back off to at most five minutes and hiding the widget stops the timer. Fetch sends the account token or guest key. New text and images are uploaded only when a message is submitted.
- Подключение desktop: browser confirmation выдаёт приложению короткоживущий scoped token, а не пароль от аккаунта и не глобальный API-token.Desktop connection: browser confirmation gives the app a short-lived scoped token, not the account password or a global API token.
- Ручная диагностика: авторизованная отправка ZIP bundle размером до 25 MB. Logging page даёт manifest preview; альтернативный startup prompt требует «Да», но manifest не показывает — для предварительной проверки выберите «Нет» и отправьте со страницы Logging.Manual diagnostics: authenticated submission of a ZIP bundle up to 25 MB. The Logging page provides a manifest preview; the alternative startup prompt requires Yes but does not show that manifest—choose No and submit from Logging when inspection is required first.
Как desktop подключается к аккаунтуHow the desktop app connects to an account
- Приложение запрашивает device code для зарегистрированного клиента и разрешения
profile.The app requests a device code for a registered client and theprofilescope. - Screph открывает страницу подтверждения и показывает код вида
XXXX-XXXX.Screph opens the confirmation page and shows a code such asXXXX-XXXX. - Пользователь входит в браузере и явно подтверждает устройство. Код действует 10 минут.The user signs in in the browser and explicitly approves the device. The code is valid for 10 minutes.
- Desktop получает подписанный token со scope и сроком действия. Повторно использовать подтверждённый device code нельзя.The desktop app receives a signed, scoped, expiring token. An approved device code cannot be reused.
Не подтверждайте чужой кодDo not approve someone else's code
Проверяйте код, client и scope на странице подтверждения. Ввод кода — это разрешение конкретному приложению читать перечисленные данные профиля.Check the code, client and scope on the confirmation page. Entering the code authorizes that specific app to read the listed profile data.
Серверное распознавание речи ScrephScreph server speech recognition
Версионированный endpoint POST /api/v1/inference/speech/ принимает авторизованный WAV-файл в поле audio. Текущий server provider — Yandex SpeechKit. Контракт ответа имеет версию screph-speech-inference.v1.The versioned POST /api/v1/inference/speech/ endpoint accepts an authenticated WAV file in the audio field. The current server provider is Yandex SpeechKit. The response contract is versioned as screph-speech-inference.v1.
- Каждый запрос требует уникальный
Idempotency-Key; безопасный повтор того же запроса не списывает баланс второй раз.Every request requires a uniqueIdempotency-Key; safely replaying the same request does not debit the balance twice. - Расчёт идёт единицами по 15 секунд с округлением длительности вверх.Usage is calculated in 15-second units, rounding duration up.
- При недостаточном балансе provider не вызывается. Ошибка provider после списания запускает компенсацию; повтор возвращает сохранённый результат операции.With insufficient balance, the provider is not called. A provider failure after debit triggers compensation; a replay returns the stored operation result.
- Если server provider не настроен, возвращается видимая ошибка и баланс не списывается.If the server provider is not configured, a visible error is returned and no balance is debited.
Это отдельный сетевой путь. Локальный Vosk и подключения с собственными ключами описаны в руководстве по речи и LLM.This is a distinct online path. Local Vosk and bring-your-own-key connections are documented in the speech and LLM guide.
Локальный HTTP не равен интернет-передачеLocal HTTP is not an internet transfer
Некоторые desktop-компоненты используют адрес 127.0.0.1, поэтому firewall или монитор сети может показать локальный listener. Monaco раздаёт собственные assets на случайном порту только во время жизни виджета. Codex bridge log принимает локальные POST-записи на другом случайном порту и сохраняет их в журнал Screph. Эти endpoints не загружают проект в Screph Cloud, но доверяют процессам того же компьютера и не являются sandbox.Some desktop components use 127.0.0.1, so a firewall or network monitor may show a local listener. Monaco serves its own assets on an ephemeral port only while the widget exists. The Codex bridge log accepts local POST records on another ephemeral port and stores them in the Screph log. These endpoints do not upload a project to Screph Cloud, but they trust processes on the same computer and are not a sandbox.
Legacy OAuth callback также умеет слушать 127.0.0.1:8443 с fallback на 8765, но в текущей конфигурации он выключен: опубликованный device-flow открывает браузер и не требует локального callback listener.The legacy OAuth callback can also listen on 127.0.0.1:8443 with a fallback to 8765, but it is disabled in the current configuration: the published device flow opens a browser and does not need a local callback listener.
Баланс — не обещание доступной покупкиA balance is not a promise of an available purchase
В коде сайта есть package ledger, платёжный backend и проверка webhook, но пользовательская страница /payments/purchase/ сейчас перенаправляет на главную. Поэтому покупка пакетов не является опубликованным пользовательским workflow: на сайте нет актуального тарифа, цены или checkout, на которые следует рассчитывать. Текущая desktop-сборка также может вообще не показывать balance/purchase controls; если компонентная или старая сборка показывает ссылку покупки, её открытие не меняет статус отключённого web route. Появление предложения должно сопровождаться отдельной публикацией условий.The website code contains a package ledger, payment backend and webhook verification, but the user-facing /payments/purchase/ page currently redirects to the homepage. Package purchase is therefore not a published user workflow: there is no current plan, price or checkout to rely on. The current desktop build may not show balance or purchase controls at all; if a component or older build exposes the purchase link, opening it does not change the disabled web route's status. Any future offer must be published with its terms.
Перед отправкой данныхBefore sending data
- Речь: отправляется выбранная WAV-запись и параметры recognition; используйте локальный provider для чувствительного аудио.Speech: the selected WAV recording and recognition parameters are sent; use a local provider for sensitive audio.
- Диагностика: ZIP включает выбранную crash-session и top-level runtime logs; проект/autosave автоматически не прикладывается, но его пути или имена могут встречаться в logs. Manifest не показывает содержимое файлов.Diagnostics: the ZIP contains the selected crash session and top-level runtime logs; the project or autosave is not attached automatically, but its paths or names may occur in logs. The manifest does not display file contents.
- Поддержка: на сервер попадают text/attachment при отправке; видимый desktop chat отдельно опрашивает thread с account token или guest key.Support: text/attachments reach the server on send; a visible desktop chat separately polls the thread with an account token or guest key.
- Сайт: server-side журнал и IP lookup действуют при посещении публичных страниц; их точный состав описан в privacy policy.Website: server-side request logging and IP lookup apply when public pages are visited; the privacy policy lists the exact fields.
Подробнее: политика конфиденциальности и диагностика и восстановление.See the privacy policy and diagnostics and recovery guide.