library/services/session/README.md

Session Manager — управление сессиями Claude Code

Версия: 1.0.1
Дата: 2026-02-11


Что это

Централизованный менеджер для работы с сессиями Claude Code:
- Поиск и анализ сессий
- Классификация по проектам
- Поиск незавершённых задач
- Подключение к старым сессиям


Быстрый старт

# Установить алиас
ln -sf /opt/claude-workspace/system/scripts/session /usr/local/bin/session

# Список сессий
session list

# Поиск по слову
session search магазин

# Подключиться к сессии
session resume магазин
session resume 3          # по номеру
session resume 130f29e7   # по ID

Команды

Команда Описание Пример
list [проект] Список сессий session list pirotehnika
search СЛОВО Поиск по ключевым словам session search ozon
resume N\|ID\|СЛОВО Подключиться к сессии session resume магазин
analyze N Детали сессии session analyze 3
continue N Пометить как продолженную session continue 5
close N Закрыть сессию session close 7
unfinished [проект] Незавершённые задачи session unfinished

Подключение к старой сессии

Шаг 1: Найти сессию

# Поиск по ключевому слову
session search магазин

# ПОИСК: "магазин" — найдено 6
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#  #  │ Проект       │ Что делали                   │ Когда
# ────┼──────────────┼──────────────────────────────┼────────────
#  1  │ pirotehnika  │ Проверь подключение датаспей │ 12-21 19:47
#  6  │ platform     │ Продолжаем проект иделаьный  │ 12-24 10:43

Шаг 2: Подключиться

# По ключевому слову (если одна)
session resume магазин

# По номеру из списка
session resume 6

# По ID сессии
session resume 130f29e7

Что произойдёт

  1. Скрипт найдёт сессию
  2. Покажет выжимку с незавершёнными задачами
  3. Спросит подтверждение
  4. Запустит claude --resume SESSION_ID

Примеры

Найти незавершённые задачи

session unfinished pirotehnika

# НЕЗАВЕРШЁННЫЕ ЗАДАЧИ (12)
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#   [1] Синхронизация заказов FBS
#       Сессия: 5cdae721...
#   [2] Создать sync_returns.py
#       Сессия: 5cdae721...

Подключиться к последней сессии проекта

# Поиск
session search pirotehnika

# Подключиться к первой в списке (самой свежей)
session resume 1

Python API

from library.services.session import SessionManager

manager = SessionManager()

# Список сессий
sessions = manager.get_recent(days=7, project='pirotehnika')

# Поиск
matches = manager.search('магазин')

# Анализ задач
analysis = manager.analyze_tasks(session_id)
for task in analysis.unfinished:
    print(task.name)

# Незавершённые задачи
tasks = manager.find_unfinished(project='pirotehnika')

Структура

library/services/session/
├── __init__.py            Экспорт SessionManager
├── manager.py             Основная логика
├── models.py              Pydantic модели
├── cli.py                 CLI интерфейс
└── README.md              Эта документация

Безопасность

Защита от восстановления текущей сессии (v1.0.1):

При попытке выполнить session resume для текущей активной сессии:
- Определяется ID текущей сессии
- Показывается предупреждение: "⚠️ ОШИБКА: Эта сессия уже активна"
- Восстановление блокируется без загрузки дубликата контекста

Это предотвращает создание дублирующего контекста и путаницу.


Связи


Версия: 1.0.1