Configuración, personalización, ajustes de plataforma y referencias de API para Pi.

Sesiones

Pi guarda conversaciones como sesiones para que puedas continuar trabajando, avanzar desde turnos anteriores y volver a visitar rutas anteriores.

Almacenamiento de sesiones

Las sesiones se guardan automáticamente en ~/.pi/agent/sessions/, organizadas por directorio de trabajo. Cada sesión es un archivo JSONL con una estructura de árbol.

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

Utilice /session en modo interactivo para ver el archivo de sesión actual, el ID de sesión, el recuento de mensajes, los tokens y el costo.

Para el formato de archivo JSONL y SessionManager API, consulte Session Format.

Comandos de sesión

Dominio Descripción
/resume Explorar y seleccionar sesiones anteriores
/new Iniciar una nueva sesión
/name <name> Establecer el nombre para mostrar de la sesión actual
/session Mostrar información de la sesión
/tree Navegar por el session tree actual
/fork Crear una nueva sesión a partir de un mensaje de usuario anterior
/clone Duplicar la rama activa actual en una nueva sesión
/compact [prompt] Resumir el contexto anterior; ver Compaction
/export [file] Exportar sesión a HTML
/share Subir como GitHub privado con enlace HTML para compartir

Reanudar y eliminar sesiones

/resume abre un selector de sesión interactivo para el proyecto actual. pi -r abre el mismo selector al inicio.

En el selector puedes:

  • buscar escribiendo
  • alternar visualización de ruta con Ctrl+P
  • alternar el modo de clasificación con Ctrl+S
  • filtrar a sesiones con nombre con Ctrl+N
  • cambiar el nombre con Ctrl+R
  • eliminar con Ctrl+D, luego confirmar

Cuando está disponible, pi usa trash CLI para eliminar en lugar de eliminar archivos permanentemente.

Sesiones de nombres

Utilice /name <name> para establecer un nombre de sesión legible por humanos:

/name Refactor auth module

Establezca el nombre al inicio con --name o -n:

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

Las sesiones con nombre son más fáciles de encontrar en /resume y pi -r.

Ramificando con /tree

Las sesiones se almacenan como árboles. Cada entrada tiene un id y un parentId, y la posición actual es la hoja activa. /tree te permite saltar a cualquier punto anterior y continuar desde allí sin crear un archivo nuevo.

Tree View

Forma de ejemplo:

├─ 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..."

Controles de árbol

Llave Acción
↑/↓ Navegar por entradas visibles
←/→ Página arriba/abajo
Ctrl+←/Ctrl+→ o Alt+←/Alt+→ Doblar/desplegar o saltar entre segmentos de ramas
Mayús+L Establecer o borrar una etiqueta en la entrada seleccionada
Mayús+T Alternar marcas de tiempo de etiquetas
Ingresar Seleccionar entrada
Esc/Ctrl+C Cancelar
Ctrl+O Modo de filtro de ciclo

Los modos de filtro son: predeterminado, sin herramientas, solo para usuario, solo con etiquetas y todos. Configure el valor predeterminado con treeFilterMode en Settings.

Comportamiento de selección

Seleccionar un usuario o mensaje personalizado:

  1. Mueve la hoja al padre del mensaje seleccionado.
  2. Coloca el texto del mensaje seleccionado en el editor.
  3. Le permite editar y volver a enviar, creando una nueva rama.

Seleccionar un asistente, herramienta, compactación u otra entrada que no sea de usuario:

  1. Mueve la hoja a esa entrada.
  2. Deja el editor vacío.
  3. Le permite continuar desde ese punto.

Al seleccionar el mensaje del usuario raíz, la hoja se restablece a una conversación vacía y se coloca el mensaje original en el editor.

/tree, /fork y /clone

Característica /tree /fork /clone
Producción Mismo archivo de sesión Nuevo archivo de sesión Nuevo archivo de sesión
Vista árbol completo Selector de mensajes de usuario Rama activa actual
Uso típico Explorar alternativas existentes Iniciar una nueva sesión desde un mensaje anterior Duplicar el trabajo actual antes de continuar
Resumen Resumen de rama opcional Ninguno Ninguno

Utilice /tree cuando desee mantener las alternativas juntas. Utilice /fork o /clone cuando desee un archivo de sesión independiente.

Resúmenes de sucursales

Cuando /tree cambia de una rama a otra, pi puede resumir la rama abandonada y adjuntar ese resumen en la nueva posición. Esto preserva el contexto importante del camino que dejaste sin volver a reproducir toda la rama.

Cuando se le solicite, elija uno de:

  1. sin resumen
  2. resumir con el mensaje predeterminado
  3. resumir con instrucciones de enfoque personalizadas

Consulte Compaction para ver branch summarization partes internas y ganchos de extensión.

Formato de sesión

Los archivos de sesión son JSONL y contienen entradas de mensajes, cambios de modelo, cambios de nivel de pensamiento, etiquetas, compactaciones, resúmenes de ramas y entradas de extensión.

Para analizadores, extensiones, uso de SDK y el SessionManager completo API, consulte Session Format.