ENDERU
GitHub22 репозиторияDaily Tech4 подписчикаaudion.devвитрина продуктовRSSлента выпусков
← Все заметкиProjects

Перенос данных AI

Окно 2.1.1

Вверху страницы закреплены переключатели ЭКСПОРТ | ИМПОРТ и кнопка выбранной операции. При переключении открывается начало выбранной секции; её отметки и фильтры сохраняются независимо. Состояние источников, фильтры, чаты, остальные данные и параметры запуска разделены вложенными блоками. Приложение, проект и история занимают три строки без лишнего разделителя колонок.

У чатов отдельная широкая строка поиска по названию, проекту или ID, кнопка сброса и собственная прокрутка. Список остаётся раскрытым, поиск не снимает скрытые отметки. Если совпадений нет, окно объясняет это явно. Откат импорта и объединение памяти Claude находятся только в секции ИМПОРТ.

Раздел ЭКСПОРТ И ИМПОРТ / AI, начиная с 2.1.0, показывает локальные чаты Claude Code, Claude Desktop, Codex и Grok CLI, а также найденные настройки, память, инструкции, правила, навыки, плагины и автоматизации.

Что обнаруживается

  • Claude Code: основные JSONL-переписки проектов и связанные подагенты. Установка Desktop не требуется.
  • Claude Desktop: локальный индекс claude-code-sessions, если он присутствует, в обычном профиле или пакете Microsoft Store. Запись Desktop и её переписка Code объединяются в одну строку.
  • Codex: обычные и сжатые .jsonl.zst сессии, включая архив; названия дополняются метаданными локального индекса.
  • Grok CLI: каталоги сессий с summary.json, перепиской и потоком воспроизведения. Если updates.jsonl отсутствует, сессия доступна для архивирования, но восстановление через проверенный адаптер блокируется.
  • ChatGPT Desktop: показывается обнаружение приложения или локального профиля. Облачная история не извлекается из браузерного кэша и не объявляется переносимым локальным архивом.

Отсутствующий индекс Desktop не означает, что приложение не установлено. Пустой результат, частичный доступ и неизвестный формат объясняются отдельно. Кнопка обновления остаётся доступной. Общий каталог для списков кэшируется в ._runtime/ai_catalog не более 20 секунд; явное обновление обходит кэш.

Экспорт

  1. Выберите чаты. По умолчанию ни один не выбран. Фильтры приложения, проекта и архива, а также поиск сохраняют скрытые отметки. «ВСЕ» и «СНЯТЬ» действуют на видимые строки.
  2. Выберите остальные данные. Пресеты «Необходимое» и «Все поддержанные данные» не изменяют выбор чатов и авторизации. Отсутствующая категория показывает нулевое количество файлов. «Необходимое» не берёт плагины Codex: их Codex ставит сам, а это сотни мегабайт.
  3. Авторизация включается только отдельной отметкой. Не переносятся идентификатор установки, блокировки и общие базы истории, содержащие невыбранные чаты. Кэш ограничен явно поддержанными файлами без переписок, например каталогом моделей Codex.
  4. Оставьте «Показать план экспорта» включённым и запустите действие. Полный план сохраняется в отчёте; путь указан в терминале.
  5. Для записи снимите эту отметку и запустите действие снова. Если выбранные файлы изменились после плана, потребуется новый план.

Бэкап создаётся в ai_backup выбранного НАЗНАЧЕНИЯ. Новый формат — manifest schema 3: файловая опись, SHA-256 и каталог выбранных чатов с зависимостями. Публикация атомарная; неудачная сборка сохраняет прежний бэкап. SQLite сохраняется согласованным снимком без создания sidecar-файлов в исходном профиле.

Восстановление

  1. Укажите ИСТОЧНИК: корень бэкапа или папку, содержащую ai_backup. Программа проверит опись и хеши. Выбор импорта независим от выбора экспорта.
  2. Отметьте нужные чаты и категории. Авторизация по умолчанию выключена. Для старого комплекта без manifest требуется отдельное разрешение; исходная целостность такого комплекта неизвестна.
  3. Выполните пробный запуск и изучите ADD / SAME / CONFLICT / REPLACE. Полный план записывается в отчёт. Конфликты по умолчанию сохраняют локальные файлы.
  4. При необходимости задайте сопоставление рабочих папок JSON-объектом: {"E:\\OldProject":"D:\\NewProject"}. Меняются структурные поля рабочей папки и соответствующий каталог сессии; тексты сообщений не переписываются. Остальные абсолютные пути конфигурации требуют отдельного разрешения.
  5. Закройте затрагиваемые приложения, снимите пробный запуск и запустите импорт. Программа не завершает приложения сама. Изменившийся бэкап, выбор или состояние назначения требуют повторного планирования.

Совместимость регистрации и чтения беседы проверена штатным app-server Codex CLI 0.163.0. Для других версий запись сессий блокируется до проверки адаптера. У Grok проверяется штатное чтение экспорта Grok CLI 1.0.62 в отдельном временном профиле. Проверки не запускают генерацию ответа. Появление в окне конкретного Desktop-клиента отдельно не подтверждается этим протоколом.

Неполные, неоднозначные и неизвестные переписки можно сохранить как архив. Импорт не выдаёт копирование таких файлов за подтверждённое восстановление. Обычные файлы Claude Code проверяются по локальному формату; тесты не запускают беседу в Claude.

Откат

Перед записью создаётся backup/ai_import_<id>/journal.json с резервными файлами и хешами. При ошибке выполняется автоматический откат, включая служебные изменения app-server. Результат отката указан в журнале.

Для завершённого или прерванного импорта используйте карточку «Откат импорта»: выберите журнал этой копии программы, сначала выполните план, затем снимите «Только показать план». Изменившиеся после импорта файлы по умолчанию считаются конфликтом. Резервные файлы перед восстановлением проверяются по SHA-256.

CLI и прежние бэкапы

devops_cli.cmd run --operation ai_backup_inventory выводит сводку источников. Для полного JSON можно передать --result <файл>.

Новое окно передаёт transfer_version: 3 и собственные поля ai_export__... / ai_import__... через --params. devops_cli.cmd describe показывает точные поля и значения по умолчанию. Консольные вызовы без этого явного признака и прежние .cmd-обёртки сохраняют старую семантику; они не получают возможности нового каталога автоматически. Бэкапы schema 1 и 2 читаются с перечислением ограничений, общие старые базы истории целиком не заменяют действующие индексы.

Объединение памяти остаётся отдельной операцией для .md-файлов Claude; смысловое объединение памяти Codex не выполняется.

Основания адаптеров: Codex app-server, Grok CLI, чтение потока Grok.

Правлено 22.10.2026