-
Notifications
You must be signed in to change notification settings - Fork 0
Session (RU)
English · Русский
Kitten для kitty: полноэкранный оверлей для просмотра и управления сессиями Claude Code — прямо из терминала, по хоткею.
Открывается со списка проектов — все проекты из ~/.claude/projects со счётчиком
сессий и живой активностью; текущий (по cwd окна) помечен (here):

Enter открывает сессии проекта. У запущенных — реальный статус: busy (зелёный),
waiting (жёлтый), ◆ bg busy у фонового агента — плюс ветка git и число
сообщений; переименованная сессия показывает свой заголовок:

p (или →) — предпросмотр диалога транскриптом в стиле Claude Code: промпт,
вызовы инструментов с выводом, правки файлов цветным diff'ом, ошибки красным,
markdown-ответы с подсветкой кода:

-
Навигация проекты → сессии. Список проектов (
~/.claude/projects), внутри — сессии выбранного проекта. Текущий проект (поcwdокна) помечен(here). -
Реальная активность. Показывает, какие сессии запущены прямо сейчас и их
статус (
busy/idle/waiting: permission prompt) — источник данных надёжный, из реестра живых процессов, а не по времени файла. Фоновые агенты помечены отдельно (◆,bg idle): к ним нельзя подключиться через resume, пока они работают — см. Как определяется активность. -
Resume / fork.
o(илиEnter) — новый таб сclaude --resume <id>в папке проекта;f— то же, но--fork-session(форкнуть диалог, не трогая исходную сессию). -
Новая сессия / continue.
n— новыйclaudeв папке (проект или проект сессии);c(на экране проектов) —claude --continue(продолжить последнюю сессию проекта). Если окно проекта уже занято работающимclaude— новая сессия открывается сплитом рядом (нужен layoutsplitsиз конфига терминала; на «голой» kitty откроется отдельным окном — текущая сессия в любом случае не перекрывается, ничего не ломается). -
Worktree.
w—claude --worktree <имя>: создать изолированный git worktree и запустить в нём сессию (параллельная работа, не трогая основное рабочее дерево). Имя спрашивается в строке ввода; пустое — Claude сгенерирует сам. -
Предпросмотр диалога транскриптом в стиле Claude Code: реплики (
>/⏺), вызовы инструментов с аргументом (⏺ Bash(git status)), их вывод (⎿) с ошибками красным. Правки файлов —⏺ Update(tests/x.py)со сводкой и цветным diff'ом, чтение файла —⎿ Read 402 lines, выход из планирования —⏺ Updated planс планом в рамке. Ответы Claude рендерятся с markdown-разметкой (жирный, курсив, инлайн-код, заголовки, списки, таблицы) и подсветкой синтаксиса в блоках кода. Длинный вывод свёрнут (… +N lines),Ctrl+oраскрывает всё. Вызовы разведки — поиск, чтение, обзор папки — сворачиваются в строку-сводку (Searched for 2 patterns, read 1 file); команды, правки файлов, планы и упавшие вызовы всегда видны целиком. Плюс поиск по тексту (/, переходn/Nс подсветкой совпадений). -
Переименование сессии (
r). Пишет записьcustom-titleв файл сессии — то же, что делает команда/renameв Claude Code, поэтому имя видно и там, и тут. -
Фильтр списка по названию (
/в списке). - Прячет шум: sdk-сессии (
entrypoint: sdk-cli) и внутренние папки~/.claude/…скрыты по умолчанию, переключатель —a. - Шорткаты работают и на русской раскладке (по позиции клавиши).
familiar enable sessionПерезагрузить конфиг: Cmd+Ctrl+, (или перезапустить kitty). Открыть: cmd+shift+s.
Минимальный fallback — ручной map в ~/.config/kitty/kitty.conf (или отдельном
include-файле):
map cmd+shift+s kitten /path/to/familiar/plugins/session.pyВ отличие от familiar enable, голый map лишён toggle-закрытия, защиты от
повторного открытия оверлея поверх самого себя и кириллических дублей клавиш
для русской раскладки.
Мышь: клик по строке — выбрать; повторный клик по выбранной — открыть (войти в проект / resume сессии).
Списки (проекты / сессии)
| Клавиша | Экран | Действие |
|---|---|---|
↑/↓, PgUp/PgDn
|
оба | навигация |
g / G, Home/End
|
оба | в начало / конец |
| клик мышью | оба | выбрать строку · повторный клик — открыть |
Enter |
оба | открыть проект / resume сессии |
→ |
сессии | предпросмотр (на проектах — открыть) |
n |
оба | новая сессия (claude) в каталоге |
w |
оба | worktree (claude --worktree) + новая сессия |
c |
проекты | continue (claude --continue) |
a |
проекты | показать все сессии / только cli
|
o |
сессии | resume — новый таб с claude --resume
|
f |
сессии | fork — resume с --fork-session
|
p |
сессии | предпросмотр диалога (то же, что →) |
r |
сессии | переименовать сессию |
/ |
оба | поиск (фильтр) по списку |
Esc |
оба | назад (или сбросить фильтр) |
q |
оба | выход |
Предпросмотр
| Клавиша | Действие |
|---|---|
↑/↓, PgUp/PgDn, колесо мыши |
скролл |
g / Home, G / End
|
в начало / конец истории |
[ / ]
|
к предыдущей / следующей реплике пользователя |
| клик по свёрнутой строке | раскрыть / свернуть (вывод, план, содержимое файла, сводку вызовов) |
Ctrl+o |
раскрыть весь свёрнутый вывод (повторно — свернуть) |
| перетаскивание мышью | выделение: внутри строки — куска, через строки — целых строк |
⌘c |
скопировать выделенное |
/ |
поиск по тексту диалога |
n / N
|
следующее / предыдущее совпадение |
o |
resume |
f |
fork (resume с --fork-session) |
Esc ←
|
назад |
q |
выход |
Claude Code ведёт реестр живых процессов в ~/.claude/sessions/<pid>.json
(sessionId, cwd, status, waitingFor, kind). Плагин читает его и сверяет живость
pid — так активные сессии определяются точно, с реальным статусом, а не по mtime.
Записи с kind: bg — фоновые агенты. Claude Code не даёт подключиться к живому
агенту (claude --resume отвечает «stop it there first to resume here»), поэтому
такие сессии помечены ◆ и статусом bg <status>, а o/Enter по ним не
запускают resume. Варианты: остановить агента, подключиться к нему через
claude agents или форкнуть диалог (f) — форку живой процесс не мешает.
-
~/.claude/projects/<enc>/<uuid>.jsonl— сессии (<enc>— путь проекта с заменой/и.на-). Заголовок берётся изcustom-title(/rename), иначеai-title, иначе первое сообщение. -
~/.claude/sessions/<pid>.json— реестр запущенных сессий и их статусы.
English
Русский