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

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

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

-
Навигация проекты → сессии. Список проектов (
~/.claude/projects), внутри — сессии выбранного проекта. Текущий проект (поcwdокна) помечен(here). Если кит открыт из окна с идущей сессией, он стартует прямо на ней: kitty отдаёт киту pid процесса окна, и сессия ищется по дереву процессов — в проекте с несколькими живыми сессиями выбирается именно нужная. -
Реальная активность. Показывает, какие сессии запущены прямо сейчас и их
статус (
busy/idle/waiting) — источник данных надёжный, из реестра живых процессов, а не по времени файла.waiting— сессия ждёт ответа, например на permission prompt. Фоновые агенты помечены отдельно (◆,bg idle): к ним нельзя подключиться через resume, пока они работают — см. Как определяется активность. -
Resume / fork.
o(илиEnter) —claude --resume <id>в папке проекта, поверх текущего окна (оверлеем; сплитом рядом, если окно уже занято работающимclaude);f— то же, но--fork-session(форкнуть диалог, не трогая исходную сессию). -
Новая сессия / continue.
n— новыйclaudeв папке (проект или проект сессии);c(на экране проектов) —claude --continue(продолжить последнюю сессию проекта). Если окно проекта уже занято работающимclaude— новая сессия открывается сплитом рядом (нужен layoutsplitsиз конфига терминала; на «голой» kitty откроется отдельным окном — текущая сессия в любом случае не перекрывается, ничего не ломается). Свободное окно сессия занимает сама (оверлеем) и сообщает kitty свою рабочую папку, поэтому сплиты из неё (Cmd+D/Cmd+Shift+D) открываются в папке проекта. Окно сессии подписаноclaude · <проект>, окно самого кита —Session. -
Worktree.
w—claude --worktree <имя>: создать изолированный git worktree и запустить в нём сессию (параллельная работа, не трогая основное рабочее дерево). Имя спрашивается в строке ввода; пустое — Claude сгенерирует сам. -
Предпросмотр диалога транскриптом в стиле Claude Code: реплики (
>/⏺), вызовы инструментов с аргументом (⏺ Bash(git status)), их вывод (⎿) с ошибками красным. Правки файлов —⏺ Update(tests/x.py)со сводкой и цветным diff'ом, чтение файла —⎿ Read 402 lines, выход из планирования —⏺ Updated planс планом в рамке. Фоновый агент читается как⎿ Running in background, а его отчёт — он приходит много позже вызова — говорит, чья это была задача и чем кончилась:⎿ Agent(Audit moon phase rounding) finishedи сводка агента под ней. Так же отчитываются фоновые команды и мониторы. Отклонённый пользователем вызов —⎿ Rejected by user, прерванный ход —⎿ Interrupted by user, а MCP-инструменты зовутся как в Claude Code (tinkerwell - evaluate-remote-php-code). Ответы 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-закрытия, защиты от
повторного открытия оверлея поверх самого себя, разворота во весь экран из
сплита (переключение layout в stack) и кириллических дублей клавиш для
русской раскладки.
Мышь: клик по строке — выбрать; повторный клик по выбранной — открыть (войти в проект / 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 ⌃c
|
оба | выход |
Esc на дне каскада (список проектов, фильтр не применён) не закрывает оверлей
молча: сначала центрированный диалог в стиле kitty — y / Enter / клик по
Yes закрывает, n / Esc / No оставляет открытым, ←/→/Tab
переключают кнопки. ⌃c выходит сразу даже поверх диалога; q работает, только
пока диалога нет.
Предпросмотр
| Клавиша | Действие |
|---|---|
↑/↓, PgUp/PgDn, колесо мыши |
скролл |
g / Home, G / End
|
в начало / конец истории |
[ / ]
|
к предыдущей / следующей реплике пользователя |
| клик по свёрнутой строке | раскрыть / свернуть (вывод, план, содержимое файла, сводку вызовов) |
Ctrl+o |
раскрыть весь свёрнутый вывод (повторно — свернуть) |
| перетаскивание мышью | выделение: внутри строки — куска, через строки — целых строк |
⌘c |
скопировать выделенное |
/ |
поиск по тексту диалога |
n / N
|
следующее / предыдущее совпадение |
o |
resume |
f |
fork (resume с --fork-session) |
Esc ←
|
назад |
q |
выход |
Во время ввода (фильтр / поиск / переименование / имя worktree)
| Клавиша | Действие |
|---|---|
← →, Home / End
|
двигать каретку — вставка идёт в позицию каретки |
Backspace / Delete
|
стереть перед кареткой / за ней |
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
Русский