Gestión de Sesiones
El Claude Code SDK proporciona capacidades de gestión de sesiones para manejar el estado de conversación, persistencia y reanudación. Esta guía cubre cómo se crean, gestionan, persisten en archivos y reanudan las sesiones dentro del SDK.Arquitectura de Sesiones
El Claude Code SDK implementa un sistema de gestión de sesiones basado en archivos que maneja la persistencia de conversaciones y la restauración de estado.Estructura de Archivos de Sesión
Las sesiones se persisten en el sistema de archivos local en un formato estructurado:Formato de Metadatos de Sesión
El archivosessions.json
almacena metadatos sobre todas las sesiones:
Formato de Transcripción de Sesión
Las transcripciones de sesión se almacenan como archivos JSONL (JSON Lines), con cada línea representando un mensaje o evento:- Mensajes de usuario: Entrada del usuario
- Mensajes del asistente: Respuestas de Claude
- Puntos de control: Estados guardados en la conversación (ej., después de completar una tarea)
- Uso de herramientas: Registros de cuándo se invocaron herramientas y sus resultados
Ciclo de Vida de la Sesión
Creación e Inicialización
Cuando una sesión comienza, el SDK realiza varios pasos de inicialización:- Generar ID de Sesión: Crea un identificador único para la sesión
- Crear Directorio de Proyecto: Configura la ubicación de almacenamiento específica del proyecto
- Inicializar Archivo de Transcripción: Crea un archivo JSONL vacío para la conversación
- Almacenar Metadatos Iniciales: Registra el tiempo de creación de la sesión y configuración
Obtener el ID de Sesión
El ID de sesión se proporciona en el mensaje inicial del sistema cuando inicias una conversación. Puedes capturarlo para uso posterior:Persistencia de Estado de Sesión
El SDK persiste automáticamente el estado de la sesión en disco:- Después de cada intercambio de mensajes: La transcripción se actualiza
- En invocaciones de herramientas: Se registran el uso de herramientas y resultados
- En puntos de control: Se marcan estados importantes de la conversación
- Al final de la sesión: Se guarda el estado final