Configuration, personnalisation, paramètres de plateforme et références API pour Pi.

Séances

Pi enregistre les conversations sous forme de sessions afin que vous puissiez continuer à travailler, repartir des tours précédents et revisiter les chemins précédents.

Stockage de sessions

Les sessions sont automatiquement enregistrées dans ~/.pi/agent/sessions/, organisées par répertoire de travail. Chaque session est un fichier JSONL avec une arborescence.

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

Utilisez /session en mode interactif pour voir le fichier de session en cours, l'ID de session, le nombre de messages, les jetons et le coût.

Pour le format de fichier JSONL et SessionManager API, voir Session Format.

Commandes de session

Commande Description
/resume Parcourir et sélectionner les sessions précédentes
/new Démarrer une nouvelle session
/name <name> Définir le nom d'affichage de la session en cours
/session Afficher les informations sur la session
/tree Naviguez dans le session tree actuel
/fork Créer une nouvelle session à partir d'un message utilisateur précédent
/clone Dupliquer la branche active actuelle dans une nouvelle session
/compact [prompt] Résumer le contexte plus ancien; voir Compaction
/export [file] Exporter la session au format HTML
/share Télécharger en tant qu'essentiel GitHub privé avec un lien HTML partageable

Reprise et suppression de sessions

/resume ouvre un sélecteur de session interactif pour le projet en cours. pi -r ouvre le même sélecteur au démarrage.

Dans le sélecteur, vous pouvez:

  • rechercher en tapant
  • basculer l'affichage du chemin avec Ctrl+P
  • basculer le mode de tri avec Ctrl+S
  • filtrer les sessions nommées avec Ctrl+N
  • renommer avec Ctrl+R
  • supprimer avec Ctrl+D, puis valider

Lorsqu'il est disponible, pi utilise le trash CLI pour la suppression au lieu de supprimer définitivement les fichiers.

Nommer les sessions

Utilisez /name <name> pour définir un nom de session lisible par l'homme:

/name Refactor auth module

Définissez le nom au démarrage avec --name ou -n:

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

Les sessions nommées sont plus faciles à trouver dans /resume et pi -r.

Branchement avec /tree

Les sessions sont stockées sous forme d'arborescences. Chaque entrée a un id et un parentId, et la position actuelle est la feuille active. /tree vous permet de passer à n'importe quel point précédent et de continuer à partir de là sans créer de nouveau fichier.

Tree View

Exemple de forme:

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

Contrôles de l'arborescence

Clé Action
↑/↓ Naviguer dans les entrées visibles
←/→ Page précédente/suivante
Ctrl+←/Ctrl+→ ou Alt+←/Alt+→ Pliez/dépliez ou sautez entre les segments de branche
Maj+L Définir ou effacer une étiquette sur l'entrée sélectionnée
Maj+T Basculer les horodatages des étiquettes
Entrer Sélectionner une entrée
Échap/Ctrl+C Annuler
Ctrl+O Mode de filtrage cyclique

Les modes de filtrage sont: par défaut, sans outils, utilisateur uniquement, étiqueté uniquement et tous. Configurez la valeur par défaut avec treeFilterMode dans Settings.

Comportement de sélection

Sélection d'un utilisateur ou d'un message personnalisé:

  1. Déplace la feuille vers le parent du message sélectionné.
  2. Place le texte du message sélectionné dans l'éditeur.
  3. Vous permet de modifier et de soumettre à nouveau, en créant une nouvelle branche.

Sélection d'un assistant, d'un outil, d'un compactage ou d'une autre entrée non utilisateur:

  1. Déplace la feuille vers cette entrée.
  2. Laisse l'éditeur vide.
  3. Vous permet de continuer à partir de ce point.

La sélection du message de l'utilisateur root réinitialise la feuille vers une conversation vide et place l'invite d'origine dans l'éditeur.

/tree, /fork et /clone

Fonctionnalité /tree /fork /clone
Sortir Même fichier de session Nouveau fichier de session Nouveau fichier de session
Voir Arbre complet Sélecteur de message utilisateur Branche active actuelle
Utilisation typique Explorer les alternatives en place Démarrer une nouvelle session à partir d'une invite précédente Dupliquer le travail en cours avant de continuer
Résumé Résumé de branche facultatif Aucun Aucun

Utilisez /tree lorsque vous souhaitez conserver les alternatives ensemble. Utilisez /fork ou /clone lorsque vous souhaitez un fichier de session séparé.

Sommaires des succursales

Lorsque /tree passe d'une branche à une autre, pi peut résumer la branche abandonnée et joindre ce résumé à la nouvelle position. Cela préserve le contexte important du chemin que vous avez quitté sans rejouer la branche entière.

Lorsque vous y êtes invité, choisissez l'une des options suivantes:

  1. pas de résumé
  2. résumer avec l'invite par défaut
  3. résumer avec des instructions de mise au point personnalisées

Voir Compaction pour les composants internes et les crochets d'extension branch summarization.

Format de la séance

Les fichiers de session sont JSONL et contiennent des entrées de message, des modifications de modèle, des changements de niveau de réflexion, des étiquettes, des compactages, des résumés de branche et des entrées d'extension.

Pour les analyseurs, les extensions, l'utilisation de SDK et le SessionManager complet API, voir Session Format.