AI Sessions

Búsqueda y acceso a tus sesiones de codificación con IA desde Claude Code, Gemini CLI, opencode y OpenAI Codex.

Documentación

Servidor MCP de AI Sessions

Un servidor MCP que hace que las sesiones de Claude Code, OpenAI Codex, Gemini CLI, opencode, Mistral Vibe y GitHub Copilot CLI estén disponibles para cualquier cliente compatible con MCP.

Escrito mayormente usando Claude Code.

Qué Hace

Permite a los agentes de IA buscar, listar y leer tus sesiones de codificación locales anteriores de múltiples agentes CLI de codificación. Útil para:

  • Encontrar soluciones pasadas a problemas similares
  • Revisar en qué trabajaste recientemente
  • Aprender de conversaciones anteriores
  • Reanudar trabajo interrumpido

Demo

AI Sessions MCP demo
Reanudando una sesión de Claude Code en Codex CLI.

Instalación

Instalación Rápida

macOS (Intel y Apple Silicon), Linux (amd64 y arm64, incluyendo WSL), y Windows amd64 (Git Bash):

curl -fsSL https://aisessions.dev/install.sh | bash

Esto instala el binario en ~/.aisessions/bin. Sigue las instrucciones para agregarlo a tu PATH.

Directorio de instalación personalizado:

curl -fsSL https://aisessions.dev/install.sh | INSTALL_DIR=/custom/path bash

Descarga Manual

Descarga binarios precompilados desde GitHub Releases.

Compilar desde el Código Fuente

Requisitos previos: Go 1.25.13 o posterior

go build -o bin/aisessions ./cmd/ai-sessions

Configuración

Después de la instalación, configura tu cliente MCP para usar el binario:

Claude Code CLI

claude mcp add --scope user --transport stdio ai-sessions -- ~/.aisessions/bin/aisessions

O si usas una ubicación de instalación personalizada:

claude mcp add --scope user --transport stdio ai-sessions -- /path/to/aisessions

Verifica la conexión con claude mcp get ai-sessions.

Codex CLI y aplicación de escritorio ChatGPT

Agrega el servidor desde la CLI:

codex mcp add ai-sessions -- ~/.aisessions/bin/aisessions

Codex CLI y la aplicación de escritorio ChatGPT comparten ~/.codex/config.toml, por lo que el servidor está disponible en ambos después de reiniciar la aplicación de escritorio. En ChatGPT, abre Configuración → Servidores MCP para verificar su estado, o escribe /mcp en el compositor.

Para configuración manual, usa una ruta absoluta (el comando se ejecuta directamente, sin expansión de shell):

[mcp_servers.ai_sessions]
command = "/Users/YOUR_USERNAME/.aisessions/bin/aisessions"

Reemplaza YOUR_USERNAME con tu nombre de usuario real, o usa tu ruta de instalación personalizada.

Claude Desktop

Agrega al archivo de configuración abierto desde Configuración → Desarrollador → Editar Configuración:

{
  "mcpServers": {
    "ai-sessions": {
      "command": "/Users/YOUR_USERNAME/.aisessions/bin/aisessions"
    }
  }
}

Reemplaza YOUR_USERNAME con tu nombre de usuario real, o usa tu ruta de instalación personalizada.

Reinicia Claude Desktop, luego abre la configuración de Desarrollador o + → Conectores en una conversación para verificar la conexión. Claude Desktop también admite extensiones empaquetadas de .mcpb, pero la configuración directa sigue siendo útil para un binario descargado independiente.

Carga CLI

El binario aisessions incluye una herramienta CLI para cargar transcripciones locales compatibles de agentes a aisessions.dev para compartir.

Autenticación

aisessions login

Abre tu navegador para generar un token CLI. El token se guarda localmente en ~/.aisessions/config.json.

Carga de Sesiones

Modo interactivo (sin argumento de archivo):

aisessions upload

Muestra una lista buscable de sesiones recientes compatibles con carga desde Claude Code, Codex, Gemini CLI, Mistral Vibe y GitHub Copilot CLI. Usa las teclas de flecha para navegar y seleccionar una sesión para cargar. Las sesiones de opencode permanecen disponibles a través del servidor MCP pero se omiten del selector de carga porque su almacenamiento actual es una base de datos SQLite compartida en lugar de un archivo de transcripción por sesión.

Modo directo (con ruta de archivo):

aisessions upload /path/to/session.jsonl
aisessions upload /path/to/session.jsonl --title "Custom Title"

Opciones

  • --title <title> - Establece un título personalizado para la transcripción cargada
  • --url <url> - Anula la URL de la API (https://aisessions.dev o un servidor de desarrollo local)

Uso de MCP

Una vez configurado como servidor MCP, puedes preguntar:

  • "Continuemos mi última sesión de Claude Code"
  • "Muéstrame mis sesiones recientes de Codex"
  • "Busca en mis sesiones errores de autenticación"
  • "¿Cuántas veces me dijo Claude que estaba absolutamente en lo correcto ayer?"

Cómo Funciona

El servidor lee archivos de sesión almacenados localmente por varios agentes CLI de codificación:

  • Claude Code: ~/.claude/projects/[PROJECT_DIR]/*.jsonl
  • Gemini CLI: ~/.gemini/tmp/[PROJECT_HASH]/chats/session-*.jsonl (más grabaciones heredadas de .json)
  • OpenAI Codex: ~/.codex/sessions/ y ~/.codex/archived_sessions/
  • opencode: ~/.local/share/opencode/opencode.db (más el árbol JSON heredado de storage/)
  • Mistral Vibe: ~/.vibe/logs/session/
  • GitHub Copilot CLI: ~/.copilot/session-state/[SESSION_ID]/events.jsonl (más archivos JSONL planos heredados)

Cuando le pides a tu agente de IA listar o buscar sesiones, el servidor lee estos almacenamientos locales a través de adaptadores específicos de fuente; no ejecuta las CLI de los agentes.

Herramientas Disponibles

list_available_sources

Muestra qué adaptadores de fuente CLI de IA están disponibles desde el servidor en ejecución.

list_sessions

Lista sesiones recientes de todos los proyectos (más recientes primero).

Argumentos:

  • source (opcional): Filtrar por claude, gemini, codex, opencode, mistral o copilot
  • project_path (opcional): Filtrar por directorio de proyecto específico
  • limit (opcional): Máximo de resultados (predeterminado: 10)

Ejemplo: {"source": "claude", "limit": 20}

search_sessions

Busca contenido de sesiones usando clasificación BM25. Devuelve resultados ordenados por puntuación de relevancia con fragmentos contextuales.

Argumentos:

  • query (obligatorio): Término de búsqueda (admite múltiples palabras clave)
  • source (opcional): Filtrar por fuente
  • project_path (opcional): Filtrar por proyecto
  • limit (opcional): Máximo de resultados (predeterminado: 10)

Ejemplo: {"query": "authentication bug"}

Devuelve: Cada coincidencia incluye:

  • session: Metadatos de la sesión (ID, fuente, proyecto, marca de tiempo)
  • score: Puntuación de relevancia (mayor = más relevante)
  • snippet: Extracto contextual (~300 caracteres) que muestra dónde ocurrió la coincidencia

get_session

Recupera el contenido completo de la sesión con paginación.

Argumentos:

  • session_id (obligatorio): ID de sesión de los resultados de la lista
  • source (obligatorio): Qué agente de codificación la creó
  • page (opcional): Número de página (predeterminado: 0)
  • page_size (opcional): Mensajes por página (predeterminado: 20)

Desarrollo

Para mantener el formato consistente y detectar regresiones temprano:

  • Instala pre-commit y ejecuta pre-commit install para habilitar los hooks (gofmt, go vet, go test).
  • Los envíos a main y las solicitudes de extracción dirigidas a main ejecutan el flujo de trabajo de GitHub Actions (.github/workflows/build.yml), que verifica el formato, ejecuta go vet, compila el binario y ejecuta go test -cover ./....

Licencia

MIT