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.

Janela do terminal
archgate session-context [subcommand] [options]

Sem subcomando, lê a conversa atual 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. Toda forma imprime JSON no stdout, e apenas sessões pertencentes ao projeto atual são consideradas.

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 da transcrição a retornar, as mais recentes primeiro (padrão: 200). Deve ser um número inteiro positivo.
--rootSomente opencode: resolve uma sessão-filha de subagente até seu ancestral de nível superior. Rejeitado para qualquer outro 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.

Janela do terminal
archgate session-context list

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

Janela do terminal
archgate session-context show <session-id>

Todo editor compatível marca os processos que gera, e o Archgate lê essas marcas para descobrir qual editor está perguntando. Passe --editor para sobrepor o resultado, ou para ler as transcrições de outro editor.

Alguns editores também publicam o ID da conversa que estão executando no momento. Quando isso acontece, o Archgate lê essa 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 ID publicado que não corresponde a nenhuma sessão do projeto é ignorado e a recência prevalece, de modo que um ID obsoleto nunca transforma um comando funcional em erro.

Um ID publicado só se aplica ao editor que o publicou. Passar --editor cursor de dentro do Claude Code lê as transcrições do Cursor por recência.

Quando marcas de mais de um editor estão presentes — um agente executando dentro de outro agente — o vencedor é decidido por uma ordem fixa: antigravity, claude-code, codex, copilot, cursor, pi, depois opencode. Toda correspondência ainda é relatada na saída. Essa ordem vale quaisquer que sejam os IDs de sessão publicados: um ID 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.

Toda invocação relata o que resolveu em um objeto detection, ao lado do payload da sessão:

{
"detection": {
"editor": "claude-code",
"via": "CLAUDECODE",
"session": "pinned",
"candidates": ["claude-code"]
},
"sessionFile": "6ee6f0a5-1b2c-4d5e-8f90-a1b2c3d4e5f6.jsonl",
"totalEntries": 182,
"relevantEntries": 125,
"transcript": []
}
CampoSignificado
detection.editorEditor cujas sessões foram lidas
detection.viaVariável de ambiente que identificou o editor, ou --editor quando você informou um
detection.sessionpinned (o ID de sessão do próprio editor foi usado), recent (a sessão mais recente foi tomada) ou explicit (um ID foi passado para show). Não é relatado por list, que não seleciona uma única sessão.
detection.candidatesTodo editor cujo marcador estava presente, em ordem de precedência
sessionId / sessionFileIdentifica a sessão que foi lida; qual dos dois aparece depende do editor
totalEntriesEntradas na sessão armazenada
relevantEntriesEntradas conversacionais restantes após pular eventos de bookkeeping e turnos sem texto
transcriptAs últimas --max-entries dessas entradas, cada uma com role e contentPreview

list substitui o payload da sessão por um array sessions. Quando nenhuma sessão pode ser lida, o motivo é escrito em stderr e o comando encerra com código 1.

  • Antigravity e Codex distribuem, cada um, um CLI e um aplicativo desktop, e conversas de ambas as distribuições são lidas.
  • Codex respeita CODEX_HOME.
  • Pi respeita PI_CODING_AGENT_DIR e PI_CODING_AGENT_SESSION_DIR. O Pi ramifica uma sessão no próprio lugar, em vez de iniciar uma nova, 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 que você digita manualmente ainda é detectado como Pi, mas selecionado por recência.
  • opencode registra execuções de subagentes como sessões-filhas da conversa que as iniciou. Sessões-filhas 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:

Janela do terminal
archgate session-context

Listar as sessões do editor detectado:

Janela do terminal
archgate session-context list

Ler a sessão atual de outro editor:

Janela do terminal
archgate session-context --editor opencode

Ler uma sessão anterior específica:

Janela do terminal
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:

Janela do terminal
archgate session-context show ses_child123 --editor opencode --root