Tutorial de recursos do Cursor versão 3.11: chat na lateral sem interromper a janela principal, e Cmd+K para voltar às conversas anteriores

這篇 mostra você a colocar em prática os três novos recursos do Cursor 3.11 de uma vez só: usar o chat lateral para fazer perguntas sem interromper o Agent principal, usar Cmd+K para vasculhar milhares de conversas antigas no seu computador e, por fim, usar Hooks para interferir e monitorar os sub Agents em pontos-chave. Há um exemplo completo e executável de hooks.json e também um exemplo de armadilha que acontece em Agent em nuvem.
(Antecedentes: a SpaceXAI, do Musk, lançou oficialmente o modelo mais forte “Grok 4.5”! Em parceria com o Cursor, investe pesado em agentes de codificação com IA, com integração perfeita ao Office )
(Complemento de contexto: Cursor Mobile foi lançado: um app exclusivo para você comandar a escrita de código com IA pelo celular e supervisionar a produção )

Sumário

Toggle

  • Este plano do artigo
  • Chat lateral para o Agent principal não parar, abrir outra conversa herdando o context
  • Usar Cmd+K para pesquisar milhares de conversas antigas no seu computador, Cmd+F para localizar esta conversa atual
    • Pesquisar todas as conversas antigas, no Agents Window usar Cmd+K
    • Pesquisar a conversa atual, usar Cmd+F
  • Hooks de Agent em nuvem para você intervir em pontos-chave, monitorar e controlar sub Agents
    • Como escrever e onde colocar hooks.json
    • Para bloquear uma ação específica, só dois pontos reconhecem
    • Armadilhas do Agent em nuvem
  • Como conectar os três recursos
  • Apêndice: recursos adicionais
  • Perguntas frequentes

O Agent principal está rodando uma grande reestruturação e, de repente, você quer confirmar se uma função em outro lugar já foi chamada. Antes, só dava para parar, mudar de tarefa ou interromper o que estava em execução. Os três recursos que o Cursor 3.11 (lançado em 10 de julho de 2026) adicionou—chat lateral, busca de conversas e Hooks de Agent em nuvem—acabam resolvendo exatamente essa questão de “não querer interromper a linha principal”.

Este artigo assume que você já está usando os Agents do Cursor e vai te ensinar a colocar os três recursos novos em prática de uma vez só, com um exemplo de hooks.json e uma armadilha que você vai querer evitar no Agent em nuvem.

Este plano do artigo

  • Chat lateral: o Agent principal não para; abre uma conversa que herda o context e permite perguntas
  • Busca de conversas: Cmd+K para vasculhar milhares de conversas antigas no seu computador, Cmd+F para verificar esta conversa
  • Hooks de Agent em nuvem: interferir em pontos como enviar prompt, responder e iniciar sub Agent
  • Como conectar os três recursos; e as armadilhas dos Hooks em nuvem

Chat lateral para o Agent principal não parar: abre outra conversa herdando o context

O chat lateral (side chat) resolve um cenário bem específico: quando o Agent principal está rodando uma tarefa longa e você quer abrir um desvio para perguntar algo, mas sem interrompê-lo.

Há três maneiras de abrir um chat lateral; escolha a que for mais conveniente:

  1. Enviar comando: digite /side ou /btw na caixa de chat
  2. Clicar no botão: aperte o botão + no topo do painel de chat

O chat lateral que você abre herda diretamente o context da conversa principal (contexto), então você não precisa colar o background de novo; ele já sabe no que vocês estavam mexendo.

A coisa mais fácil de confundir aqui é que, por padrão, o chat lateral faz só três coisas: leitura, busca e resposta. Ele não mexe no seu code. A proposta dele é permitir que você faça follow-ups, pesquise, explore outra rota ou faça um sanity-check (verificação rápida) de uma decisão antes de colocar a mão na massa. O Agent principal continua rodando sem ser afetado. Se você quer que ele realmente altere algo, precisa deixar isso explícito na conversa.

Cada chat lateral é um diálogo completo e mantido por tempo longo como um Agent, não é “perguntou e descartou”. Você pode voltar depois e continuar perguntando. Quando encontrar conclusões úteis, use @ para trazer essa conversa lateral de volta para a conversa principal; o context volta a conectar na linha principal.

Pela minha experiência, o melhor uso do chat lateral não é perguntar “o que é isso”, e sim “o Agent principal vai tentar mudar assim, mas eu desconfio que pode afetar X; você pode confirmar se X já é dependido por outro lugar”. A linha principal continua avançando enquanto você verifica ao lado, e as duas linhas não se travam.

Use Cmd+K para vasculhar milhares de conversas antigas no seu computador; use Cmd+F para encontrar esta conversa

Antes, para achar “como aquela conversa do Agent da semana passada resolveu aquele bug”, basicamente só dava para confiar no nome da conversa ou número do PR e ir tentando aos poucos, o que é bem doloroso. O 3.11 colocou a busca dentro do produto, com dois níveis.

Pesquisar todas as conversas antigas no Agents Window usando Cmd+K

No Agents Window (janela de diálogo do Agent), aperte Cmd+K para chamar a palette de comandos e buscar diretamente no conteúdo das conversas do Agent (transcript), e não apenas no nome e no número do PR. O Cursor cria um índice de busca local, então mesmo que você acumule algumas milhares de conversas, a busca continua rápida.

Como o índice é construído no seu computador, o conteúdo não é subido na nuvem só para ser pesquisado. Isso traz mais tranquilidade para quem se importa com privacidade.

Pesquisar só esta conversa atual, usando Cmd+F

Se você quer apenas localizar um trecho dentro daquela conversa longa que está aberta agora, basta usar Cmd+F. Ele mostra um match counter (contagem de ocorrências), permite pular entre os trechos que batem e, mesmo rolando um transcript longo para baixo, você consegue continuar buscando.

Aqui tem um ponto de atenção: após a atualização, o índice demora um pouco para ficar pronto. Se você perceber que as conversas antigas não aparecem de imediato, ou que o chat history parece vazio, espere o índice terminar e revise—normalmente não é perda de dados.

Hooks de Agent em nuvem para você interferir em pontos-chave: monitorar e controlar sub Agents

Hooks (ganchos) são a atualização mais relevante para desenvolvedores nesta versão. Eles permitem que você conecte seus próprios scripts aos pontos-chave dentro de uma conversa do Agent; quando o Agent chega naquele ponto, ele dispara automaticamente seu script.

Os novos pontos adicionados no 3.11 cobrem alguns momentos-chave de um ciclo de conversa do Agent:

  • beforeSubmitPrompt:você envia o prompt, mas o pedido ainda não foi encaminhado ao backend
  • afterAgentResponse:depois que o Agent termina de enviar uma resposta
  • afterAgentThought:depois que uma parte do thinking termina
  • subagentStart:antes de criar um sub Agent (ferramenta Task)
  • subagentStop:quando o sub Agent termina de rodar
  • stop:quando o ciclo inteiro do Agent termina e a tarefa é interrompida

Com esses pontos, você consegue fazer três coisas: monitorar o processo inteiro, controlar o sub Agent antes e depois de ele iniciar e montar um loop de auto-correção (self-correcting). Por exemplo: o Agent termina uma resposta e aí roda um teste automaticamente; se falhar, joga o erro de volta para ele se corrigir.

Como escrever hooks.json e onde colocar

A configuração fica em hooks.json, com version fixo como 1. Você pode colocar em três lugares; desde que o arquivo exista, ele será executado:

  • Nível do projeto: /.cursor/hooks.json
  • Global do usuário: ~/.cursor/hooks.json
  • Nível da empresa: /etc/cursor/hooks.json

Um exemplo mínimo e que roda, fazendo duas coisas: sempre que o Agent alterar um arquivo, executar um script de auditoria; e quando a tarefa parar, registrar um log:

{
  "version": 1,
  "hooks": {
    "afterFileEdit": [
      { "command": "./hooks/audit.sh" }
    ],
    "stop": [
      { "command": "./hooks/on-stop.sh" }
    ]
  }
}

Os paths dentro de command são relativos ao local onde o hooks.json está. Seus scripts recebem um JSON via stdin (entrada padrão): ele inclui campos básicos como conversation_id, generation_id, model e hook_event_name, além de outros campos ligados ao ponto. Por exemplo: beforeSubmitPrompt vai trazer o prompt; afterAgentResponse vai trazer o texto da resposta.

Um script que não faz nada além de confirmar que recebeu os dados fica assim:

#!/bin/bash
cat > /dev/null   # Lê stdin
exit 0            # Reporta sucesso

Para bloquear uma ação: só dois pontos reconhecem

Aqui tem uma armadilha bem fácil: nem todo hook consegue interceptar ações. Só antes de executar shell (beforeShellExecution) e antes de chamar ferramentas MCP (beforeMCPExecution) olham o JSON retornado no stdout (saída padrão) para decidir se deixam passar:

{
  "continue": true,
  "permission": "allow",
  "userMessage": "Mensagem exibida para você",
  "agentMessage": "Mensagem exibida para a IA"
}

Em permission, se você colocar allow, a ação passa; se colocar deny, ela bloqueia; e se colocar ask, ele pergunta para você. Outros pontos, como afterAgentResponse, mesmo que você devolva permission, não vão ligar—eles só conseguem observar, registrar e disparar outras ações; não conseguem bloquear.

Armadilhas do Agent em nuvem

Se você usar Hooks com Agent em nuvem (cloud agent), existe um ponto que simplesmente perde efeito: beforeSubmitPrompt. O motivo é bem prático: esse hook fica preso ao ciclo de vida da session quando ela começa, mas a máquina virtual (VM) do Agent em nuvem só é criada depois que a session inicia. Naquele instante inicial, a máquina ainda nem existe, então não tem nada para executar seu hook.

Pela minha experiência, se for usar em nuvem, escolha pontos que ficam amarrados antes/depois de “executar ferramenta”, como beforeShellExecution, afterFileEdit, subagentStart, subagentStop, stop—esses tendem a ser mais estáveis. Já os hooks ligados ao começo da session, não conte com eles.

Conectando os três recursos

Os três recursos ficam claros quando falamos separados, mas você precisa testar por conta própria para sentir como eles se conectam. Um cenário real:

O Agent principal está fazendo uma reestruturação que envolve vários arquivos. Você abre um chat lateral (/side) para checar “em quantos lugares essa interface precisa ser alterada”; a linha principal segue trabalhando sem parar. Quando você termina e vê que existe risco, use @ para levar a conclusão do chat lateral de volta para a conversa principal, e peça ao Agent principal para tratar aqueles pontos juntos. Ao mesmo tempo, no seu hooks.json você tem um stop node: ao terminar a reestruturação, ele roda testes automaticamente. Depois, você usa Cmd+F para voltar na conversa longa e encontrar quais funções o Agent disse que ele mexeu.

No fim de uma rodada, você não foi interrompido, e tudo que você queria fazer foi feito.

Apêndice: recursos adicionais

  • Changelog oficial do Cursor:cada versão traz uma descrição completa das atualizações; a parte do chat lateral e da busca de conversas do 3.11 está lá
  • Documentação oficial do Cursor Hooks:referência completa dos nodes de hook, campos stdin/stdout e do formato de configuração
  • Documentação do Cursor Subagents:quando usar junto com subagentStart/subagentStop, você pode começar por este artigo

Perguntas frequentes

Q1. O chat lateral vai mexer no meu code?
A:não. Por padrão, ele faz só três coisas: leitura, busca e resposta. O objetivo é ajudar você a confirmar e fazer follow-up. Para ele alterar coisas de verdade, precisa ficar explícito na conversa.

Q2. Se eu desligar o chat lateral, ele some?
A:não. Cada chat lateral fica guardado como um diálogo completo e de longa duração; você pode voltar depois, continuar perguntando e também pode usar @ para levá-lo de volta para a conversa principal.

Q3. A busca de conversas do Cmd+K busca na nuvem ou no computador local?
A:no computador local. O Cursor cria um índice de busca no seu computador, então o conteúdo não precisa ser enviado para cima só para ser pesquisado; ele aguenta até várias milhares de conversas com desempenho rápido.

Q4. Depois de atualizar, não consigo buscar conversas antigas ou o chat history aparece vazio?
A:na maioria das vezes, é porque o índice local ainda está sendo construído. Espere ele terminar de rodar e veja de novo; normalmente não é perda de dados.

Q5. Quais diferenças existem entre Hooks no Agent em nuvem e no local?
A:a maior diferença é que beforeSubmitPrompt não funciona na nuvem, porque no começo da session a VM ainda não foi criada. Amarrar hooks em nós antes/depois de executar ferramentas, como beforeShellExecution, afterFileEdit e subagentStart, tende a ser mais estável na nuvem.

Q6. Onde devo colocar o hooks.json para funcionar?
A:em três locais: .cursor/hooks.json do projeto; ~/.cursor/hooks.json global do usuário; e /etc/cursor/hooks.json corporativo. Se o arquivo existir em qualquer um desses lugares, será executado.

Q7. Eu quero que o hook bloqueie diretamente um comando perigoso—dá para fazer?
A:dá, mas só dois nós reconhecem: beforeShellExecution e beforeMCPExecution. Eles aceitam o permission que você devolve via stdout; com deny, bloqueia. Nos outros nós, só dá para observar e disparar ações; não consegue bloquear.

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
Adicionar um comentário
Adicionar um comentário
Sem comentários
  • Fixado