Дата: 2025-12-11
Приоритет: HIGH
Статус: RESOLVED
Компонент: system/sessions, .claude/hooks
При запуске Claude Code (claude в терминале) не показываются последние сессии для продолжения работы. Скрипт restore_session.sh существует и работает, но НЕ вызывается.
claude━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ПОСЛЕДНИЕ СЕССИИ:
--------------------------------------------------
[1] pirotehnika | Архитектор
2025-12-11 04:49 | архитектор томографія...
[2] platform | Архитектор
2025-12-11 04:44 | режим оператор...
--------------------------------------------------
'продолжить [проект]' — восстановить контекст
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| Компонент | Статус | Путь |
|---|---|---|
restore_session.sh |
Есть, работает | .claude/scripts/restore_session.sh |
session_recovery.py |
Есть, работает | system/scripts/session_recovery.py |
| Данные сессий | Есть | ~/.claude/history.jsonl (5330+ записей) |
| Hook для старта | НЕТ | — |
$ python3 $WORKSPACE/system/scripts/session_recovery.py --days 1 --json
# Возвращает корректные данные о сессиях
restore_session.sh не вызывается при старте Claude.claude/settings.json в проекте с настройкой hooks~/.claude/settings.json содержит только alwaysThinkingEnabled: falseClaude Code поддерживает hooks, но они НЕ настроены.
// .claude/settings.json (в проекте)
{
"hooks": {
"PreToolUse": [...],
"PostToolUse": [...],
"Notification": [...]
}
}
Проблема: Нет hook'а для "при старте сессии" в Claude Code API.
Можно вызывать скрипт из .bashrc/.zshrc:
# В конце ~/.bashrc
if [ -n "$CLAUDECODE" ]; then
$WORKSPACE/.claude/scripts/restore_session.sh
fi
Суть: Показывать сессии при входе в терминал с Claude Code
Реализация:
# ~/.bashrc или /etc/profile.d/claude-session.sh
claude_show_sessions() {
if [ -n "$CLAUDECODE" ] && [ -f $WORKSPACE/.claude/scripts/restore_session.sh ]; then
$WORKSPACE/.claude/scripts/restore_session.sh
fi
}
# Вызывать при старте
claude_show_sessions
Плюсы:
- Простая реализация
- Работает сразу
- Не зависит от API Claude Code
Минусы:
- Показывается в терминале, не в Claude
- Claude не "видит" эту информацию
сессии в CLAUDE.mdСуть: Добавить команду в CLAUDE.md которую Claude распознаёт
Реализация:
В CLAUDE.md уже есть:
сессии — показать последние сессии
продолжить [проект] — восстановить контекст
Но Claude не выполняет скрипты автоматически.
Плюсы:
- Пользователь может запросить явно
Минусы:
- Не автоматически
Суть: При первом сообщении сессии Claude проверяет последние сессии
Реализация:
В CLAUDE.md добавить:
## ПРИ СТАРТЕ
Если это первое сообщение сессии:
1. Проверить последние сессии: `python3 system/scripts/session_recovery.py --days 1 --json`
2. Если есть сессии за последние 4 часа → показать предложение продолжить
Плюсы:
- Claude сам показывает контекст
- Интерактивно
Минусы:
- Требует распознавания "первого сообщения"
Внедрить Вариант A + C:
| Файл | Действие |
|---|---|
/etc/profile.d/claude-session.sh |
СОЗДАТЬ — shell hook |
CLAUDE.md |
ОБНОВИТЬ — добавить поведение при старте |
.claude/scripts/restore_session.sh |
ПРОВЕРИТЬ — убедиться что работает |
сессии работаетпродолжить pirotehnika восстанавливает контекстАвтор: Claude Code
Создан: 2025-12-11
Решён: 2025-12-11
| Файл | Назначение |
|---|---|
system/scripts/smart_restore.py |
Интеллектуальное восстановление сессий |
/etc/profile.d/claude-session.sh |
Shell hook для показа при входе |
--list показывает 5 последних сессий--json для интеграции с Claudepython3 system/scripts/smart_restore.py # Авто
python3 system/scripts/smart_restore.py --list # Список
python3 system/scripts/smart_restore.py --json # JSON
Показывает контекст только при первом входе в login shell с CLAUDECODE=1