Pular para o conteúdo

archgate session-context

Lê transcrições de sessão de editores de IA para o projeto. Útil para auditar o que um agente de IA fez durante uma sessão de codificação.

Terminal window
archgate session-context [subcommand] [options]

Lê a conversa atual — por padrão, a do editor que executa o comando, que o Archgate detecta a partir do ambiente. Dois subcomandos cobrem o restante: list para descobrir sessões anteriores e show <session-id> para ler uma sessão específica.

OpçãoDescrição
--editor <name>Editor a ler: antigravity, claude-code, codex, copilot, cursor, opencode ou pi. Por padrão, o editor detectado.
--max-entries <n>Número máximo de entradas a retornar (padrão: 200)
--rootSomente opencode: resolve uma sessão-filha de subagente até seu ancestral de nível superior

Todo editor compatível define variáveis de ambiente nos comandos que executa, e o Archgate as lê para descobrir qual editor está perguntando. Passe --editor para sobrepor o resultado ou para ler as transcrições de outro editor.

EditorDetectado porFixa a sessão exata via
AntigravityANTIGRAVITY_AGENTANTIGRAVITY_CONVERSATION_ID, ou conversationId dentro de ANTIGRAVITY_SOURCE_METADATA
Claude CodeCLAUDECODECLAUDE_CODE_SESSION_ID
CodexCODEX_THREAD_IDCODEX_THREAD_ID
Copilot CLICOPILOT_CLICOPILOT_AGENT_SESSION_ID
CursorCURSOR_AGENTCURSOR_CONVERSATION_ID
opencodeOPENCODE, OPENCODE_CLIENT(nenhuma — recorre à recência)
PiPI_CODING_AGENTPI_SESSION_ID

Editores que publicam o próprio identificador de sessão obtêm a conversa exata, em vez da mais recente. Isso importa quando um projeto tem várias sessões abertas ao mesmo tempo, situação em que a mais recente pode não ser a conversa da qual você participa. Um identificador publicado que não corresponde a nenhuma sessão do projeto é ignorado e a recência prevalece, de modo que um identificador obsoleto nunca transforma um comando funcional em erro.

Um identificador de sessão só fixa o editor que o publicou. Passar --editor cursor de dentro do Claude Code lê as transcrições do Cursor por recência e ignora CLAUDE_CODE_SESSION_ID.

Todo comando informa o que resolveu em um objeto detection:

{
"detection": {
"editor": "claude-code",
"via": "CLAUDECODE",
"session": "pinned",
"candidates": ["claude-code"]
},
"sessionFile": "6ee6f0a5-1b2c-4d5e-8f90-a1b2c3d4e5f6.jsonl",
"totalEntries": 182,
"relevantEntries": 125,
"transcript": []
}

via é a variável de ambiente que identificou o editor, ou --editor quando você informou um. session é pinned quando o identificador de sessão do próprio editor foi usado, recent quando a sessão mais recente foi tomada e explicit quando um identificador de sessão foi passado na linha de comando. candidates lista todos os editores cujo marcador estava presente — mais de um aparece quando um agente executa dentro de outro agente. Nesse caso o vencedor vem de uma ordem fixa — Antigravity, Claude Code, Codex, Copilot, Cursor, Pi e então opencode — que coloca os editores que publicam um identificador de sessão à frente daquele que não publica. Essa ordem vale quaisquer que sejam os identificadores: um identificador vazio ou inutilizável muda qual sessão é selecionada, nunca qual editor.

A detecção falha quando o Archgate executa a partir de um shell comum, e não dentro de um editor de IA. O comando então encerra com código 1 e solicita --editor.

Lista as sessões disponíveis do projeto como JSON (id, updatedAt e title para editores que armazenam um), da mais recente para a mais antiga. Aceita --editor.

Terminal window
archgate session-context list

Lê uma sessão específica por ID (obtido em list). Um ID explícito sempre prevalece sobre o publicado pelo ambiente. Aceita --editor, --max-entries e --root.

Terminal window
archgate session-context show <session-id>
  • Antigravity — tanto o CLI agy quanto o aplicativo desktop gravam as conversas como JSONL em brain/<id>/.system_generated/logs/, em ~/.gemini/antigravity-cli/ e ~/.gemini/antigravity/ respectivamente; ambos são lidos. O CLI registra o workspace no banco da própria conversa; o aplicativo, em um índice de resumos compartilhado. Uma conversa em que o chamador está executando é lida mesmo antes de esse índice ser atualizado, pois o ambiente a identifica.
  • Claude Code — uma transcrição JSONL por sessão, indexada pelo caminho codificado do projeto. Os IDs de sessão são os nomes dos arquivos de transcrição.
  • Codex — arquivos de rollout em pastas por data (sessions/YYYY/MM/DD/), compartilhados pelo Codex CLI e pelo aplicativo desktop. As sessões são correspondidas pelo cwd registrado na linha session_meta de cada rollout, e o ID de sessão é o ID da thread. O CLI e o aplicativo desktop registram os turnos em formatos de evento diferentes, e ambos são lidos. Rollouts com mais de uma semana são comprimidos com zstd no lugar; ambas as formas são lidas. Respeita CODEX_HOME.
  • Copilot CLI — as sessões são correspondidas pelo campo cwd do workspace.
  • Cursor — as sessões são correspondidas pelo caminho codificado do projeto; os IDs são UUIDs.
  • Pi — as sessões ficam em um diretório que codifica o diretório de trabalho, e o cwd do cabeçalho de cada arquivo também é verificado, de modo que um diretório de sessões realocado ainda é resolvido. Respeita PI_CODING_AGENT_DIR e PI_CODING_AGENT_SESSION_DIR. O Pi ramifica uma sessão no próprio arquivo em vez de criar um novo, então apenas o ramo ativo é lido — um turno bifurcado ou desfeito fica de fora. O Pi publica o ID de sessão apenas para comandos executados pelo seu agente, então um comando digitado manualmente é detectado, mas selecionado por recência.
  • opencode — as sessões são correspondidas comparando o campo directory da sessão com a raiz do projeto. Execuções de subagentes são registradas como sessões-filhas que compartilham o diretório do pai; elas ficam fora de list e da seleção por recência, de modo que a sessão de nível superior mais recente é sempre a sessão principal de desenvolvimento. Ainda podem ser lidas por ID com show, e --root resolve uma sessão-filha até seu ancestral de nível superior — útil quando um subagente conhece o próprio ID de sessão e precisa da conversa à qual ele pertence.

Ler a sessão atual, seja qual for o editor em execução:

Terminal window
archgate session-context

Listar as sessões do editor detectado:

Terminal window
archgate session-context list

Ler a sessão atual de outro editor:

Terminal window
archgate session-context --editor opencode

Ler uma sessão anterior específica:

Terminal window
archgate session-context show 6ee6f0a5-1b2c-4d5e-8f90-a1b2c3d4e5f6

Resolver uma sessão-filha de subagente do opencode até seu ancestral de nível superior:

Terminal window
archgate session-context show ses_child123 --editor opencode --root