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

Utiliser Pi

Cette page collecte des détails d'utilisation quotidienne qui ne tiennent pas sur la page de démarrage rapide.

Mode interactif

Interactive Mode

L'interface comporte quatre zones principales:

  • En-tête de démarrage - raccourcis, chargés context files, prompt templates, compétences et extensions
  • Messages: messages utilisateur, réponses de l'assistant, appels d'outils, résultats d'outils, notifications, erreurs et interface utilisateur d'extension.
  • Éditeur - où vous tapez; la couleur de la bordure indique le niveau de réflexion actuel
  • Pied de page: répertoire de travail, nom de session, utilisation du jeton/cache, coût, utilisation du contexte et modèle actuel. Les totaux incluent les réponses de l'assistant, l'utilisation signalée par les outils et la génération de résumés.

L'éditeur peut être remplacé temporairement par une interface utilisateur intégrée telle que /settings ou par une interface utilisateur d'extension personnalisée.

Fonctionnalités de l'éditeur

Fonctionnalité Comment
Référence du fichier Tapez @ pour effectuer une recherche floue dans les fichiers de projet
Achèvement du chemin Appuyez sur Tab pour compléter les chemins
Entrée multiligne Maj+Entrée ou Ctrl+Entrée sur le terminal Windows
Copier la réponse Ctrl+X copie le dernier message de l'assistant; en /tree, il copie le message sélectionné
Images Collez avec Ctrl+V, Alt+V sous Windows ou faites glisser dans le terminal
Commande Shell !command exécute et envoie la sortie au modèle
Commande shell cachée !!command s'exécute sans envoyer de sortie au modèle
Éditeur externe Ctrl+G ouvre externalEditor, $VISUAL, $EDITOR, le Bloc-notes sous Windows ou nano ailleurs

Voir Keybindings pour tous les raccourcis et personnalisations.

Commandes barre oblique

Tapez / dans l'éditeur pour ouvrir la complétion de la commande. Extensions peut enregistrer des commandes personnalisées, les compétences sont disponibles sous la forme /skill:name et prompt templates se développent via /templatename.

Commande Description
/login, /logout Gérer les identifiants de clé OAuth ou API
/llama Téléchargez, chargez et déchargez les modèles de routeurs llama.cpp
/model Changer de modèle
/scoped-models Activer/désactiver les modèles pour le cycle Ctrl+P
/settings Niveau de réflexion, thème, transmission du message, transport
/resume Pick des sessions précédentes
/new Démarrer une nouvelle session
/name <name> Définir le nom d'affichage de la session
/session Afficher le fichier de session, l'ID, les messages, les jetons et le coût
/tree Accédez à n’importe quel moment de la session et continuez à partir de là
/trust Enregistrer la décision d'approbation du projet pour les sessions futures
/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] Contexte compacté manuellement, éventuellement avec des instructions personnalisées
/copy Copier le dernier message de l'assistant dans le presse-papiers
/export [file] Exporter la session au format HTML ou JSONL
/import <file> Importer et reprendre une session à partir d'un fichier JSONL
/share Télécharger en tant qu'essentiel GitHub privé avec un lien HTML partageable
/reload Rechargez les raccourcis clavier, les extensions, les compétences, les invites, les thèmes et context files
/hotkeys Afficher tous les raccourcis clavier
/changelog Afficher l'historique des versions
/quit Quitter pi

File d'attente des messages

Vous pouvez envoyer des messages pendant que l'agent travaille encore:

  • Entrée met en file d'attente un message de direction, délivré une fois que le tour d'assistant en cours a fini d'exécuter ses appels d'outil.
  • Alt+Entrée met en file d'attente un message de suivi, délivré une fois que l'agent a terminé tout son travail.
  • Escape abandonne et restaure les messages en file d'attente dans l'éditeur.
  • Alt+Up récupère les messages en file d'attente vers l'éditeur.

Sur le terminal Windows, Alt+Entrée est en plein écran par défaut. Remappez-le comme décrit dans Terminal setup si vous souhaitez que pi reçoive le raccourci.

Configurez la livraison en Settings avec steeringMode et followUpMode.

Séances

Les sessions sont automatiquement enregistrées dans ~/.pi/agent/sessions/, organisées par répertoire de travail.

pi -c                  # Continue most recent session
pi -r                  # Browse and select a session
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 session ID
pi --fork <path|id>    # Fork a session into a new session file

Commandes de session utiles:

  • /session affiche le fichier et l'ID de la session en cours.
  • /tree parcourt le fichier session tree et peut résumer les branches abandonnées.
  • /fork crée une nouvelle session à partir d'un message utilisateur précédent.
  • /clone duplique la branche active actuelle dans un nouveau fichier de session.
  • /compact résume les messages plus anciens dans un contexte libre.

Voir Sessions et Compaction pour plus de détails.

Fichiers contextuels

Pi charge AGENTS.md ou CLAUDE.md au démarrage depuis:

  • ~/.pi/agent/AGENTS.md pour les instructions globales
  • répertoires parents, en remontant du répertoire de travail actuel
  • le répertoire actuel

Si un répertoire contient AGENTS.override.md, Pi le charge au lieu de AGENTS.md ou CLAUDE.md à partir de ce répertoire. Les fichiers de contexte provenant d'autres répertoires se superposent toujours normalement.

Utilisez context files pour les conventions, commandes, règles de sécurité et préférences du projet. Désactivez le chargement avec --no-context-files ou -nc.

Fichiers d'invite système

Remplacez l'invite système par défaut par:

  • .pi/SYSTEM.md pour un projet
  • ~/.pi/agent/SYSTEM.md dans le monde

Ajoutez à l'invite par défaut sans la remplacer par APPEND_SYSTEM.md à aucun des emplacements.

Fiducie du projet

Au démarrage interactif, pi demande avant de faire confiance à un dossier de projet qui contient des paramètres locaux du projet, des ressources ou un projet .agents/skills et n'a aucune décision enregistrée pour le dossier ou un dossier parent dans ~/.pi/agent/trust.json. Faire confiance à un projet permet à pi de charger les ressources .pi/settings.json et .pi, d'installer les packages de projet manquants et d'exécuter des extensions de projet.

Avant la décision de confiance, pi charge uniquement les extensions context files, utilisateur/global et CLI -e afin qu'ils puissent gérer l'événement project_trust. Les extensions locales du projet, les extensions gérées par les packages de projet et les paramètres du projet ne sont chargés qu'une fois le projet approuvé. Cette répartition s'applique également lors du passage à une session à partir d'un autre cwd dont la confiance n'a pas été résolue dans le processus en cours.

Les modes non interactifs (-p, --mode json et --mode rpc) n'affichent pas d'invite de confiance. Sans décision de confiance enregistrée applicable, ils utilisent defaultProjectTrust à partir des paramètres globaux: ask (par défaut) et never ignorent ces ressources du projet, tandis que always leur fait confiance. Passez --approve/-a ou --no-approve/-na pour remplacer la confiance du projet pour une exécution.

Si aucune extension ou décision enregistrée ne s'applique, defaultProjectTrust contrôle le comportement de repli. Réglez-le sur "ask", "always" ou "never" dans ~/.pi/agent/settings.json, ou modifiez-le avec /settings.

Les commandes pi config et package utilisent le même flux de confiance du projet, sauf que pi update ne vous invite jamais. Passez --approve pour faire confiance aux paramètres locaux du projet pour une commande ou --no-approve pour les ignorer.

Utilisez /trust en mode interactif pour enregistrer une décision d'approbation de projet pour les sessions futures, y compris l'approbation pour le dossier parent immédiat. Il écrit ~/.pi/agent/trust.json uniquement; la session en cours n'est pas rechargée, alors redémarrez pi pour que les modifications prennent effet.

Exportation et partage de sessions

Utilisez /export [file] pour écrire une session au format HTML.

Utilisez /share pour télécharger un résumé privé GitHub avec un lien HTML partageable.

Si vous utilisez pi pour un travail open source et que vous souhaitez publier des sessions pour la recherche de modèles, d'invites, d'outils et d'évaluation, voir badlogic/pi-share-hf. Il publie des sessions sur Hugging Face ensembles de données.

CLI Référence

pi [options] [@files...] [messages...]

Commandes du package

pi install <source> [-l]     # Install package, -l for project-local
pi remove <source> [-l]      # Remove package
pi uninstall <source> [-l]   # Alias for remove
pi update [source|self|pi]   # Update pi only, or one package source
pi update --all              # Update pi and packages; reconcile pinned git refs
pi update --extensions       # Update packages only; reconcile pinned git refs
pi update --models           # Refresh model catalogs only
pi update --self             # Update pi only
pi update --extension <src>  # Update one package
pi list                      # List installed packages
pi config                    # Enable/disable package resources

Ces commandes gèrent les packages pi et pi update peuvent mettre à jour l'installation de pi CLI. Pour désinstaller pi lui-même, voir Quickstart. pi config et les commandes du package de projet acceptent --approve/--no-approve pour faire confiance ou ignorer les paramètres locaux du projet pour une commande. pi update ne demande jamais d'approbation du projet.

Voir Pi Packages pour les sources des packages et les notes de sécurité.

Modes

Drapeau Description
défaut Mode interactif
-p, --print Imprimer la réponse et quitter
--mode json Affichez tous les événements sous forme de lignes JSON; voir JSON mode
--mode rpc Mode RPC sur stdin/stdout; voir RPC mode
--export <in> [out] Exporter une session au format HTML

En mode impression, pi lit également le canal stdin et le fusionne dans l'invite initiale:

cat README.md | pi -p "Summarize this text"

Options de modèle

Option Description
--provider <name> Fournisseur, tel que anthropic, openai ou google
--model <pattern> Modèle ou identifiant du modèle; prend en charge provider/id et facultatif :<thinking>
--api-key <key> API key, remplacement des variables d'environnement
--thinking <level> off, minimal, low, medium, high, xhigh, max
--models <patterns> Modèles séparés par des virgules pour le cycle Ctrl+P
--list-models [search] Liste des modèles disponibles

Options de séance

Option Description
-c, --continue Continuer la session la plus récente
-r, --resume Parcourir et sélectionner une session
`--session <chemin\ identifiant>`
`--fork <chemin\ identifiant>`
--session-dir <dir> Répertoire de stockage de session personnalisé
--no-session Mode éphémère; ne sauvegarde pas
--name <name>, -n <name> Définir le nom d'affichage de la session au démarrage

Options des outils

Option Description
--tools <list>, -t <list> Liste d'autorisation d'outils intégrés, d'extension et personnalisés spécifiques
--exclude-tools <list>, -xt <list> Désactiver les outils spécifiques intégrés, d'extension et personnalisés
--no-builtin-tools, -nbt Désactivez les outils intégrés mais gardez les outils d'extension/personnalisés activés
--no-tools, -nt Désactivez tous les outils

Outils intégrés: read, bash, edit, write, grep, find, ls.

Options de ressources

Option Description
-e, --extension <source> Chargez une extension à partir du chemin, npm ou git; répétable
--no-extensions Désactiver la découverte d'extensions
--skill <path> Charger une compétence; répétable
--no-skills Désactiver la découverte de compétences
--prompt-template <path> Chargez un modèle d'invite; répétable
--no-prompt-templates Désactiver la découverte de modèles d'invite
--theme <path> Charger un thème; répétable
--no-themes Désactiver la découverte de thèmes
--no-context-files, -nc Désactivez la découverte AGENTS.md et CLAUDE.md

Combinez --no-* avec des indicateurs explicites pour charger exactement ce dont vous avez besoin, en ignorant les paramètres. Exemple:

pi --no-extensions -e ./my-extension.ts

Autres options

Option Description
--system-prompt <text> Remplacer l'invite par défaut; context files et les compétences sont toujours ajoutées
--append-system-prompt <text> Ajouter à l'invite du système
--tui-mode <mode> Mode TUI: regular (par défaut) ou expérimental fullscreen
--verbose Forcer le démarrage verbeux
-a, --approve Faire confiance aux fichiers locaux du projet pour cette exécution
-na, --no-approve Ignorer les fichiers locaux du projet pour cette exécution
-h, --help Afficher l'aide
-v, --version Afficher la version

En mode fullscreen, la transcription défile dans la fenêtre d'affichage du terminal tandis que les messages en file d'attente, l'état de fonctionnement, les widgets d'extension, l'éditeur et le pied de page restent fixes en bas. L'entrée de la souris/du trackpad fait défiler la région sous le pointeur; les actions de la fenêtre d'affichage du clavier restent toujours disponibles. Les images en ligne fonctionnent sur les terminaux prenant en charge le protocole graphique Kitty, notamment Kitty et Ghostty. Dans iTerm2, ils s'affichent sous forme d'espaces réservés de texte, car son protocole d'image en ligne ne peut pas supprimer ou recadrer les emplacements pendant le défilement appartenant à l'application. En mode regular, pi utilise l'écran principal et le défilement appartenant au terminal, et les images en ligne iTerm2 continuent de s'afficher normalement.

Définissez le mode TUI dans /settings pour basculer immédiatement entre regular et fullscreen et choisissez la valeur par défaut pour les sessions futures. Sortie de sortie plein écran contrôle si la sortie du plein écran imprime la transcription finale ou restaure l'écran précédent et imprime uniquement l'indice de reprise de session.

Arguments du fichier

Préfixez les fichiers avec @ pour les inclure dans le message:

pi @prompt.md "Answer this"
pi -p @screenshot.png "What's in this image?"
pi @code.ts @test.ts "Review these files"

Exemples

# Interactive with initial prompt
pi "List all .ts files in src/"

# Non-interactive
pi -p "Summarize this codebase"

# Non-interactive with piped stdin
cat README.md | pi -p "Summarize this text"

# Named one-shot session
pi --name "release audit" -p "Audit this repository"

# Different model
pi --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
pi --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
pi --model sonnet:high "Solve this complex problem"

# Limit model cycling
pi --models "claude-*,gpt-4o"

# Read-only mode
pi --tools read,grep,find,ls -p "Review the code"

# Disable one extension or built-in tool while keeping the rest available
pi --exclude-tools ask_question

Principes de conception

Pi garde le noyau petit et pousse le comportement spécifique au flux de travail dans les extensions, les compétences, prompt templates et les packages.

Il n'inclut intentionnellement pas le MCP intégré, les sous-agents, les fenêtres contextuelles d'autorisation, le mode plan, les tâches ou l'arrière-plan bash. Vous pouvez créer ou installer ces flux de travail sous forme d'extensions ou de packages, ou utiliser des outils externes tels que des conteneurs et tmux.

Pour la justification complète, lisez le blog post.