Présentation
Chaque fois que vous utilisez Copilot pour CLI, vos données de session sont enregistrées sur votre ordinateur local. Cela inclut vos prompts, les réponses de Copilot, les outils qui ont été utilisés, et les détails des fichiers modifiés. Par défaut, les données de session sont également synchronisées avec votre GitHub compte. Cela vous permet d’interroger toutes vos sessions passées, y compris les sessions à partir de Copilot pour CLI, Agent cloud Copilotrévision du code Copilot, , VS CodeJetBrains et le GitHub application Copilot.
Ces données de session alimentent plusieurs fonctionnalités, disponibles à partir de Copilot pour CLI, VS CodeJetBrains, le GitHub application Copilotet GitHub.com:
- Interrogation de votre historique de session : posez des questions en langage naturel sur votre travail passé et Copilot recherchez les réponses à vos données de session.
- Reprendre les sessions : reprenez là où vous vous étiez arrêté dans n’importe quelle session précédente.
- La commande
/chronicleslash : un ensemble de sous-commandes spécialement conçues pour générer des comptes rendus de standup, des conseils personnalisés, une analyse des coûts et des suggestions pour améliorer vos instructions personnalisées, le tout à partir de votre historique de session.
Avec les requêtes délimitées par l’utilisateur, vous ne pouvez interroger que vos propres sessions , personne d’autre ne peut accéder à vos données de session.
Cet article conceptuel explique comment les données de session sont stockées et synchronisées, et comment vous pouvez l’utiliser pour améliorer votre flux de travail. Pour un guide pratique sur la reprise d'une session, demander à Copilot au sujet de vos sessions CLI, et utiliser la commande slash /chronicle, consultez Utilisation des CLI GitHub Copilot données de session. Pour interroger des sessions à partir de VS Code, consultez Gestion des sessions des agents.
Stockage des données de session
Chaque Copilot pour CLI session est conservée sous la forme d’un ensemble de fichiers dans le ~/.copilot/session-state/ répertoire sur votre ordinateur. Les données de chaque session contiennent un enregistrement complet de la session. Ces fichiers vous permettent de reprendre une session CLI interactive.
Outre les fichiers de session, Copilot pour CLI stocke les données de session structurées dans une base de données SQLite locale, appelée magasin de sessions. Ces données sont un sous-ensemble des données complètes stockées dans les fichiers de session. Le stockage de session est ce qui alimente la /chronicle commande slash et permet également à Copilot de répondre aux questions que vous posez sur vos travaux antérieurs.
Synchronisation de session
Par défaut, Copilot pour CLI synchronise vos données de session avec votre GitHub compte. Cela vous permet de consulter l’historique de vos sessions depuis Copilot pour CLI, VS Code, JetBrains, le GitHub application Copilot ou GitHub.com, et inclut des sessions provenant de Agent cloud Copilot, révision du code Copilot, VS Code et du GitHub application Copilot.
Vous pouvez désactiver la synchronisation de session en définissant "remoteExport": false dans vos paramètres CLI JSON. Si vous refusez, les données de session restent sur votre ordinateur et vous ne pouvez les interroger que depuis Copilot pour CLI.
Pour les utilisateurs de Copilot Entreprise et de Copilot Business, un administrateur de l’organisation doit définir la stratégie « Stocker les sessions locales dans le Cloud » sur au moins « Afficher depuis le Cloud ». Si la stratégie est désactivée ou non configurée, les sessions sont stockées localement uniquement.
Confidentialité et localité des données
Les données de session locale sont stockées ~/.copilot/session-state/ et sont accessibles uniquement à votre compte d’utilisateur sur cet ordinateur.
Les données de session synchronisées sont stockées GitHub et sont liées à votre compte personnel. Il est accessible uniquement à vous par défaut. Les administrateurs d’organisation et d’entreprise contrôlent si la synchronisation est disponible via la stratégie « Stocker des sessions locales dans le cloud », mais l’activation de la stratégie ne donne pas aux administrateurs l’accès à vos données de session.
Vous pouvez choisir de partager des sessions individuelles, ce qui donne un accès en mode uniquement aux autres utilisateurs qui ont accès au référentiel. Les sessions partagées ne sont pas indexées pour les requêtes de session d’autres utilisateurs. Pour plus d’informations, consultez « Gestion des sessions des agents ».
Copilot lit les données de session lorsque vous posez des questions sur les interactions passées ou utilisez la /chronicle commande de barre oblique. Les données de session telles que vos invites précédentes, le contexte et les réponses peuvent être envoyées au modèle IA, comme dans toute interaction normale Copilot pour CLI .
Gestion de vos données de session
Vous pouvez gérer vos données de session localement et sur GitHub.com.
Suppression des sessions avec la commande /session slash
La façon la plus simple de supprimer des sessions consiste à utiliser la /session commande barre oblique dans une session CLI interactive.
/session deletesupprime la session active et démarre une nouvelle session à sa place./session delete SESSION-IDsupprime une session spécifique. Cela montre d’abord un aperçu ; ajouter--yespour confirmer, par exemple/session delete SESSION-ID --yes./session delete-allsupprime toutes vos sessions locales à l’exception de la session actuelle. Ajouter--yespour confirmer :/session delete-all --yes. Les sessions utilisées par un autre processus sont ignorées./session prune --older-than DAYSsupprime les sessions antérieures au nombre de jours spécifié. Ajoutez-y--dry-runpour afficher un aperçu de ce qui serait supprimé.
Lorsque vous supprimez une session qui a été synchronisée avec votre compte, /session delete indiquez si vous souhaitez également supprimer la copie synchronisée (distante). La suppression de la copie synchronisée supprime également la session de vos /chronicle analyses et résultats de requête.
/session delete-all Les /session prune sous-commandes affectent uniquement les sessions locales et ne suppriment pas les données synchronisées. Pour supprimer des données synchronisées pour ces sessions, supprimez-les manuellement de GitHub.com.
Pour obtenir la liste complète des /session sous-commandes, consultez Référence de commande CLI pour GitHub Copilot.
Suppression manuelle des données de session
- Données locales : pour supprimer les données d’une session CLI particulière localement, supprimez le répertoire de session approprié de
~/.copilot/session-state/. Pour effacer toutes les données de session locale, supprimez tout sous~/.copilot/session-state/. Une fois cela fait, vous devez réindexer manuellement le magasin de sessions. Consultez Réindexation du stockage des sessions plus loin dans cet article. La suppression de fichiers locaux n’affecte pas les données de session qui ont été synchronisées avec votre compte. Vous ne pouvez pas supprimer les données synchronisées localement. - Données synchronisées : vous pouvez supprimer ou masquer des sessions CLI synchronisées à partir de GitHub.com. Le masquage d’une session le supprime de votre index de session afin qu’elle ne s’affiche plus dans les résultats de la requête. La suppression d’une session la supprime de votre liste de sessions sur GitHub.com. La suppression s’applique aux sessions CLI, VS Code et GitHub application Copilot.
La commande /chronicle slash
La /chronicle commande slash propose des sous-commandes conçues pour produire des informations clés à partir de l’historique de votre session, notamment des comptes rendus de stand-up, des conseils personnalisés, une analyse des coûts et des suggestions pour améliorer vos instructions personnalisées. Pour obtenir la liste complète des sous-commandes et des exemples d’utilisation, consultez Utilisation des CLI GitHub Copilot données de session.
Quand utiliser des données de session
- Au début de votre journée : Exécutez
/chronicle standup last 3 dayspour générer un résumé du travail récent au lieu de le reconstruire manuellement. - Régulièrement, pour monter en puissance : Exécutez
/chronicle tipschaque semaine ou deux pour découvrir les fonctionnalités et les améliorations de flux de travail que vous manquez peut-être. - Quand Copilot fait toujours la même erreur: exécutez
/chronicle improvepour identifier le schéma et générer des instructions personnalisées afin de rendre l’agent plus efficace pour votre projet. - Pour comprendre l’utilisation de vos jetons : exécutez
/chronicle cost tipspour voir où vont les jetons et obtenir des suggestions pour réduire les coûts. - Pour rechercher une rubrique spécifique : Exécutez
/chronicle search KEYWORDpour rechercher des sessions contenant un terme ou une rubrique spécifique. Contrairement aux questions de forme libre, cette opération recherche directement le contenu de session pour les mots clés plutôt que d’interpréter la sémantique de votre requête. - Pour rappeler le travail passé : Posez une question de forme libre comme « Ai-je travaillé sur quelque chose lié à l’API de paiement ? » et Copilot effectuera une recherche dans votre historique.
- Pour reprendre le travail précédent : utilisez
copilot --continueoucopilot --resumepour continuer là où vous vous êtes arrêté.
Réindexation de l'espace de stockage des sessions
Le magasin de sessions est rempli de manière incrémentielle pendant une session CLI. Les données d’une session sont écrites sur le disque dans un sous-répertoire spécifique à la session de ~/.copilot/session-state/. Cela se produit également régulièrement pendant une session, ainsi que lorsque la session se termine.
Vous pouvez réindexer le magasin de sessions à partir des fichiers de session sur le disque. La réindexation synchronise également vos données de session avec votre compte.
Les situations où vous devrez peut-être réindexer sont les suivantes :
- Indexation d’anciennes sessions : si vous avez d’anciens fichiers de session sur le disque créés avant l’existence du magasin de sessions, la réindexation remplit le magasin de sessions avec les données de ces sessions.
- Suppression de session : Pour supprimer une session de votre historique, utilisez les commandes slash
/session delete,/session delete-allou/session prune. Pour une session synchronisée, vous pouvez également/session deletesupprimer la copie synchronisée, ce qui supprime la session de vos/chronicleanalyses. - Migration/récupération de sessions : si vous avez déplacé vos fichiers de session vers un autre ordinateur ou restaurés à partir d’une sauvegarde, sans déplacer/restaurer le fichier de magasin de sessions (
~/.copilot/session-store.db), vous pouvez utiliser la commande de réindexation pour recréer le magasin de sessions. - Altération des fichiers : si le fichier de magasin de sessions (
~/.copilot/session-store.db) devient endommagé ou est supprimé accidentellement, vous pouvez récupérer le magasin de sessions à partir des fichiers de session. - Arrêt inattendu : si une session se termine de manière inattendue (par exemple, en raison d’un blocage ou d’une perte d’alimentation) avant que les données conservées en mémoire aient été vidées dans le magasin de sessions, vous pouvez peut-être remplir le magasin de sessions avec les données manquantes si elles ont été écrites sur le disque, dans les fichiers de session, avant l’arrêt.
Pour réindexer la boutique de sessions, utilisez la commande slash suivante dans une session CLI interactive :
/chronicle reindex
/chronicle reindex