Локальные данные и секреты
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 или ручного удаления. |
| Локальное состояние Selector | ScrephData/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 Screph | Logout удаляет account tokens; LLM profile/key controls удаляют соответствующий ключ. Ошибка keyring не вызывает plaintext fallback. |
| Проекты | Выбранный каталог или ScrephData/automation_runtime/project | Canonical JSON, images, artifacts и sidecars принадлежат пользователю; общего auto-delete нет. |
| AI Assistant | ScrephData/runtime/ai_assistant<project>/.screph_ai_assistant | Session cleanup фактически использует 180 дней с исключениями; action history имеет отдельное поле. Project mirror автоматически этим cleanup не удаляется. |
| LLM usage metadata | ScrephData/llm/usage_events.jsonl | Append-only метрики успешных shared-runtime responses; prompt/response text не хранится. Auto-retention и clear UI нет, запись не является полным billing/error ledger. |
| История путей и метаданные Manager | ScrephData/local_state/selector_project_history.jsonScrephData/local_state/selector_project_metadata.jsonCapture и Automation Manager subdirectories | До 60 recent projects, 25 source selections на project key и 10 recent scripts. Project tags/notes привязаны к абсолютному пути, не входят в package и не мигрируют при duplicate/rename. Записи содержат полные локальные пути. |
| Логи и crash reports | ScrephData/logs | Crash reports: 10 newest by default. Для остальных журналов нет единого общего retention; используйте controls конкретного компонента или ручную очистку. |
| CV runtime sessions | ScrephData/screen_selector/cv/resultsSelector 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 runs | ScrephData/screen_selector/cv/results/temporal | Manifest, 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 дней — не полное удаление
history.jsonlочищает устаревшие dated rows при добавлении нового события.- При открытии workspace удаляются старые global session directories, но активная сессия и сессии с unresolved confirmation-required actions защищены.
<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. Практическая очистка
- Определите фактический runtime root с учётом
SCREPH_CONFIG_DIR. - Выйдите из аккаунта и удалите ненужные LLM/voice keys соответствующими controls.
- Очистите recent/source/script history в доступном UI;
Убрать из историииОчистить пропавшиев Project Manager не удаляют сам проект или скрипт. Path-keyed tags/notes очищаются отдельно из metadata store. - Удалите ненужные models, runtime components, CV/Capture outputs и logs отдельно. Settings reset не заменяет этот шаг.
- Перед удалением project mirror убедитесь, что не нужна история решений или unresolved action recovery.