Локальные данные и секретыLocal data and secrets

Screph разделяет обычные настройки, пользовательские проекты и секреты. Большинство runtime-файлов находится в одном каталоге ScrephData, но account tokens и API-ключи сохраняются через системное хранилище credentials, а project-local история Assistant может находиться прямо рядом с проектом.Screph separates ordinary settings, user projects and secrets. Most runtime files live under one ScrephData directory, but account tokens and API keys use the system credential store, while project-local Assistant history may live next to the project itself.

1. Где находится ScrephData1. Where ScrephData is located

  • Установленная сборка: ScrephData рядом с executable в install root.Installed build: ScrephData beside the executable in the install root.
  • Запуск из исходников: <repository>/ScrephData.Source checkout: <repository>/ScrephData.
  • Явное переопределение: environment variable SCREPH_CONFIG_DIR. Для reusable voice runtime также существуют VOICE_CONTROL_DATA_DIR и VOICE_CONTROL_MODEL_DIR.Explicit override: the SCREPH_CONFIG_DIR environment variable. The reusable voice runtime also supports VOICE_CONTROL_DATA_DIR and VOICE_CONTROL_MODEL_DIR.

Это текущая реализация, а не обещание стандартного AppData-пути. Перед переносом или удалением установки проверьте фактический runtime root и отдельно сохраните нужные проекты.This is the current implementation, not a promise of a standard AppData path. Before moving or removing an installation, inspect the actual runtime root and back up required projects separately.

2. Карта хранения2. Storage map

ДанныеDataМестоLocationСрок и очисткаRetention and cleanup
Обычные настройкиOrdinary settingsScrephData/settings_modules/settings.jsonОбычный незашифрованный JSON: preferences, paths, endpoints, profile metadata и role mappings. До изменения, reset или ручного удаления.Ordinary unencrypted JSON: preferences, paths, endpoints, profile metadata and role mappings. Kept until changed, reset or manually removed.
Локальное состояние SelectorSelector local stateScrephData/local_state/selector_layout.jsonГеометрия окна, panel sizes, canvas layout/presentations, linked panes, display modes, evidence tab и navigator. Это локальный pixel-free workspace snapshot, не часть project package. Measurement lines и layer locks в него не входят.Window geometry, panel sizes, canvas layout/presentations, linked panes, display modes, evidence tab and navigator. This is a local pixel-free workspace snapshot, not part of the project package. Measurement lines and layer locks are excluded.
Токены и API-ключиTokens and API keysWindows Credential Manager, service ScrephWindows Credential Manager, service ScrephLogout удаляет account tokens; LLM profile/key controls удаляют соответствующий ключ. Ошибка keyring не вызывает plaintext fallback.Logout removes account tokens; LLM profile/key controls remove the matching key. A keyring failure does not trigger a plaintext fallback.
ПроектыProjectsВыбранный каталог или ScrephData/automation_runtime/projectA chosen directory or ScrephData/automation_runtime/projectCanonical JSON, images, artifacts и sidecars принадлежат пользователю; общего auto-delete нет.Canonical JSON, images, artifacts and sidecars are user-owned; there is no global auto-delete.
AI AssistantScrephData/runtime/ai_assistant
<project>/.screph_ai_assistant
Session cleanup фактически использует 180 дней с исключениями; action history имеет отдельное поле. Project mirror автоматически этим cleanup не удаляется.Session cleanup effectively uses 180 days with exceptions; action history has a separate field. That cleanup does not remove the project mirror.
LLM usage metadataScrephData/llm/usage_events.jsonlAppend-only метрики успешных shared-runtime responses; prompt/response text не хранится. Auto-retention и clear UI нет, запись не является полным billing/error ledger.Append-only metrics for successful shared-runtime responses; no prompt or response text is stored. There is no automatic retention or clear UI, and the file is not a complete billing/error ledger.
История путей и метаданные ManagerPath histories and Manager metadataScrephData/local_state/selector_project_history.json
ScrephData/local_state/selector_project_metadata.json
Capture и Automation Manager subdirectoriesCapture and Automation Manager subdirectories
До 60 recent projects, 25 source selections на project key и 10 recent scripts. Project tags/notes привязаны к абсолютному пути, не входят в package и не мигрируют при duplicate/rename. Записи содержат полные локальные пути.Up to 60 recent projects, 25 source selections per project key and 10 recent scripts. Project tags and notes are keyed by absolute path, stay outside the package and do not migrate during duplicate or rename. Records contain full local paths.
Логи и crash reportsLogs and crash reportsScrephData/logsCrash reports: 10 newest by default. Для остальных журналов нет единого общего retention; используйте controls конкретного компонента или ручную очистку.Crash reports: the newest 10 by default. Other logs have no single shared retention rule; use component-specific controls or manual cleanup.
CV runtime sessionsCV runtime sessionsScrephData/screen_selector/cv/results
Selector session pathSelector session path/cv_artifacts
Technical image-run bundles и legacy/debug projections. Recent-session список ограничен 10 ID, но это не удаляет старые session directories; общей auto-retention не найдено. При project save копируются только прикреплённые image-series entries.Technical image-run bundles and legacy/debug projections. The recent-session list is limited to ten IDs, but this does not delete old session directories; no shared auto-retention was found. Project save copies only attached image-series entries.
Video/Temporal CV runsVideo/Temporal CV runsScrephData/screen_selector/cv/results/temporalManifest, snapshots, configs, provenance, coverage/issues и observation chunks. Скрыть активный запуск не удаляет run; delete/prune UI и auto-retention не найдены. Applied tracks лежат отдельно рядом с проектом в <name>.temporal-markup.json.Manifest, snapshots, configurations, provenance, coverage/issues and observation chunks. Hide active run does not delete the run; no delete/prune UI or automatic retention was found. Applied tracks live separately beside the project in <name>.temporal-markup.json.
Capture Action CV<recording>/action_cv
<recording>/automation_context
action_cv хранит materialized input, bundles/jobs/plans/runs, candidates, review decisions, exports, diagnostics, подготовленные VLM images, requests, raw responses и default-on response cache. Auto-retention не найдено. Полный ручной rerun удаляет action_cv, но не откатывает ранее обогащённый соседний automation_context.action_cv stores materialized input, bundles, jobs, plans, runs, candidates, review decisions, exports, diagnostics, prepared VLM images, requests, raw responses and a response cache that is on by default. No automatic retention was found. A full manual rerun deletes action_cv but does not roll back the adjacent automation_context if it was enriched earlier.
Модели, dependencies и cachesModels, dependencies and cachesОтдельные subdirectories ScrephDataDedicated ScrephData subdirectoriesУдаляются component-specific кнопкой/repair либо вручную. Reset настроек не следует считать полным удалением файлов.Removed by a component-specific delete/repair action or manually. A settings reset is not a complete file wipe.

3. Граница секретов3. Secret boundary

settings.json не является secret store. В него входят provider kind, model, api_base, timeout, roles и пути, но LLM API keys, voice keys и account access/refresh tokens сохраняются через system keyring. Legacy-блок secure.* при миграции удаляется, а не переносится обратно в обычный JSON.settings.json is not a secret store. It contains provider kind, model, api_base, timeouts, roles and paths, while LLM API keys, voice keys and account access/refresh tokens use the system keyring. The legacy secure.* block is removed during migration rather than copied back into ordinary JSON.

Environment variables имеют приоритет как явный runtime-source. Это удобно для deployment, но запущенные без sandbox дочерние процессы могут наследовать environment. Не храните секреты в project JSON, script parameters, URL с credentials или diagnostics notes.Environment variables have priority as an explicit runtime source. This is useful for deployment, but unsandboxed child processes may inherit the environment. Do not put secrets in project JSON, script parameters, credential-bearing URLs or diagnostics notes.

Путь тоже может быть чувствительнымA path may also be sensitive

Endpoints, project/source/script paths и путь к Google credentials не являются значением secret key, поэтому могут лежать в обычных settings/history и попадать в diagnostics preview. Проверяйте bundle перед отправкой.Endpoints, project/source/script paths and the Google credentials path are not secret-key values, so they may appear in ordinary settings/history and diagnostics previews. Review a bundle before sending it.

4. Почему 180 дней — не полное удаление4. Why 180 days is not a complete deletion rule

  1. history.jsonl очищает устаревшие dated rows при добавлении нового события.history.jsonl prunes dated rows when a new event is appended.
  2. При открытии workspace удаляются старые global session directories, но активная сессия и сессии с unresolved confirmation-required actions защищены.Opening the workspace removes old global session directories, but protects the active session and sessions with unresolved confirmation-required actions.
  3. <project>/.screph_ai_assistant не входит в этот cleanup. Текущий mirroring control влияет на action-history store, но generic workspace store продолжает использовать mirroring по умолчанию; переключатель не останавливает все новые messages/timeline/actions mirror-файлы и не удаляет существующие.<project>/.screph_ai_assistant is outside that cleanup. The current mirroring control affects the action-history store, but the generic workspace store still uses mirroring by default; the toggle neither stops all new message, timeline and action mirror files nor deletes existing ones.

Поле retention в UI применяется к append-only history.jsonl при создании runtime. Очистка session directories сейчас не получает пользовательское значение и фактически использует 180 дней; поэтому изменение поля нельзя считать общей политикой удаления Assistant.The UI retention field is applied to append-only history.jsonl when the runtime is created. Session-directory cleanup currently does not receive the user value and effectively uses 180 days, so changing the field is not a global Assistant deletion policy.

История может содержать prompts, ответы, action payloads, project paths, context metadata, redaction reports и разрешённые вложения. Для полного удаления закройте Screph, удалите нужные global session directories и project-local mirror, затем проверьте backups/синхронизацию проекта.History may contain prompts, responses, action payloads, project paths, context metadata, redaction reports and permitted attachments. For complete removal, close Screph, delete the relevant global session directories and project-local mirror, then inspect project backups or synchronization copies.

5. Практическая очистка5. Practical cleanup

  1. Определите фактический runtime root с учётом SCREPH_CONFIG_DIR.Determine the actual runtime root, including any SCREPH_CONFIG_DIR override.
  2. Выйдите из аккаунта и удалите ненужные LLM/voice keys соответствующими controls.Log out and remove unused LLM or voice keys with their dedicated controls.
  3. Очистите recent/source/script history в доступном UI; Убрать из истории и Очистить пропавшие в Project Manager не удаляют сам проект или скрипт. Path-keyed tags/notes очищаются отдельно из metadata store.Clear recent, source or script history where the UI provides it; Remove from history and Clear missing in Project Manager do not delete the project or script itself. Path-keyed tags and notes must be cleaned separately from the metadata store.
  4. Удалите ненужные models, runtime components, CV/Capture outputs и logs отдельно. Settings reset не заменяет этот шаг.Remove unused models, runtime components, CV/Capture outputs and logs separately. A settings reset does not replace this step.
  5. Перед удалением project mirror убедитесь, что не нужна история решений или unresolved action recovery.Before deleting a project mirror, make sure its decision history or unresolved-action recovery is no longer needed.

Состав переносимого project package →Contents of the portable project package →