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.
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ção | Descriçã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. |
--root | Somente opencode: resolve uma sessão-filha de subagente até seu ancestral de nível superior. Rejeitado para qualquer outro editor. |
Subcomandos
Seção intitulada “Subcomandos”archgate session-context list
Seção intitulada “archgate session-context list”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.
archgate session-context listarchgate session-context show
Seção intitulada “archgate session-context show”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.
archgate session-context show <session-id>Detecção do editor
Seção intitulada “Detecção do editor”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": []}| Campo | Significado |
|---|---|
detection.editor | Editor cujas sessões foram lidas |
detection.via | Variável de ambiente que identificou o editor, ou --editor quando você informou um |
detection.session | pinned (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.candidates | Todo editor cujo marcador estava presente, em ordem de precedência |
sessionId / sessionFile | Identifica a sessão que foi lida; qual dos dois aparece depende do editor |
totalEntries | Entradas na sessão armazenada |
relevantEntries | Entradas conversacionais restantes após pular eventos de bookkeeping e turnos sem texto |
transcript | As ú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.
Comportamento específico de cada editor
Seção intitulada “Comportamento específico de cada editor”- 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_DIRePI_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
liste 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 comshow, e--rootresolve 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.
Exemplos
Seção intitulada “Exemplos”Ler a sessão atual, seja qual for o editor em execução:
archgate session-contextListar as sessões do editor detectado:
archgate session-context listLer a sessão atual de outro editor:
archgate session-context --editor opencodeLer uma sessão anterior específica:
archgate session-context show 6ee6f0a5-1b2c-4d5e-8f90-a1b2c3d4e5f6Resolver uma sessão-filha de subagente do opencode até seu ancestral de nível superior:
archgate session-context show ses_child123 --editor opencode --root