Skip to main content

Acerca de los datos de sesión de CLI de GitHub Copilot

Tus CLI de Copilot sesiones generan un historial consultable de todo en lo que has trabajado. Consultar sesiones anteriores con lenguaje natural, generar informes de seguimiento, obtener sugerencias personalizadas y reanudar el trabajo anterior.

Introducción

Cada vez que use CLI de Copilot, los datos de sesión se registran en el equipo local. Esto incluye las solicitudes, las respuestas, Copilotlas herramientas que se usaron y los detalles de los archivos que se modificaron. De forma predeterminada, los datos de sesión también se sincronizan con su GitHub cuenta. Esto le permite consultar todas las sesiones anteriores, incluidas las sesiones de CLI de Copilot, , agente en la nube de Copilotrevisión de código Copilot, VS Code, JetBrains y aplicación Copilot de GitHub.

Estos datos de sesión potencian varias características, disponibles en CLI de Copilot, VS Code, JetBrains, , aplicación Copilot de GitHuby GitHub.com:

  • Consulta del historial de sesiones: haga preguntas en lenguaje natural sobre el trabajo pasado y Copilot buscará respuestas en los datos de la sesión.
  • Reanudar sesiones: retome donde lo dejó en cualquier sesión anterior.
  • El comando de barra /chronicle: un conjunto de subcomandos diseñados específicamente para generar informes de seguimiento, consejos personalizados, análisis de costes y sugerencias para mejorar tus instrucciones personalizadas, todo ello a partir de tu historial de sesiones.

Con las consultas de ámbito de usuario, solo puede consultar sus propias sesiones; nadie más puede acceder a los datos de la sesión.

En este artículo conceptual se explica cómo se almacenan y sincronizan los datos de sesión y cómo se puede usar para mejorar el flujo de trabajo. Para obtener una guía práctica sobre cómo reanudar una sesión, preguntar a Copilot acerca de sus sesiones de CLI y usar el comando de barra oblicua /chronicle, consulte Uso de CLI de GitHub Copilot datos de sesión. Para consultar sesiones desde VS Code, consulte Gestión de sesiones del agente.

Cómo se almacenan los datos de sesión

Cada CLI de Copilot sesión se conserva como un conjunto de archivos en el directorio de la ~/.copilot/session-state/ máquina. Los datos de cada sesión contienen un registro completo de la sesión. Estos archivos le permiten reanudar una sesión interactiva de la CLI.

Además de los archivos de sesión, CLI de Copilot almacena los datos de sesión estructurados en una base de datos de SQLite local, denominada almacén de sesiones. Estos datos son un subconjunto de los datos completos almacenados en los archivos de sesión. El almacén de sesiones es lo que impulsa el comando de barra oblicua /chronicle y también permite a Copilot responder a preguntas sobre el trabajo pasado.

Sincronización de sesiones

De forma predeterminada, CLI de Copilot sincroniza los datos de sesión con su GitHub cuenta. Esto le permite consultar las sesiones anteriores desde CLI de Copilot, , VS CodeJetBrains, aplicación Copilot de GitHub, o GitHub.com, e incluye sesiones de agente en la nube de Copilot, revisión de código Copilot, VS Codey aplicación Copilot de GitHub.

Puede desactivar la sincronización de sesiones configurando "remoteExport": false en el archivo JSON de configuración de la CLI. Si opta por no participar, los datos de sesión permanecen en el equipo y solo puede consultarlos desde CLI de Copilot.

Para los usuarios de Copilot Enterprise y Copilot Business, un administrador de la organización debe establecer la directiva "Almacenar sesiones locales en la nube" como mínimo en "Ver desde la nube". Si la directiva está deshabilitada o no configurada, las sesiones solo se almacenan localmente.

Privacidad y localidad de datos

Los datos de sesión local se almacenan en ~/.copilot/session-state/ y solo son accesibles para su cuenta de usuario en ese equipo.

Los datos de sesión sincronizados se almacenan en GitHub y están vinculados a su cuenta personal. Solo es accesible para usted de forma predeterminada. Los administradores de la organización y de la empresa controlan si la sincronización está disponible a través de la directiva "Almacenar sesiones locales en la nube", pero habilitar la directiva no proporciona a los administradores acceso a los datos de sesión.

Puede elegir compartir sesiones individuales, otorgando acceso de solo lectura a otras personas con acceso al repositorio. Las sesiones compartidas no se indexan para las consultas de sesión de otros usuarios. Para obtener más información, vea Gestión de sesiones del agente.

Copilot lee los datos de sesión cuando se hacen preguntas sobre las interacciones anteriores o se usa el /chronicle comando de barra diagonal. Los datos de sesión, como las indicaciones, el contexto y las respuestas anteriores, se pueden enviar al modelo de IA, al igual que en cualquier interacción normal CLI de Copilot .

Administración de los datos de sesión

Puede administrar los datos de sesión tanto localmente como en GitHub.com.

Eliminación de sesiones con el /session comando de barra diagonal

La manera más sencilla de eliminar sesiones es usar el comando de barra diagonal en una sesión interactiva de la /session CLI.

  • /session delete elimina la sesión actual e inicia una nueva en su lugar.
  • /session delete SESSION-ID elimina una sesión específica. Esto muestra primero una vista previa; agregue --yes para confirmar, por ejemplo /session delete SESSION-ID --yes.
  • /session delete-all elimina todas las sesiones locales excepto la actual. Agregue --yes para confirmar: /session delete-all --yes. Se omiten las sesiones que están en uso por otro proceso.
  • /session prune --older-than DAYS elimina las sesiones anteriores al número de días especificado. Añada --dry-run para ver en vista previa lo que se eliminaría.

Cuando se elimina una sesión que se ha sincronizado con su cuenta, /session delete se pregunta si también desea eliminar la copia sincronizada (remota). Al eliminar la copia sincronizada, también se elimina la sesión de tus /chronicle estadísticas y de los resultados de la consulta. Los /session delete-all subcomandos y /session prune solo afectan a las sesiones locales y no eliminan los datos sincronizados. Para quitar los datos sincronizados de esas sesiones, elimínelo manualmente de GitHub.com.

Para obtener la lista completa de /session subcomandos, consulte Referencia de comandos de la CLI de GitHub Copilot.

Eliminación manual de datos de sesión

  • Datos locales: para quitar datos de una sesión de la CLI determinada localmente, elimine el directorio de sesión correspondiente de ~/.copilot/session-state/. Para borrar todos los datos de sesión local, elimine todo en ~/.copilot/session-state/. Después de hacerlo, debe volver a indexar manualmente el almacén de sesiones. Consulte Reindexación del almacén de sesiones más adelante en este artículo. La eliminación de archivos locales no afecta a los datos de sesión que se han sincronizado con su cuenta. No se pueden eliminar los datos sincronizados localmente.
  • Datos sincronizados: puede eliminar u ocultar las sesiones de la CLI sincronizadas de GitHub.com. Ocultar una sesión lo quita del índice de sesión para que ya no aparezca en los resultados de la consulta. Al eliminar una sesión, se elimina de tu lista de sesiones en GitHub.com. La eliminación afecta a las sesiones de CLI, VS Code y aplicación Copilot de GitHub.

El comando /chronicle con barra

El /chronicle comando slash proporciona subcomandos diseñados específicamente para obtener información valiosa a partir del historial de tu sesión, incluidos informes de standup, consejos personalizados, análisis de costes y sugerencias para mejorar tus instrucciones personalizadas. Para obtener la lista completa de subcomandos y ejemplos de uso, consulte Uso de CLI de GitHub Copilot datos de sesión.

Cuándo usar datos de sesión

  • Al principio del día: ejecute /chronicle standup last 3 days para generar un resumen del trabajo reciente en lugar de reconstruirlo manualmente.
  • Periódicamente, para mejorar: ejecute /chronicle tips cada semana o dos para descubrir características y mejoras en el flujo de trabajo que podría no haber notado.
  • Cuando Copilot sigue cometiendo el mismo error: ejecute /chronicle improve para identificar el patrón y generar instrucciones personalizadas que hagan que el agente sea más eficaz para el proyecto.
  • Para comprender el uso de tokens: ejecute para ver dónde /chronicle cost tips van los tokens y obtener sugerencias para reducir los costos.
  • Para buscar un tema específico: ejecute /chronicle search KEYWORD para buscar sesiones que contengan un término o tema específico. A diferencia de las preguntas abiertas, esto busca directamente palabras clave en el contenido de la sesión en lugar de interpretar tu consulta de forma semántica.
  • Para recordar el trabajo pasado: Pregunte una pregunta de forma libre como "¿He trabajado en cualquier cosa relacionada con la API de pagos?" y Copilot buscará su historial.
  • Para continuar con el trabajo anterior: use copilot --continue o copilot --resume para continuar donde lo dejó.

Volver a indexar el almacén de sesiones

El almacén de sesión se rellena incrementalmente durante una sesión CLI. Los datos de una sesión se escriben en el disco en un subdirectorio específico de la sesión de ~/.copilot/session-state/. Esto también sucede periódicamente durante una sesión y también cuando finaliza la sesión.

Puede volver a indexar el almacén de sesiones desde los archivos de sesión en el disco. La reindexación también sincroniza los datos de sesión con su cuenta.

Entre las situaciones en las que es posible que tenga que volver a indexar se incluyen las siguientes:

  • Indexación de sesiones antiguas: si tiene archivos de sesión antiguos en el disco que se crearon antes de que existiera el almacén de sesiones, la reindexación rellenará el almacén de sesiones con datos de esas sesiones.
  • Eliminación de sesión: para eliminar una sesión del historial, use los /session deletecomandos de barra diagonal , /session delete-allo /session prune . En una sesión sincronizada, /session delete también puede eliminar la copia sincronizada, lo que elimina la sesión de tu /chronicle panel de información.
  • Migración o recuperación de sesiones: si movió los archivos de sesión a otra máquina o los restauró desde una copia de seguridad, sin mover o restaurar el archivo de almacén de sesiones (~/.copilot/session-store.db), puede usar el comando reindex para volver a crear el almacén de sesiones.
  • Corrupción de archivos: si el archivo de almacén de sesión (~/.copilot/session-store.db) se corrompe o se elimina accidentalmente, puede recuperar el almacén de sesiones a partir de los archivos de sesión.
  • Terminación inesperada: si una sesión finaliza inesperadamente (por ejemplo, debido a una pérdida de energía o bloqueo) antes de que los datos mantenidos en la memoria se hayan vaciado en el almacén de sesiones, es posible que pueda rellenar el almacén de sesiones con los datos que faltan si se escribió en el disco, en los archivos de sesión, antes de la finalización.

Para volver a indexar el almacén de sesiones, use el siguiente comando de barra diagonal en una sesión interactiva de la CLI:

Copilot prompt
/chronicle reindex

Lectura adicional