AI Sessions

Pesquisar e acessar suas sessões de codificação com IA do Claude Code, Gemini CLI, opencode e OpenAI Codex.

Documentação

AI Sessions MCP Server

Um servidor MCP que disponibiliza sessões do Claude Code, OpenAI Codex, Gemini CLI, opencode, Mistral Vibe e GitHub Copilot CLI para qualquer cliente compatível com MCP.

Escrito principalmente usando Claude Code.

O Que Ele Faz

Permite que agentes de IA pesquisem, listem e leiam suas sessões de codificação locais anteriores de vários agentes de codificação CLI. Útil para:

  • Encontrar soluções passadas para problemas semelhantes
  • Revisar o que você trabalhou recentemente
  • Aprender com conversas anteriores
  • Retomar trabalho interrompido

Demonstração

AI Sessions MCP demo
Retomando uma sessão do Claude Code no Codex CLI.

Instalação

Instalação Rápida

macOS (Intel e Apple Silicon), Linux (amd64 e arm64, incluindo WSL) e Windows amd64 (Git Bash):

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

Isso instala o binário em ~/.aisessions/bin. Siga as instruções para adicioná-lo ao seu PATH.

Diretório de instalação personalizado:

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

Download Manual

Baixe binários pré-compilados de GitHub Releases.

Compilar a partir do Código-Fonte

Pré-requisitos: Go 1.25.13 ou posterior

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

Configuração

Após a instalação, configure seu cliente MCP para usar o binário:

Claude Code CLI

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

Ou, se estiver usando um local de instalação personalizado:

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

Verifique a conexão com claude mcp get ai-sessions.

Codex CLI e aplicativo de desktop ChatGPT

Adicione o servidor pela CLI:

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

O Codex CLI e o aplicativo de desktop ChatGPT compartilham ~/.codex/config.toml, então o servidor fica disponível em ambos após reiniciar o aplicativo de desktop. No ChatGPT, abra Configurações → Servidores MCP para verificar o status, ou digite /mcp no composer.

Para configuração manual, use um caminho absoluto (o comando é executado diretamente, sem expansão de shell):

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

Substitua YOUR_USERNAME pelo seu nome de usuário real, ou use seu caminho de instalação personalizado.

Claude Desktop

Adicione ao arquivo de configuração aberto em Configurações → Desenvolvedor → Editar Configuração:

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

Substitua YOUR_USERNAME pelo seu nome de usuário real, ou use seu caminho de instalação personalizado.

Reinicie o Claude Desktop e abra as configurações de Desenvolvedor ou + → Conectores em uma conversa para verificar a conexão. O Claude Desktop também suporta extensões .mcpb empacotadas, mas a configuração direta continua útil para um binário baixado de forma independente.

Upload via CLI

O binário aisessions inclui uma ferramenta CLI para enviar transcrições locais de agentes compatíveis para aisessions.dev para compartilhamento.

Autenticação

aisessions login

Abre seu navegador para gerar um token CLI. O token é salvo localmente em ~/.aisessions/config.json.

Envio de Sessões

Modo interativo (sem argumento de arquivo):

aisessions upload

Exibe uma lista pesquisável de sessões recentes compatíveis com upload do Claude Code, Codex, Gemini CLI, Mistral Vibe e GitHub Copilot CLI. Use as setas do teclado para navegar e selecionar uma sessão para enviar. As sessões do opencode permanecem disponíveis pelo servidor MCP, mas são omitidas do seletor de upload porque seu armazenamento atual é um banco de dados SQLite compartilhado, em vez de um arquivo de transcrição por sessão.

Modo direto (com caminho de arquivo):

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

Opções

  • --title <title> - Define um título personalizado para a transcrição enviada
  • --url <url> - Substitui a URL da API (https://aisessions.dev ou um servidor de desenvolvimento local)

Uso via MCP

Depois de configurado como servidor MCP, você pode perguntar:

  • "Vamos continuar minha sessão mais recente do Claude Code"
  • "Mostre-me minhas sessões recentes do Codex"
  • "Pesquise em minhas sessões por bugs de autenticação"
  • "Quantas vezes o Claude me disse que eu estava absolutamente certo ontem?"

Como Funciona

O servidor lê arquivos de sessão armazenados localmente por vários agentes de codificação CLI:

  • Claude Code: ~/.claude/projects/[PROJECT_DIR]/*.jsonl
  • Gemini CLI: ~/.gemini/tmp/[PROJECT_HASH]/chats/session-*.jsonl (mais gravações legadas .json)
  • OpenAI Codex: ~/.codex/sessions/ e ~/.codex/archived_sessions/
  • opencode: ~/.local/share/opencode/opencode.db (mais a árvore JSON legada storage/)
  • Mistral Vibe: ~/.vibe/logs/session/
  • GitHub Copilot CLI: ~/.copilot/session-state/[SESSION_ID]/events.jsonl (mais arquivos JSONL planos legados)

Quando você pede ao seu agente de IA para listar ou pesquisar sessões, o servidor lê esses armazenamentos locais por meio de adaptadores específicos de fonte; ele não inicia os CLIs dos agentes.

Ferramentas Disponíveis

list_available_sources

Mostra quais adaptadores de fonte de CLI de IA estão disponíveis no servidor em execução.

list_sessions

Lista sessões recentes de todos os projetos (mais recentes primeiro).

Argumentos:

  • source (opcional): Filtrar por claude, gemini, codex, opencode, mistral ou copilot
  • project_path (opcional): Filtrar por diretório de projeto específico
  • limit (opcional): Máximo de resultados (padrão: 10)

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

search_sessions

Pesquisa o conteúdo das sessões usando classificação BM25. Retorna resultados ordenados por pontuação de relevância com trechos contextuais.

Argumentos:

  • query (obrigatório): Termo de pesquisa (suporta múltiplas palavras-chave)
  • source (opcional): Filtrar por fonte
  • project_path (opcional): Filtrar por projeto
  • limit (opcional): Máximo de resultados (padrão: 10)

Exemplo: {"query": "authentication bug"}

Retorna: Cada correspondência inclui:

  • session: Metadados da sessão (ID, fonte, projeto, timestamp)
  • score: Pontuação de relevância (maior = mais relevante)
  • snippet: Trecho contextual (~300 caracteres) mostrando onde a correspondência ocorreu

get_session

Recupera o conteúdo completo da sessão com paginação.

Argumentos:

  • session_id (obrigatório): ID da sessão dos resultados da lista
  • source (obrigatório): Qual agente de codificação a criou
  • page (opcional): Número da página (padrão: 0)
  • page_size (opcional): Mensagens por página (padrão: 20)

Desenvolvimento

Para manter a formatação consistente e detectar regressões cedo:

  • Instale pre-commit e execute pre-commit install para habilitar os hooks (gofmt, go vet, go test).
  • Pushes para main e pull requests direcionados a main executam o fluxo de trabalho do GitHub Actions (.github/workflows/build.yml), que verifica a formatação, executa go vet, compila o binário e executa go test -cover ./....

Licença

MIT