Локальные данные и секреты

Screph разделяет обычные настройки, пользовательские проекты и секреты. Большинство runtime-файлов находится в одном каталоге ScrephData, но account tokens и API-ключи сохраняются через системное хранилище credentials, а project-local история Assistant может находиться прямо рядом с проектом.

1. Где находится ScrephData

  • Установленная сборка: ScrephData рядом с executable в install root.
  • Запуск из исходников: <repository>/ScrephData.
  • Явное переопределение: environment variable SCREPH_CONFIG_DIR. Для reusable voice runtime также существуют VOICE_CONTROL_DATA_DIR и VOICE_CONTROL_MODEL_DIR.

Это текущая реализация, а не обещание стандартного AppData-пути. Перед переносом или удалением установки проверьте фактический runtime root и отдельно сохраните нужные проекты.

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

ДанныеМестоСрок и очистка
Обычные настройкиScrephData/settings_modules/settings.jsonОбычный незашифрованный JSON: preferences, paths, endpoints, profile metadata и role mappings. До изменения, reset или ручного удаления.
Локальное состояние SelectorScrephData/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 в него не входят.
Токены и API-ключиWindows Credential Manager, service ScrephLogout удаляет account tokens; LLM profile/key controls удаляют соответствующий ключ. Ошибка keyring не вызывает plaintext fallback.
ПроектыВыбранный каталог или ScrephData/automation_runtime/projectCanonical JSON, images, artifacts и sidecars принадлежат пользователю; общего auto-delete нет.
AI AssistantScrephData/runtime/ai_assistant
<project>/.screph_ai_assistant
Session cleanup фактически использует 180 дней с исключениями; action history имеет отдельное поле. Project mirror автоматически этим cleanup не удаляется.
LLM usage metadataScrephData/llm/usage_events.jsonlAppend-only метрики успешных shared-runtime responses; prompt/response text не хранится. Auto-retention и clear UI нет, запись не является полным billing/error ledger.
История путей и метаданные ManagerScrephData/local_state/selector_project_history.json
ScrephData/local_state/selector_project_metadata.json
Capture и Automation Manager subdirectories
До 60 recent projects, 25 source selections на project key и 10 recent scripts. Project tags/notes привязаны к абсолютному пути, не входят в package и не мигрируют при duplicate/rename. Записи содержат полные локальные пути.
Логи и crash reportsScrephData/logsCrash reports: 10 newest by default. Для остальных журналов нет единого общего retention; используйте controls конкретного компонента или ручную очистку.
CV runtime sessionsScrephData/screen_selector/cv/results
Selector session path/cv_artifacts
Technical image-run bundles и legacy/debug projections. Recent-session список ограничен 10 ID, но это не удаляет старые session directories; общей auto-retention не найдено. При project save копируются только прикреплённые image-series entries.
Video/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.
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.
Модели, dependencies и cachesОтдельные subdirectories ScrephDataУдаляются component-specific кнопкой/repair либо вручную. Reset настроек не следует считать полным удалением файлов.

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

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.

Environment variables имеют приоритет как явный runtime-source. Это удобно для deployment, но запущенные без sandbox дочерние процессы могут наследовать environment. Не храните секреты в project JSON, script parameters, URL с credentials или diagnostics notes.

Путь тоже может быть чувствительным

Endpoints, project/source/script paths и путь к Google credentials не являются значением secret key, поэтому могут лежать в обычных settings/history и попадать в diagnostics preview. Проверяйте bundle перед отправкой.

4. Почему 180 дней — не полное удаление

  1. history.jsonl очищает устаревшие dated rows при добавлении нового события.
  2. При открытии workspace удаляются старые global session directories, но активная сессия и сессии с unresolved confirmation-required actions защищены.
  3. <project>/.screph_ai_assistant не входит в этот cleanup. Текущий mirroring control влияет на action-history store, но generic workspace store продолжает использовать mirroring по умолчанию; переключатель не останавливает все новые messages/timeline/actions mirror-файлы и не удаляет существующие.

Поле retention в UI применяется к append-only history.jsonl при создании runtime. Очистка session directories сейчас не получает пользовательское значение и фактически использует 180 дней; поэтому изменение поля нельзя считать общей политикой удаления Assistant.

История может содержать prompts, ответы, action payloads, project paths, context metadata, redaction reports и разрешённые вложения. Для полного удаления закройте Screph, удалите нужные global session directories и project-local mirror, затем проверьте backups/синхронизацию проекта.

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

  1. Определите фактический runtime root с учётом SCREPH_CONFIG_DIR.
  2. Выйдите из аккаунта и удалите ненужные LLM/voice keys соответствующими controls.
  3. Очистите recent/source/script history в доступном UI; Убрать из истории и Очистить пропавшие в Project Manager не удаляют сам проект или скрипт. Path-keyed tags/notes очищаются отдельно из metadata store.
  4. Удалите ненужные models, runtime components, CV/Capture outputs и logs отдельно. Settings reset не заменяет этот шаг.
  5. Перед удалением project mirror убедитесь, что не нужна история решений или unresolved action recovery.

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