Skip to Content
BlogAtualizações07-16 Atualização do Produto

Qwen Code Semanal: /learn transforma conhecimento em Skill, Code Review ganha verificação de qualidade, Web Shell passa por grande renovação

Qwen Team
2026-07-16

Esta semana o Qwen Code lançou três versões oficiais: v0.19.9, v0.19.10 e v0.19.11, com 160+ PRs integrados.

Comando /learn disponível. Crie skills de forma ativa — forneça uma fonte de conhecimento (diretório, URL, conversa, texto) e o Qwen Code organiza tudo em um SKILL.md, pronto para reutilização.

Code Review evoluiu de “funcional” para “eficiente”. Suggestions agora são publicadas diretamente como comentários inline no PR, e o review ganhou verificadores de correção procedural, validação pré-publicação, verifier no Step 4 e reverse-audit no Step 5.

Web Shell com grande renovação. Base de componentes shadcn, painel de revisão Artifact, página de gerenciamento de extensions, Mermaid com zoom e arraste. Suporte completo a múltiplos workspaces, split pane com cores por workspace.

Voice Bridge integra entrada de voz ao ACP. Modelos principais de texto puro agora também processam prompts de voz — o áudio é transcrito para texto antes de chegar ao modelo; modelos que suportam áudio recebem o sinal original diretamente.

PDFs escaneados não travam mais o Agent. Quando a extração de texto ultrapassa o limite, as páginas são automaticamente renderizadas como imagens e enviadas ao modelo de visão.

Fluxos de CLI mais completos. /update para atualização com um clique, Ctrl+O para congelar a conversa, Ctrl+S para salvar prompts temporariamente, Explore herda o modelo principal, Alt+T para ver o raciocínio completo.

✨ Novidades

/learn: transforme conhecimento em Skill reutilizável

/learn é um novo comando slash que permite criar skills a partir de fontes de conhecimento. A fonte pode ser um diretório local, uma URL, histórico de conversa ou um texto escrito por você. O modelo principal coleta o conhecimento e o organiza automaticamente em um SKILL.md, salvo em .qwen/skills/learned-skill-<name>/, com a marcação source: learned — sem interferir com skills escritas manualmente ou geradas automaticamente.

O que você pode fazer com isso:

  • /learn Deploy process: ... transforma seu processo de deploy em uma skill, pronta para usar na próxima vez
  • Aponte para um diretório de documentação e o Qwen Code aprende as convenções do projeto, seguindo-as automaticamente no código
  • Extraia conhecimento de uma conversa e transforme em um template de instruções reutilizável

Veja o PR #6440 

Code Review ganha verificação de qualidade

O Code Review foi reforçado em múltiplas dimensões esta semana, desde comentários inline até verificação de qualidade do review.

/review agora publica descobertas do tipo Suggestion diretamente como comentários inline no PR — sem precisar copiar sugestões da saída do review e colar manualmente no PR. O review também ganhou verificadores de correção procedural e níveis de effort ajustáveis, com validação de guardrail antes de publicar cada finding para garantir que realmente procede.

Reviews de diffs grandes não são mais distribuídos de forma genérica — cada linha do diff tem um reviewer responsável, garantindo cobertura completa. O agent de chunk de review recebe o prompt completo e contextualizado, eliminando execuções com contexto vazio. Os comentários de triage de PR agora incluem pontuação de confiança, diagramas de sequência, resumos de arquivos e rodapé de review, oferecendo mais contexto ao reviewer. O timeout padrão de review automático foi ajustado para 180 minutos, com override de até 240 minutos — PRs grandes não são mais interrompidos por timeout.

O que você pode fazer com isso:

  • /review publica automaticamente comentários de sugestão inline no PR, eliminando o trabalho manual
  • Níveis de effort ajustáveis se adaptam ao tamanho do review
  • A pontuação de confiança do triage ajuda a identificar quais PRs precisam de mais atenção

A v0.19.11 adicionou verifier no Step 4 e reverse-audit no Step 5 — o fluxo de review passou de “encontrar problema → publicar comentário” para “encontrar problema → verificar que o finding procede → auditoria reversa para confirmar que nada foi esquecido”. A lista de findings foi incorporada aos prompts de verify/reverse-audit, reduzindo o volume de prompt. O escopo de build/test do Agent 7 também foi reduzido para os workspaces efetivamente envolvidos no diff, evitando builds completos em repositórios grandes.

Veja os PRs #6593 , #6711 , #6612 , #6789 , #6771 , #6840 , #6942 , #6965 , #6892 , #6955 

Web Shell UI com grande renovação

O Web Shell recebeu 15+ PRs concentrados esta semana, desde a base de componentes UI até a barra lateral, página de configurações e seletor de modelos.

A base agora usa shadcn como biblioteca de componentes UI, unificando tokens de design e normas de componentes. A barra lateral de múltiplos workspaces foi redesenhada, com layout mais claro. A página de configurações passou a usar componentes modernos, configurações de nível de usuário podem ser editadas diretamente no painel, e o gerenciamento de modelos foi integrado ao painel de configurações. O seletor de modelos foi redesenhado, com metadados mais claros e troca mais rápida. Veja os PRs #6760 , #6804 , #6817 , #6758 

Suporte completo a múltiplos workspaces. Os endpoints ACP do Daemon agora suportam escopo de workspace, workers de canal são agrupados e vinculados por workspace, split view suporta sessões entre workspaces e abas de workspace. Workspaces adicionados dinamicamente são persistidos — não é preciso reconfigurar após reiniciar o daemon. Workspaces podem ser removidos em tempo de execução, sem reiniciar o server. Veja os PRs #6621 , #6635 , #6746 , #6716 , #6745 

Novo painel de revisão Artifact à direita — arquivos editados são exibidos como cards de turno, com contagem de linhas e diff expansível por arquivo. O painel direito suporta lista de arquivos/navegação em árvore e largura ajustável por arraste. Artifact e tarefas agendadas também têm cards próprios de saída de turno, e HTML artifacts são renderizados em sandbox iframe. Veja o PR #6591 

A v0.19.11 adicionou a página de gerenciamento de extensions, permitindo visualizar e gerenciar extensions instaladas diretamente no Web Shell. Diagramas Mermaid agora suportam zoom, pan e arraste — fluxogramas e diagramas de sequência não são mais apenas estáticos. O split pane permite maximizar um painel individual, e cada pane é colorido por workspace. Os controles do Composer passaram para o formato popover, e a lista de sessões mostra as que estão aguardando ação do usuário. Veja os PRs #6815 , #6881 , #6951 , #6971 , #6877 , #6956 

Outras melhorias: tabelas Markdown com duplo clique na célula para exibir conteúdo completo em popup, facilitando a cópia; barra de ferramentas do campo de entrada exibe chip com o branch Git atual; grupos de sessão suportam códigos de cor Hex personalizados; tarefas agendadas são consolidadas de todos os workspaces em uma única visão; Composer suporta texto de placeholder personalizado; caminhos de workspace são bloqueados. Veja os PRs #6530 , #6725 , #6752 , #6759 , #6765 , #6853 

Voice Bridge: entrada de voz integrada ao ACP

Antes, ao enviar prompts de voz via ACP (Agent Communication Protocol), se o modelo principal fosse de texto puro, o áudio não podia ser processado. Agora foi adicionado o voice bridge — o áudio é primeiro transcrito para texto pelo voice model configurado e depois enviado ao modelo principal. Se o modelo principal suportar entrada de áudio nativamente, o áudio original é repassado diretamente, sem transcrição. Quando a transcrição não está disponível ou falha, o modelo principal recebe uma mensagem segura de “áudio indisponível”, sem repassar áudio bruto.

O que você pode fazer com isso:

  • Enviar comandos de voz via cliente ACP — modelos de texto puro também entendem o conteúdo da sua fala
  • Modelos principais que suportam áudio (como modelos multimodais) mantêm o áudio original direto, sem perda de informação
  • Fallback seguro quando a transcrição falha — problemas de áudio não interrompem a conversa

Veja o PR #6576 

Conversão automática de PDF para imagem: scans não travam mais o Agent

Antes, ao lidar com PDFs escaneados ou muito densos em texto, a extração que ultrapassasse o orçamento de 12.000 tokens gerava um loop de FILE_TOO_LARGE — o Agent tentava novamente com intervalos de páginas menores, mas continuava ultrapassando o limite, estourando o contexto até a sessão travar. Agora foi adicionado o fallback de renderização de página para imagem: quando a extração de texto ultrapassa o limite ou falha, as páginas são automaticamente renderizadas como JPEG via pdftoppm e enviadas ao modelo de visão. O custo de tokens por página é fixo, independente da densidade de texto. A extração de texto continua sendo o caminho padrão (permite grep e extração precisa de texto); a renderização só é acionada em caso de excesso ou falha. Para modelos principais de texto puro com modelo de visão configurado, scans anexados via @ são renderizados em poucas páginas e enviados ao vision bridge para transcrição.

O que você pode fazer com isso:

  • PDFs escaneados não geram mais FILE_TOO_LARGE — o modelo de visão lê a imagem diretamente
  • PDFs densos (acima do orçamento de tokens) são automaticamente convertidos em imagens, sem estourar o contexto
  • PDFs de texto puro continuam seguindo a extração de texto, sem perda de precisão

Veja o PR #6585 

Fluxos de CLI: atualização com um clique, conversas não se perdem mais

Antes, para atualizar o Qwen Code era preciso lembrar como instalou — se foi via npm, rodar npm install; se foi standalone, baixar o pacote novamente. Esta semana foram adicionados o comando CLI qwen update e o comando slash /update, que detectam automaticamente o tipo de instalação e executam a atualização. Instalações standalone baixam a versão mais recente diretamente do npm registry, com verificação SHA256 + validação de assinatura Ed25519 (opcional) + smoke test (o binário novo precisa passar em --version) + substituição atômica, com rollback automático em caso de falha. Instalações npm exibem o comando npm install -g correspondente. Suporte a i18n em 9 idiomas. Veja o PR #5780 

Ctrl+O agora congela a visão do transcript — ao pressionar, abre uma tela alternativa com o histórico completo da conversa, todas as saídas de ferramentas expandidas, com rolagem para cima e para baixo. Esc/q/Ctrl+C/Ctrl+O fecha e volta à tela principal. A renderização de saída de ferramentas também foi reformulada: resultados de ferramentas de leitura/busca/listagem são recolhidos em um resumo de uma linha; ferramentas de mutação permanecem expandidas. A configuração compactMode anterior é silenciosamente ignorada. Veja o PR #5666 

Ctrl+S agora salva prompts temporariamente — com conteúdo no campo de entrada, pressione Ctrl+S para salvar o prompt em um arquivo temporário no nível do projeto; ao iniciar o mesmo projeto novamente, o prompt é restaurado automaticamente. Após o envio, o arquivo temporário é excluído. Placeholders de blocos grandes colados são expandidos antes de salvar, e a restauração traz o conteúdo original. Projetos diferentes não interferem entre si. Veja o PR #6709 

Timeout de comandos shell agora é configurável. Nova configuração tools.shell.defaultTimeoutMs para ajustar o timeout padrão de comandos em primeiro plano no nível do projeto ou da sessão, sem precisar especificar individualmente a cada comando. O padrão continua 120 segundos; defina como 0 para desabilitar o timeout. Veja o PR #6628 

Explore subagent agora herda o modelo principal. O subagent Explore integrado não seleciona mais automaticamente o fastModel — passa a herdar o modelo da sessão principal. Se você usa Claude Opus como modelo principal, o Explore também usa Claude Opus, sem perda na capacidade de raciocínio. Para continuar usando o modelo rápido, configure agents.builtin.exploreModel como fast ou um ID de modelo específico. Veja o PR #6807 

Alt+T expande o raciocínio completo em streaming. Durante a saída em streaming, pressione Alt+T para expandir o bloco de thinking — agora é possível ver o raciocínio completo em tempo real, não mais a prévia fixa de 4 linhas do final. Acompanhar a cadeia de raciocínio do modelo finalmente ficou viável. Raciocínios muito longos são limitados pela altura da viewport, sem expansão infinita. Veja o PR #6678 

📊 Mais funcionalidades

FuncionalidadePRImpacto para você
Canais se recuperam automaticamente após reinício do daemon: workers DingTalk/Feishu reconectam sozinhos#6680 Canais não ficam mais desconectados após reiniciar o daemon
Tabelas Markdown preservadas no DingTalk: estrutura da tabela não é mais desfeita no envio#6673 Canal DingTalk não recebe mais linhas soltas de texto
@ ao remetente no grupo DingTalk: opção de mencionar quem enviou a mensagem no grupo#6679 Respostas no canal DingTalk podem mencionar quem perguntou
Webhook DingTalk com entrega em DM: webhook suporta envio para mensagem direta#6891 Notificações do DingTalk podem ir para uma pessoa, não só para o grupo
Gerenciamento estruturado de memória de canal#6860 Memória de conversas de canal mais estruturada
Perguntas interativas no SDK: ask_user_question devolve respostas ao modelo#6655 Integrações via SDK podem fazer fluxos de perguntas e respostas
Métodos de controle do SDK: consulta de effort, models, usage, context#6492 Integrações via SDK ganham controle mais fino sobre modelos e consumo
Ciclo de vida de tool-call ACP exposto#6819 SDK pode acompanhar as fases de preparação de chamadas de ferramenta
Observabilidade de subagentes aprimorada: comandos completos, caminho do transcript, contexto de aprovação#6580 Visibilidade maior sobre o que os subagentes estão fazendo
Linha do tempo de subagentes: exibição cronológica + timeline de agents paralelos#6772 Mais fácil acompanhar o progresso em tarefas paralelas
Metadados de origem de sessões do daemon: marcação imutável de origem#6932 Sessões do daemon podem ser rastreadas até a origem
Agregação profunda de saúde do daemon: verificação de saúde entre workspaces#6961 Monitoramento de status do daemon cobre todos os workspaces
Gerenciamento de MCP por workspace: MCP no modo serve#6954 MCP servers podem ser gerenciados por workspace em cenários multi-workspace
Exportação de sessões arquivadas: /export exporta sessões arquivadas#6911 Histórico de sessões pode ser exportado para backup
Heartbeat de comandos shell em primeiro plano#6876 Comandos longos em execução silenciosa não são mais confundidos com timeout
/goal com condições mais longas: descrições de objetivo mais extensas#6665 Objetivos complexos não precisam mais ser abreviados
xAI Grok como provider integrado: configure modelos xAI pelo assistente /auth#6805 Use Grok sem precisar escrever configuração de provider customizado
Tags de referência em tarefas agendadas: insira referências a extensions/skills/MCP no prompt#6589 Prompts de tarefas agendadas podem referenciar skills e MCP diretamente
Hook MessageDisplay: callback durante o streaming de saída#6489 Plugins podem acompanhar o conteúdo do texto durante a resposta
Mensagens de grupo do QQ Bot#6457 Suporte a mensagens de grupo em cenários de canal QQ

🔧 Correções importantes

CorreçãoPRImpacto para você
Canais não enviam mais saída intermediária de subagentes#6696 DingTalk/Feishu não recebem mais respostas pela metade
Renovação de token de mídia de entrada no DingTalk#6903 Mensagens de imagem/arquivo no DingTalk não falham mais por token expirado
requireMention do WeCom não desabilita mais chats de grupo#6948 Funcionalidade de chat em grupo do WeCom restaurada
Validação de credenciais do Feishu#6780 Credenciais inválidas não falham mais silenciosamente
Botão Approve nos detalhes de /mcp#6518 MCP servers pendentes/rejeitados podem ser aprovados diretamente
Query de URL MCP preservada#6587 Conexões MCP remotas não falham mais por truncamento no final da URL
Recuperação automática de OAuth 401 MCP#6732 OAuth expirado é renovado automaticamente, sem reconexão manual
Handshake HTTP OAuth MCP preserva challenge#7022 Conexões MCP OAuth não falham mais por perda do challenge
Autoaprovação de MCP somente leitura exige trust#6924 MCP servers não confiáveis não são mais aprovados automaticamente em silêncio
Posição de cursor =0 no VS Code não é mais sobrescrita#2971 Cursor no início da linha não pula mais para o final
Processo ACP do VS Code em modo Electron Node#6866 Processo ACP na extensão VS Code não falha mais por versão do Node
Altura adaptativa do composer no Web Shell#6872 Prompts longos não são mais cortados por altura fixa
Estado de agrupamento de sessões do Web Shell persistido#6878 Grupos de sessão não se expandem ao refrescar a página
Modo YOLO não é mais desabilitado silenciosamente pelo plan mode#6630 Entrar no plan mode não desativa mais o YOLO sem avisar
Labels de modo de aprovação localizados na UI#6592 Shift+Tab para trocar de modo não exibe mais labels em inglês
Timeout de shell classificado como erro de ferramenta#6864 Timeout de shell não é mais tratado como erro do modelo
Instruções do usuário ACP têm prioridade#6607 No modo Agent, suas instruções não ficam mais atrás do conteúdo de anexos
Correção de placeholders em templates de subagentes#6672 Padrões numéricos como ${0} não são mais interpretados incorretamente
Limite de tokens do Claude Opus 4.6-4.8#6718 Compaction não é mais acionada cedo demais
Assinatura de thinking via proxy Claude#6893 Usar Claude via proxy não gera mais erros por thinking sem assinatura
Memória gerenciada preservada durante compressão#6714 Microcompaction não perde mais entradas de memória
Resultados de skill participam da microcompaction#6788 Resultados de execução de skill não se perdem mais na compressão
Recuperação de stream de modelo inválido#6712 Stream inválido do modelo não causa mais travamento
Rollback automático em falha de continuação por max-token#6921 Falha de continuação não deixa mais o estado pela metade
Cache de trusted-folders não é mais poluído#6900 Verificações de confiança de prévia não afetam mais julgamentos subsequentes
Otimização de performance de inicialização: tree-sitter com lazy loading#6747 Inicialização mais rápida
Redução de processos de snapshot Git#6784 Melhor performance durante a sessão
Proteção contra OOM em sessões longas#6682 Sessões longas não travam mais com OOM ao sair
Recuperação de sessão unificada#6731 Recuperação de interrupções/suspensões/degradações mais confiável

👥 Contribuidores

ContribuidorContribuiçõesPRs de referência
@wenshao Grande atualização do Code Review (comentários inline, verifier/reverse-audit, pontuação de triage), melhorias no Web Shell (split view, zoom no Mermaid, cores por workspace, prévia visual)#6593 , #6942 , #6965 , #6971 , #6881 
@doudouOUC Cadeia completa de multi-workspace (endpoints ACP, agrupamento de workers de canal, persistência de workspace), conversão automática de PDF para imagem, lista de sessões, transcript reader#6621 , #6635 , #6585 , #6716 , #6741 
@yiliang114 Correção de loop em subagentes, correção de auto-kill no shell, várias melhorias de CI, limite de tokens Claude, preservação de memória gerenciada, tolerância a falhas de stream#6543 , #6544 , #6682 , #6714 , #6718 
@qqqys Melhorias gerais em canais (recuperação do daemon, correção de stream DingTalk, preservação de tabelas markdown, diagnóstico de payload de canal), correção de ciclo de vida de goals#6680 , #6715 , #6673 , #6617 , #6620 
@chinesepowered Correção de cursor no VS Code, otimização do mobile-mcp, normalização de coordenadas no cua-driver, correção de cache LRU, detecção de idioma em dotfiles#2971 , #6624 , #6785 , #6787 
@ytahdn Várias melhorias no Web Shell (shadcn, barra lateral, página de configurações, página de extensions, bloqueio de caminho de workspace, split view)#6760 , #6804 , #6815 , #6853 , #6956 
@dreamWB Web Shell (barra de status inferior, rodapé de turno do assistente, mention de contexto, barra lateral configurável, seletor de modelos, cores de grupo de sessão)#6613 , #6611 , #6578 , #6750 , #6758 
@callmeYe Alinhamento de conversas de memória, detalhes de erros de tarefas de memória do daemon, refresh de remember, caminho de instalação de skills, API de skills por workspace#6434 , #6431 , #6497 , #6811 , #6816 
@chiga0 Ctrl+O para congelar visão do transcript, expansão de pensamento inline no VP mode, persistência de artifact de sessão#5666 , #6079 , #6557 
@jifeng Melhorias de legibilidade em tabelas Markdown, duplo clique na célula para ver conteúdo completo#6626 , #6530 , #6838 
@TianYuan1024 Perguntas interativas no SDK, observabilidade de subagentes aprimorada, provider xAI Grok#6655 , #6580 , #6805 
@tanzhenxin Suporte a NO_PROXY em requisições de modelo, clamp de max_tokens ao context window, Explore subagent herdando modelo principal#6640 , #6556 , #6807 
@LaZzyMan Comando /learn, correção de normalização de coordenadas no mobile-mcp, botão Approve em /mcp#6440 , #6610 , #6518 
@Nas01010101 Timeout padrão de comandos shell configurável, correção de cron step, documentação de tools.disabled, correção de YOLO no plan mode#6628 , #6627 , #6641 , #6630 
@zjunothing Timeout configurável em agent de memória, retry de timeout no vision bridge, correção de imagem da área de transferência na versão desktop#6459 , #6541 , #6708 
@huww98 Alt+T expande raciocínio completo em streaming#6678 
@yuanyuanAli Web Shell AskUserQuestion recolher/expandir, slots do composer de boas-vindas mobile#6588 , #6584 
@Alex-ai-future Prioridade na correspondência de nomes de comandos CLI, melhoria em respostas de erro no plan mode#6504 , #6667 , #6764 
@Eric-GoodBoy-Tech Mensagens de grupo do QQ Bot#6457 
@DragonnZhang Documentação de configuração de model-provider, condições mais longas em /goal, truncamento de release notes no CI desktop#6552 , #6665 , #6792 
@dexhunter Caminho rápido para tokens ASCII puro, otimização de inicialização com lazy loading do tree-sitter#6551 , #6747 
@han-dreamer Localização da UI de modo de aprovação, chip de branch Git, refresh de remember na memória#6592 , #6725 , #6497 
@samuelhsin Cor Hex personalizada em grupos de sessão#6752 
@water-in-stone Solução unificada de recuperação de sessão#6731 
@BZ-D Tags de referência em prompts de tarefas agendadas#6589 
@VectorPeak Preservação de query em URL MCP, correção de readTextFile no ACP#6587 , #6704 
@BenGuanRan Validação de credenciais do Feishu, entrega de webhook DingTalk em DM, correção de requireMention no WeCom#6780 , #6891 , #6948 
🆕 @liziwl 🎉 Primeira contribuição: comandos qwen update e /update para atualização com um clique#5780 
🆕 @C0d3N1nja97342 🎉 Primeira contribuição: correção de limpeza de tempDir de extensions no Windows#6545 
🆕 @cxruan 🎉 Primeira contribuição: z-index configurável para backdrop de dialog no Web Shell#6572 
🆕 @harbin1053020115 🎉 Primeira contribuição: infraestrutura de harness do Web Shell#6517 
🆕 @juhuan 🎉 Primeira contribuição: métodos de controle e opções de transport no SDK#6492 , #6491 
🆕 @ksws00684315 🎉 Primeira contribuição: correção de placeholders em templates de subagentes#6672 
🆕 @kaymeer 🎉 Primeira contribuição: correção de prioridade de instruções do usuário no ACP#6607 
🆕 @destire-mio 🎉 Primeira contribuição: Ctrl+S para salvar prompts temporariamente no nível do projeto#6709 
🆕 @yanchenko 🎉 Primeira contribuição: hook de streaming MessageDisplay#6489 
🆕 @ever-o 🎉 Primeira contribuição: renderização de tags de citação em mensagens de usuário no Web Shell#6537 
🆕 @ran411285752 🎉 Primeira contribuição: exposição do ciclo de vida de tool-call no ACP#6819 
🆕 @morluto 🎉 Primeira contribuição: preservação de exibição de resultados de ferramenta malformados, validação de configuração de sessão, rollback de continuação#6925 , #6920 , #6921 
🆕 @AriaZhao-coder 🎉 Primeira contribuição: cache de trusted-folders não é mais poluído por verificações de prévia#6900 
🆕 @xurik 🎉 Primeira contribuição: marcação de origem de sessões de canal do daemon#6991 

Como atualizar: Execute npm i @qwen-code/qwen-code@latest -g para atualizar para a versão mais recente. Ou use o comando /update diretamente no Qwen Code para atualização com um clique.

Se tiver dúvidas ou sugestões, fique à vontade para abrir uma issue em GitHub Issues !

Last updated on