Where Am I: resumo de sessão do Claude Code acima do prompt
Um resumo acima do prompt do Claude Code: objetivo, o que acontece agora, o que espera por você e o próximo passo.
Permissões
- Lê arquivosPode ler arquivos e listar diretórios na sua máquina ($.fs.read / list / stat / exists).
- Chama o modelo (usa sua cota)Pode enviar suas próprias requisições ao Claude, que contam no uso do seu plano ($.model.* / $.agent.spawn).
- Intercepta chamadas de ferramentasVê cada chamada de ferramenta que o Claude faz (tool.call / tool.check) e pode bloqueá-la ou alterá-la.
- Lê seus promptsPode ver o que você digita e a transcrição da conversa (prompt.* / session.append / session.messages).
- Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Adiciona comandos/ferramentasRegistra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
- testado com
- v2.1.303
- último teste
- requer
- Claude Code ≥ 2.1.287
- superfícies
- acima do prompt
- código-fonte
- Hamza Zafar (hamzafer) (MIT)
Instale dentro do Claude Code:
/plugin install where-am-i --marketplace hamzafer/claude-code-modsO que este mod faz?
Where Am I é um mod da comunidade de Hamza Zafar (hamzafer), parte da coleção claude-code-mods. Ele mantém um resumo de sessão do Claude Code acima do prompt para que, depois de uma resposta longa ou de uma pausa, você levante os olhos e veja onde está. A faixa mostra o objetivo da sessão, o que acontece agora, o que o Claude espera de você e o próximo passo. O autor o escreveu para quem perde o fio com facilidade, e o prompt de sistema por trás pede palavras simples.
A faixa tem até três linhas. ◆ Goal: traz o objetivo geral, que o modelo é instruído a manter, a menos que mude com clareza. A linha now: acompanha o trabalho do Claude ao vivo, com rótulos como reading src/index.js, e next: fica na mesma linha. Uma linha amarela waiting on you: aparece só quando o Claude precisa de algo de você. Cada campo é cortado em uma frase de no máximo 70 caracteres.
O resumo é escrito por uma pequena chamada ao modelo depois de cada turno. /where escreve um maior quando você pede: até seis marcadores a partir das últimas 12 mensagens da conversa. Se você usa vários mods de faixa, o Where Am I se ordena com eles por meio de um arquivo compartilhado de ordem das faixas, e os testes do autor cobrem isso.
Demonstração
A gravação inicia o Claude Code com o mod carregado no pequeno projeto de demonstração e pede ao Claude que leia README.md e diga em uma frase o que é o projeto. Enquanto o Claude trabalha, a faixa acima do prompt ainda está vazia. Quando o turno termina, aparecem a resposta do Claude e a linha done, e alguns segundos depois o resumo surge acima do prompt: uma linha Goal: sobre entender o app de demonstração, uma linha now: dizendo que leu o README e uma linha next:. Depois o clipe termina com Ctrl+C.
Instalação
Use qualquer um dos métodos do bloco de instalação; eles instalam direto do marketplace do próprio autor. A faixa aparece depois do seu primeiro turno concluído, e /where é registrado ao iniciar a sessão.
$ install where-am-i
Requer Claude Code ≥ 2.1.287
Instala a partir do marketplace do autor: hamzafer/claude-code-mods
1.Uma linha, dentro do Claude Code
/plugin install where-am-i --marketplace hamzafer/claude-code-modsCole em uma sessão em andamento (v2.1.275+). O Claude Code pede primeiro para adicionar o marketplace.
2.Pelo seu shell
claude plugin marketplace add hamzafer/claude-code-mods claude plugin install where-am-i@claude-code-modsDepois execute /reload-plugins em qualquer sessão que já esteja aberta.
3.Experimente sem instalar
git clone https://github.com/hamzafer/claude-code-mods claude --plugin-dir ./claude-code-mods/mods/where-am-iCarrega o mod só para uma sessão. Nada é adicionado às suas configurações.
Como funciona
O resumo fica em um átomo $.state mantido pelo host, então sobrevive a um hot reload. A chamada ao modelo que o escreve parte de turn.complete e não é aguardada, de modo que o turno termina na hora. De hooks/register.tsx:
on('turn.complete', async ($, e, next) => {
const r = await next(e)
if (!e.agentId) {
await update($, live, () => '')
void summarize($, prompt, log, e.answer).catch(() => {}) // in the background, so the turn ends at once
}
return r
})summarize chama $.model.complete com o modelo haiku. Envia o resumo anterior, sua última mensagem (os primeiros 1500 caracteres), os rótulos das chamadas de ferramenta deste turno e os primeiros 2500 caracteres da resposta do Claude, e pede um JSON com goal, now, waiting e next. parseRecap aceita um bloco de código em volta do JSON, apara os campos e troca travessões longos. Um hook de tool.call grava o rótulo de now e guarda os últimos 20 rótulos para o próximo resumo; ele só observa e devolve a chamada sem alterações. Turnos de subagentes são ignorados, e chamadas de outros mods são ignoradas ao verificar next.origin. A faixa é desenhada no ponto de renderização AbovePrompt e some enquanto uma pesquisa estiver aberta.
Personalize
Não há opções em /config, e /where é o único comando. Para mudar o visual ou o comportamento, edite register.tsx: MODEL escolhe o modelo do resumo, MAX_LOG define quantos rótulos de chamadas de ferramenta são guardados, clip define o limite de 70 caracteres, e os dois prompts de sistema em summarize e longRecap definem o tom. A posição da faixa entre outros mods de faixa é lida uma vez por sessão de bands.json na pasta de configuração, então reinicie o Claude Code para aplicar uma mudança.
Permissões e segurança
Antes de executar qualquer coisa, lemos todos os arquivos que o plugin pode executar: hooks/hooks.json, hooks/register.tsx, hooks/bands.ts, as declarações de tipos e os testes. Não há package.json, script de instalação, binário nem código empacotado, e não encontramos caracteres ocultos, eval nem importações dinâmicas. A licença MIT está na raiz do repositório.
- Chamadas ao modelo.
$.model.completeroda depois de cada turno do agente principal e em/where. Envia seu prompt, os rótulos das ferramentas e a resposta do Claude (ou as últimas 12 mensagens em/where) ao modelo haiku pelo Claude Code, e por isso consome o uso do seu plano ou da sua API. O próprio mod não tem código de rede e nada é enviado a outros hosts. - Ambiente e arquivos. Lê
CLAUDE_CONFIG_DIReHOMEe, se existir, um arquivo,<config dir>/claude-code-mods/bands.json, para obter a ordem das faixas. Não grava arquivos; o resumo fica em$.state. - Hooks.
prompt.submitetool.callsó observam e repassam tudo sem alterações; o validate observa que ambos não têm.catch. O mod não bloqueia nem reescreve nada. Adiciona/wheree altera a interface acima do prompt. - O que não existe. Nenhum processo, comando de shell, daemon, telemetria, segredo ou alteração de configurações, e nenhuma instrução dirigida ao modelo além dos dois prompts do resumo.
O claude plugin validate não relatou erros nem avisos, e os 7 testes do autor passaram com claude plugin test no Claude Code 2.1.303.
- Lê arquivos
- Pode ler arquivos e listar diretórios na sua máquina ($.fs.read / list / stat / exists).
- Chama o modelo (usa sua cota)
- Pode enviar suas próprias requisições ao Claude, que contam no uso do seu plano ($.model.* / $.agent.spawn).
- Intercepta chamadas de ferramentas
- Vê cada chamada de ferramenta que o Claude faz (tool.call / tool.check) e pode bloqueá-la ou alterá-la.
- Lê seus prompts
- Pode ver o que você digita e a transcrição da conversa (prompt.* / session.append / session.messages).
- Altera a interface
- Desenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Adiciona comandos/ferramentas
- Registra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
Compatibilidade e solução de problemas
Verificado com o Claude Code 2.1.303 no macOS (validate, testes e uma gravação). Se a faixa não aparecer:
- Conclua primeiro um turno; o resumo é escrito depois dele, e uma resposta do modelo que falhe ou não possa ser lida deixa a faixa vazia.
- Uma pesquisa aberta acima do campo de entrada a oculta até ser fechada.
- Se
/wherefor desconhecido, o Claude Code já tem um comando com esse nome, e o mod inicia sem ele. - Se
/wheredisser “Could not build a recap right now”, a chamada ao modelo ficou sem resposta; tente de novo.
A faixa lê o estado do next-steps, então oculta a própria parte next quando esse mod mostra sua lista.
Perguntas frequentes
- O Where Am I gasta tokens?
- Gasta, poucos. Depois de cada turno do agente principal, faz uma chamada em segundo plano ao modelo haiku pelo Claude Code para escrever o resumo, com no máximo 300 tokens de saída. Executar /where faz mais uma chamada, com no máximo 500 tokens de saída. O mod não faz requisições de rede por conta própria.
- O que há no resumo?
- Quatro campos curtos, cada um cortado em uma frase de cerca de 70 caracteres. goal é o objetivo da sessão, now o que acabou de ser feito, waiting o que o Claude precisa de você (fica oculto se vazio) e next o próximo passo.
- Como a linha “now” é atualizada enquanto o Claude trabalha?
- Um hook em cada chamada de ferramenta do Claude a substitui por um rótulo simples, como “reading src/login.js” ou “running npm test”. Chamadas que outros mods fazem em segundo plano são ignoradas, e quando o turno termina volta o resumo escrito pelo modelo.
- Por que não vejo o resumo depois do meu primeiro prompt?
- O resumo é escrito por uma chamada ao modelo em segundo plano quando o turno termina. Ele aparece alguns segundos depois da primeira resposta, e até lá a faixa fica oculta.
- O que acontece se eu usar também o mod next-steps?
- Quando o next-steps mostra sua lista de próximos prompts, o Where Am I omite a própria parte “next” para que não se repitam.
# Mods relacionados
DestaqueNext Steps
Dois ou três prompts prováveis acima da entrada depois de cada turno. Pressione 1, 2 ou 3 para criar um rascunho.
- acima do prompt
- Chama o modelo (usa sua cota)
- Lê seus prompts
- Altera a interface
testado com v2.1.291
DestaqueContext Bar
A janela de contexto do Claude Code como uma barra empilhada acima do prompt, uma cor por categoria, com tokens.
- acima do prompt
- Altera a interface
- Adiciona comandos/ferramentas
- Armazena dados
testado com v2.1.291
DestaqueMission Control
Painel ao vivo do agente principal, dos subagentes e das ferramentas do Claude Code, mais um mapa dos arquivos.
- painel
- acima do prompt
- Lê arquivos
- Grava arquivos
- Executa comandos
- Chama o modelo (usa sua cota)
- Intercepta chamadas de ferramentas
- Altera a interface
- Adiciona comandos/ferramentas
testado com v2.1.296
Mais em Timers, tarefas e standups, Comandos slash.