session-history.es.md
docs/i18n/session-history.es.md
Historial de sesiones Harness
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end --> Tesserae puede importar transcripts locales de agentes de IA y renderizarlos como memoria del proyecto bajo la sección sessions/ del sitio estático.
Esta función es intencionadamente independiente de export harness:
export harnesses contexto saliente para herramientas como Claude Code, Codex, Gemini, Cursor, Kiro y OpenCode.sessions ...es historial entrante: normaliza sesiones previas de Claude Code/Codex para el proyecto actual, las guarda bajo.tesserae/harness_sessions/, y permite queexport sitepublique páginas de índice/detalle de sesión.
Dos vías de entrada: importación por lotes y monitorización en vivo
La ingesta de sesiones ya no es solo por lotes. Hay dos rutas hacia el mismo almacén normalizado:
- Importación por lotes —
sessions discover/importescanea las raíces de transcripts bajo demanda y escribe de una sola vez. Esta página documenta ese flujo más abajo. - Monitorización en vivo — el daemon supervisor (
tesserae engine) ejecuta unSessionTailerque vigila los transcripts de Claude Code y Codex del propio proyecto e ingiere los turnos nuevos conforme aterrizan. Cada tick busca un offset de bytes por archivo persistido, lee solo los bytes nuevos, y guarda los turnos completos en laHarnessSessionsDBde SQLite (.tesserae/sqlite.db) antes de encolar una recompilación con debounce, de modo que la compilación siempre lee un estado consistente. El tailer está acotado a las sesiones propias del proyecto (Claudeprojects/<slug>/*.jsonl; Codex filtrado por cwd) y se reanuda desde los offsets guardados tras un reinicio sin re-reproducir turnos.
Ejecuta el bucle en vivo con:
tesserae engine # watch sources, coalesce bursts, auto-recompile
tesserae engine --once # single drain cycle then exit (deterministic)
tesserae refresh ejecuta el mismo pipeline ingest → compile → project una vez, en el propio proceso, sin arrancar el watcher de larga vida (pasa --no-sessions para saltarte el escaneo de descubrimiento de sesiones de harness).
Modelo de privacidad
Ambas rutas de ingesta son explícitas: el tailer en vivo solo corre mientras mantengas tesserae engine vivo, y el descubrimiento por lotes solo escribe con --import. Un tesserae compile o tesserae export site normal lee las sesiones ya normalizadas de .tesserae/harness_sessions/ y los registros en vivo de .tesserae/sqlite.db, pero no rasca por sorpresa los directorios privados de transcripts de harness por su cuenta.
Los registros de sesión importados son artefactos locales del proyecto. Revísalos antes de publicar un sitio público, especialmente si tus transcripts pueden incluir secretos, rutas privadas, datos de clientes o código no publicado.
Descubrir e importar sesiones locales
Desde la raíz del proyecto:
tesserae sessions discover --import
El descubrimiento escanea las raíces locales de transcripts de Claude Code y Codex que pertenecen al directorio de trabajo del proyecto actual. Usa --root para escanear un directorio de configuración específico, y repite --harness para limitar el descubrimiento:
tesserae sessions discover \
--root ~/.claude \
--root ~/.codex \
--harness claude-code \
--harness codex \
--import
Sin --import, el descubrimiento imprime lo que encontró sin escribir registros de sesión normalizados.
Importar JSON normalizado directamente
Si otra herramienta ya ha producido JSON HarnessSession normalizado, importa un archivo o una lista de archivos:
tesserae sessions import path/to/session.json path/to/more-sessions.json
Cada entrada puede contener un objeto de sesión o una lista de objetos de sesión.
Listar las sesiones importadas
tesserae sessions list
Las sesiones se guardan debajo:
.tesserae/harness_sessions/
manifest.json
<harness>/
<session>.json
<session>.md
Las sesiones monitorizadas en vivo se rastrean adicionalmente en la HarnessSessionsDB de SQLite (.tesserae/sqlite.db), que también persiste los offsets de lectura por archivo desde los que se reanuda el tailer. tesserae sessions list reporta la vista combinada.
Construir las páginas estáticas de sesiones
Después de importar sesiones, reconstruye el sitio:
tesserae export site
El sitio emite:
.tesserae/site/sessions/index.html
.tesserae/site/sessions/<project>/<session>.html
El sitio generado enlaza Sessions desde el rail global, las tarjetas Browse de la home, las entradas de búsqueda y el rastro de breadcrumbs de cada página de detalle de sesión.
Búsqueda rápida de transcripts (memex)
Cuando sirves el sitio con tesserae serve, el dashboard de sesiones gana una caja de búsqueda de texto completo sobre cada transcript de Claude/Codex indexado, respaldada por