infra/@backup.service/docs/SESSIONS.md

Бэкап и чтение истории чатов Claude

Версия: 1.0.0
Дата: 2026-03-05


ЛОГИКА ХРАНЕНИЯ

Последняя неделя          Старые чаты (архивы)
~/.claude/projects/  →    $INFRA_BACKUPS/L4-CLAUDE/sessions/
  (в памяти сервера)         sessions-2026-W09.tar.gz
                             sessions-2026-W10.tar.gz
                             sessions-2026-W11.tar.gz
                             ...

ГДЕ ЛЕЖАТ АРХИВЫ

$INFRA_BACKUPS/L4-CLAUDE/sessions/
# = /mnt/beget-infra/dev-pro/backup/L4-CLAUDE/sessions/

ls $INFRA_BACKUPS/L4-CLAUDE/sessions/
# sessions-2026-W09.tar.gz
# sessions-2026-W10.tar.gz

КАК ЧИТАТЬ СТАРЫЕ ЧАТЫ

1. Посмотреть список архивов

ls -lh $INFRA_BACKUPS/L4-CLAUDE/sessions/

2. Распаковать нужную неделю

# Распаковать во временную папку
mkdir -p /tmp/sessions-W10
tar -xzf $INFRA_BACKUPS/L4-CLAUDE/sessions/sessions-2026-W10.tar.gz \
    -C /tmp/sessions-W10/

ls /tmp/sessions-W10/

3. Посмотреть список сессий

# Через стандартный скрипт платформы
python3 $WORKSPACE/system/scripts/sessions.py list \
    --dir /tmp/sessions-W10/

# Или вручную
ls /tmp/sessions-W10/-opt-claude-workspace/

4. Прочитать конкретный чат

# Через session_extract
python3 $WORKSPACE/system/scripts/session_extract.py \
    /tmp/sessions-W10/-opt-claude-workspace/SESSION_ID.jsonl

# Или напрямую (сырой JSON)
cat /tmp/sessions-W10/-opt-claude-workspace/SESSION_ID.jsonl | \
    python3 -c "import sys,json; [print(json.dumps(json.loads(l), ensure_ascii=False, indent=2)) for l in sys.stdin]"

ФОРМАТ ФАЙЛОВ

Каждый чат — файл .jsonl (JSON Lines):
- Одна строка = одно сообщение
- Поля: role (user/assistant), content, timestamp

Пример:

{"role": "user", "content": "режим оператор", "timestamp": "2026-03-05T02:00:00"}
{"role": "assistant", "content": "HOOK OK...", "timestamp": "2026-03-05T02:00:01"}

УПРАВЛЕНИЕ

Запустить архивирование вручную

bash $WORKSPACE/infra/@backup.service/scripts/backup-sessions.sh

Статус в scheduler

python3 $WORKSPACE/system/scheduler/run.py --list | grep sessions

СВЯЗИ