Настройка, расширение, параметры платформы и справочник API для Pi.

Сессии

Pi сохраняет разговоры как сеансы, чтобы вы могли продолжить работу, перейти от предыдущих ходов и вернуться к предыдущим путям.

Хранилище сеансов

Сеансы автоматически сохраняются в ~/.pi/agent/sessions/, организованные по рабочему каталогу. Каждый сеанс представляет собой файл JSONL с древовидной структурой.

pi -c                  # Continue most recent session
pi -r                  # Browse and select from past sessions
pi --no-session        # Ephemeral mode; do not save
pi --name "my task"    # Set session display name at startup
pi --session <path|id> # Use a specific session file or partial session ID
pi --fork <path|id>    # Fork a session file or partial session ID into a new session

Используйте /session в интерактивном режиме, чтобы просмотреть текущий файл сеанса, идентификатор сеанса, количество сообщений, токены и стоимость.

Информацию о формате файла JSONL и SessionManager API см. в Session Format.

Команды сеанса

Команда Описание
/resume Просмотрите и выберите предыдущие сеансы
/new Начать новый сеанс
/name <name> Установите отображаемое имя текущего сеанса
/session Показать информацию о сеансе
/tree Навигация по текущему session tree
/fork Создать новый сеанс на основе предыдущего сообщения пользователя.
/clone Дублируйте текущую активную ветку в новый сеанс.
/compact [prompt] Обобщить старый контекст; см. Compaction
/export [file] Экспорт сеанса в HTML
/share Загрузить как частную суть GitHub с общей HTML-ссылкой.

Возобновление и удаление сеансов

/resume открывает интерактивный выбор сеанса для текущего проекта. pi -r открывает тот же сборщик при запуске.

В пикере вы можете:

  • поиск, набрав
  • переключить отображение пути с помощью Ctrl+P
  • переключить режим сортировки с помощью Ctrl+S
  • фильтровать именованные сеансы с помощью Ctrl+N
  • переименовать с помощью Ctrl+R
  • удалить с помощью Ctrl+D, затем подтвердить

Если доступно, pi использует trash CLI для удаления вместо окончательного удаления файлов.

Именование сеансов

Используйте /name <name>, чтобы установить удобочитаемое имя сеанса:

/name Refactor auth module

Задайте имя при запуске с помощью --name или -n:

pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"

Именованные сеансы легче найти в /resume и pi -r.

Ветвление с /tree

Сессии хранятся в виде деревьев. Каждая запись имеет id и parentId, а текущая позиция является активным листом. /tree позволяет перейти к любой предыдущей точке и продолжить оттуда, не создавая новый файл.

Tree View

Пример формы:

├─ user: "Hello, can you help..."
│  └─ assistant: "Of course! I can..."
│     ├─ user: "Let's try approach A..."
│     │  └─ assistant: "For approach A..."
│     │     └─ user: "That worked..."  ← active
│     └─ user: "Actually, approach B..."
│        └─ assistant: "For approach B..."

Элементы управления деревом

Ключ Действие
↑/↓ Навигация по видимым записям
←/→ Страница вверх/вниз
Ctrl+ ←/Ctrl+→ или Alt+ ←/Alt+→ Складывайте/разворачивайте или прыгайте между сегментами ветвей
Шифт+Л Установить или удалить метку для выбранной записи
Шифт+Т Переключить временные метки ярлыков
Входить Выберите запись
Выход/Ctrl+C Отмена
Ctrl+О Режим циклического фильтра

Режимы фильтрации: по умолчанию, без инструментов, только для пользователя, только с метками и все. Настройте значение по умолчанию с помощью treeFilterMode в Settings.

Поведение выбора

Выбор пользователя или пользовательского сообщения:

  1. Перемещает лист к родительскому элементу выбранного сообщения.
  2. Помещает выделенный текст сообщения в редактор.
  3. Позволяет редактировать и повторно отправлять, создавая новую ветку.

Выбор помощника, инструмента, уплотнителя или другой непользовательской записи:

  1. Перемещает лист к этой записи.
  2. Оставляет редактор пустым.
  3. Позволяет продолжить с этого момента.

Выбор сообщения корневого пользователя сбрасывает лист до пустого разговора и помещает исходное приглашение в редактор.

/tree, /fork и /clone

Особенность /tree /fork /clone
Выход Тот же файл сеанса Новый файл сеанса Новый файл сеанса
Вид Полное дерево Селектор сообщений пользователя Текущая активная ветка
Типичное использование Изучите существующие альтернативы Начать новый сеанс с предыдущего приглашения Дублируйте текущую работу, прежде чем продолжить
Краткое содержание Необязательная сводка ветвей Никто Никто

Используйте /tree, если хотите объединить альтернативы. Используйте /fork или /clone, если вам нужен отдельный файл сеанса.

Резюме филиалов

Когда /tree переключается с одной ветви на другую, pi может суммировать заброшенную ветвь и прикрепить это резюме к новой позиции. Это сохраняет важный контекст пути, который вы покинули, без повторного воспроизведения всей ветки.

При появлении запроса выберите один из:

  1. нет резюме
  2. подвести итоги с помощью подсказки по умолчанию
  3. подведите итоги с помощью инструкций по индивидуальному фокусу

См. Compaction для branch summarization внутренних деталей и удлинителей.

Формат сессии

Файлы сеансов имеют номер JSONL и содержат записи сообщений, изменения модели, изменения на уровне мышления, метки, уплотнения, сводки ветвей и записи расширений.

Информацию о парсерах, расширениях, использовании SDK и полном сеансе SessionManager API см. в Session Format.