Pulamos o post do 3.11. Não porque não aconteceu nada — o 3.11 foi cheio de novidades — mas porque o 3.12 chegou quatro dias depois e fez mais sentido cobrir os dois juntos. Dois releases, um post.
Aqui está tudo que importa.
Control UI: Dashboard v2
A Control UI passou por uma reescrita do zero. Não foi um reskin — foi um repensar.
O dashboard antigo era uma página única que tentava fazer tudo. O novo se divide em views dedicadas: Overview, Chat, Config, Agent e Sessions. Cada uma faz uma coisa bem feita. Tem uma paleta de comandos (Cmd+K) para usuários avançados, abas inferiores para acesso pelo celular, e a view de chat agora suporta slash commands, busca de mensagens, exportação e mensagens fixadas.
Esse é o trabalho de @BunsDev no PR #41503, e é o tipo de contribuição que muda como as pessoas interagem com o OpenClaw no dia a dia. Se você gerencia sua instância pelo navegador, a experiência agora é completamente diferente.
Fast Mode: GPT-5.4 e Claude, Um Só Toggle
O fast mode costumava ser um conceito vago — alguns modelos tinham, o toggle era inconsistente, e o comportamento variava entre as interfaces.
O 3.12 unifica tudo isso. Agora tem um único toggle /fast que funciona em TUI, Control UI e ACP. Para OpenAI, ele configura as requisições para o fast tier do GPT-5.4. Para Anthropic, ele mapeia diretamente para o parâmetro service_tier da API. Os dois são verificados em tempo real — se sua conta não tem acesso ao fast tier, o sistema te avisa em vez de degradar silenciosamente.
Padrões de configuração por modelo significam que você pode definir o fast mode como padrão para modelos específicos enquanto mantém o modo padrão para outros. Overrides em nível de sessão permitem alternar no meio de uma conversa.
Um toggle, dois provedores, comportamento consistente em todo lugar. É isso.
Ollama: Cidadão de Primeira Classe (3.11)
O Ollama passou de "suportado" para "primeira classe" no 3.11.
O assistente de configuração agora tem um caminho dedicado para Ollama com dois modos: Local (tudo roda na sua máquina) e Cloud + Local (modelos cloud para tarefas pesadas, local para tarefas sensíveis à privacidade). Tem login cloud pelo navegador, sugestões de modelos curadas com base no seu hardware, e um tratamento inteligente que pula downloads locais desnecessários quando você está usando modelos cloud.
Isso importa porque modelos locais são a resposta para privacidade. Sem API keys, sem dados saindo da sua máquina, sem fatura mensal. Para usuários que querem isso, o caminho de configuração agora é tão tranquilo quanto o caminho dos provedores cloud. Obrigado @BruceMacD.
Separadamente, Ollama, vLLM e SGLang migraram para a arquitetura de provider-plugin no 3.12. Onboarding de provider, descoberta de modelos, configuração do picker e hooks pós-seleção agora são modulares. Se você está construindo integrações customizadas de provider, esse é o padrão a seguir.
Memória Multimodal: Imagens e Áudio (3.11)
O sistema de memória do OpenClaw aprendeu a ver e ouvir.
O 3.11 adiciona indexação multimodal opt-in para memorySearch.extraPaths. Aponte para uma pasta de imagens ou arquivos de áudio, e a busca de memória agora consegue surfacear esses arquivos no contexto. Por baixo dos panos, usa o modelo gemini-embedding-2-preview do Gemini com dimensões de saída configuráveis e reindexação automática quando as dimensões mudam.
Isso é protegido por opt-in explícito — sem indexação surpresa da sua biblioteca de fotos. Mas para usuários que querem que seu agente lembre de contexto visual (screenshots, diagramas, recibos), é uma adição de capacidade significativa. Obrigado @gumadeiras.
iOS e macOS: Nativo Melhorando (3.11)
Duas melhorias significativas para plataformas nativas chegaram no 3.11:
iOS Home Canvas (@ngutman): O app iOS ganhou uma tela de boas-vindas integrada com um overview de agente ao vivo que atualiza na conexão, reconexão e retorno ao primeiro plano. Controles flutuantes foram substituídos por uma toolbar fixada, o layout se adapta a telefones menores, e o chat agora abre na sessão principal resolvida em vez de uma sessão iOS sintética. Também: um fluxo de beta release no TestFlight com suporte ao Fastlane.
macOS Chat UI (@ImLukeF): O composer de chat do macOS agora tem um seletor de modelo, persiste seleções de nível de pensamento entre relançamentos e sincroniza corretamente os modelos de sessão entre provedores.
Essas não são funcionalidades de destaque, mas se somam. Cada vez que a experiência nativa fica um pouco mais suave, a diferença entre "uso o OpenClaw pelo Telegram" e "uso o OpenClaw nativamente" diminui.
Kubernetes: Um Ponto de Partida
O 3.12 adiciona um caminho de instalação inicial no Kubernetes: manifests raw, configuração Kind para testes locais e documentação de deployment. Obrigado @sallyom, @dzianisv e @egkristi.
Isso não é um Helm chart endurecido para produção — é um ponto de partida para times que querem rodar o OpenClaw no K8s. Espere que isso evolua rapidamente com base no feedback da comunidade.
Subagents: sessions_yield
Um primitivo pequeno mas importante para orquestração: sessions_yield permite que um agente orquestrador encerre o turno atual imediatamente, pule qualquer trabalho de ferramenta na fila e carregue um payload de acompanhamento oculto para o próximo turno de sessão.
Por que isso importa: em workflows multi-agente, às vezes o orquestrador precisa sair de um turno mais cedo — talvez uma tarefa de prioridade maior chegou, talvez a cadeia de ferramentas atual esteja seguindo um caminho errado. Antes disso, você tinha que esperar todo o trabalho na fila completar. Agora você pode cortar a fila. Obrigado @jriff (#36537).
Segurança: 8 Advisories
Essa é a seção que você realmente deveria ler com atenção se está rodando o OpenClaw em produção. Entre o 3.11 e o 3.12, há 8 GitHub Security Advisories:
Crítico: Validação de Origem WebSocket (3.11) **GHSA-5wcw-8jjv-m286** — A validação de origem do navegador era pulada quando os headers de proxy não estavam presentes. No modo trusted-proxy, isso abria um caminho de hijacking cross-site de WebSocket que poderia conceder acesso `operator.admin` a origens não confiáveis. Corrigido: a validação de origem agora roda em todas as conexões do navegador independentemente dos headers de proxy.
Correções de Segurança do 3.12
| Advisory | O que | Impacto |
|---|---|---|
| GHSA-99qw-6mr3-36qr | Plugins de workspace carregados automaticamente sem confiança | Repos clonados podiam executar código de plugin silenciosamente |
| GHSA-pcqg-f7rg-xfvv | Unicode invisível em prompts de aprovação de exec | Caracteres de largura zero podiam falsificar comandos revisados |
| GHSA-9r3v-37xh-2cf6 | Bypass de normalização Unicode na detecção de exec | Chars fullwidth/invisíveis evadiam verificações heurísticas |
| GHSA-f8r2-vg7x-gh8m | Sensibilidade de maiúsculas da allowlist de exec no POSIX | Padrões podiam dar match excessivo entre maiúsculas/diretórios |
| GHSA-r7vr-gr74-94p8 | Acesso de não-proprietário a /config e /debug | Não-proprietários autorizados podiam acessar superfícies exclusivas do proprietário |
| GHSA-rqpp-rjj8-7wv8 | Auto-declaração de escopo de token compartilhado | Tokens sem dispositivo podiam se auto-declarar com escopos elevados |
| GHSA-vmhq-cqm9-6p7q | Persistência de perfil do navegador via browser.request | Chamadores com escopo de escrita podiam persistir perfis de navegador exclusivos de admin |
| GHSA-2rqg-gjgv-84jm | Override de limite de workspace do agente | Chamadores externos podiam sobrescrever limites de workspace do gateway |
As correções relacionadas a Unicode (GHSA-pcqg, GHSA-9r3v) valem especialmente a pena entender. Atacantes estavam usando caracteres Unicode de largura zero e fullwidth para fazer comandos maliciosos parecerem benignos nos prompts de aprovação. A correção normaliza o Unicode e remove formatações invisíveis antes tanto da exibição quanto da detecção.
A correção de plugins de workspace (GHSA-99qw) muda um padrão: plugins em repositórios clonados não carregam mais automaticamente. Agora você precisa de uma decisão explícita de confiança. Essa é uma mudança breaking para quem dependia do carregamento implícito de plugins de workspace — e é intencional.
Conclusão: atualize para o 3.12. Essas não são vulnerabilidades teóricas.
O Resto
Tem uma longa cauda de correções nos dois releases que não cabe num post de blog, mas que importa para usuários específicos:
- •Telegram: Persistência do seletor de modelo, chunking HTML, deduplicação de entrega de preview — quatro correções separadas abordando confiabilidade de mensagens
- •Kimi Coding: Formato Anthropic nativo restaurado para chamadas de ferramentas, correção de header User-Agent para autenticação de assinatura, compatibilidade com Ollama para kimi-k2.5:cloud
- •Mattermost: Deduplicação de streaming de blocos, entrega de mídia em resposta com uploads de arquivos locais
- •BlueBubbles/iMessage: Deduplicação de eco de auto-chat sem supressão ampla de webhook
- •Windows: Caminho de atualização nativo corrigido — sem mais falhas por git ou node-llama-cpp ausentes
- •Sandbox: Operações de escrita não criam mais arquivos vazios silenciosamente
- •Discord (3.11): Duração de auto-archive configurável para threads
O que Mudou (Combinado)
| Área | 3.11 | 3.12 |
|---|---|---|
| UI | iOS Home Canvas, seletor de modelo macOS | Control UI dashboard-v2, paleta de comandos |
| Modelos | Onboarding Ollama primeira classe, provider OpenCode Go | Fast mode GPT-5.4, fast mode Claude, arquitetura provider-plugin |
| Memória | Indexação multimodal imagem/áudio com embeddings Gemini | — |
| Infra | — | Manifests Kubernetes, subagent sessions_yield |
| Segurança | Validação de origem WebSocket (crítico) | 7 advisories: plugins, Unicode, escopos, workspace |
| Plataformas | Arquivamento de thread Discord, correção de imagem Feishu | Slack Block Kit, correções Mattermost, atualização nativa Windows |
| Estabilidade | Entrega de preview Telegram (4 correções), melhorias de failover de agente | Dedup de cron, descoberta de sessão, correção de escrita no sandbox |
Dois releases. Zero enrolação. Atualize agora.