# declaude Автономная утилита для преобразования официального экспорта данных Claude.ai в интерактивный статический HTML-архив. Позволяет локально хранить, просматривать и быстро искать диалоги без внешних зависимостей и необходимости поднимать базы данных или веб-серверы. ## Онлайн-версия Не хочется устанавливать Python и разбираться руками — есть готовая веб-версия: **https://fe0.ru/declaude/**. Загружаете zip-экспорт, получаете готовый архив — без установки чего-либо. Если важна приватность данных, запустите скрипт локально по инструкции ниже. ## Возможности - **Полная автономность:** генерирует чистые HTML-страницы для каждого диалога, которые открываются в любом браузере. - **Страницы проектов:** рендеринг контекстных документов и шаблонов системных промптов для каждого проекта. - **Полноценная поддержка Markdown:** заголовки, списки, таблицы, цитаты, блоки кода. - **Подсветка синтаксиса без сторонних библиотек:** встроенная поддержка Python, JavaScript, TypeScript, SQL, Bash, Go и Rust. - **Темы оформления и языки:** переключение между светлой и тёмной темой, а также интерфейс на русском и английском языках (выбор сохраняется в LocalStorage). - **Маппинг проектов:** возможность связывать диалоги с проектами прямо в браузере с выгрузкой файла `mapping.json` и быстрой пересборкой. - **Инкрементальные обновления:** режим `--update` обновляет только добавленные или изменённые диалоги. - **Нулевые зависимости:** работает исключительно на стандартной библиотеке Python 3.8+. ## Подготовка данных 1. Откройте **claude.ai → Settings → Privacy → Export data**. 2. Дождитесь письма со ссылкой и скачайте zip-архив с выгрузкой. 3. Распакуйте архив в отдельную папку. Внутри находятся файлы `conversations.json`, `users.json` и каталог `projects/`. ## Использование ### Первая сборка архива ```bash python declaude.py --build --source ./claude-export ``` После завершения откройте файл `claude_archive/index.html` в браузере. ### Указание своей папки для архива ```bash python declaude.py --build --source ./claude-export --output ./my-archive ``` ### Инкрементальное обновление из нового архива ```bash python declaude.py --update new_export.zip ``` Регенерируются только новые и отредактированные страницы, текущая привязка диалогов к проектам в `mapping.json` сохраняется. ### Назначение диалога проекту через консоль ```bash python declaude.py --map python declaude.py --remap ``` Быстрая пересборка страниц проектов (`--remap`) занимает секунды, так как не пересобирает неизменённые диалоги. ## Структура сгенерированного архива ``` claude_archive/ ├── index.html # Главная страница: статистика, проекты, последние чаты ├── all_conversations.html # Полный список диалогов с поиском и фильтрацией ├── conversations/ │ └── .html # Страницы отдельных диалогов ├── projects/ │ └── / │ └── index.html # Страницы проектов с документами и диалогами └── assets/ ├── style.css └── app.js ``` ## Параметры командной строки - `--build` — полная сборка архива из исходного каталога. - `--source ПУТЬ` — путь к каталогу с распакованным экспортом (по умолчанию: `claude-backup-v1`). - `--output ПУТЬ` — каталог для сохранения HTML-архива (по умолчанию: `claude_archive`). - `--update АРХИВ.ZIP` — добавление данных из нового zip-архива с сохранением маппинга. - `--remap` — быстрая пересборка индексной страницы и страниц проектов. - `--map CONV_ID PROJ_ID` — ручное сопоставление диалога с проектом. - `--mapping ПУТЬ` — путь к файлу сопоставлений (по умолчанию: `./mapping.json`). ## Лицензия MIT