Questo è un sito fan, non affiliato al progetto ufficiale OpenClaw né ad Anthropic. github.com/openclaw/openclaw
release

OpenClaw 4.15: l'aragosta cambia cervello e impara a guardare le proprie chiavi

OpenClaws.io Team

OpenClaws.io Team

@openclaws

April 16, 2026

6 min di lettura

OpenClaw 4.15: l'aragosta cambia cervello e impara a guardare le proprie chiavi

Quando si è chiuso l'ultimo ciclo di release, l'aragosta era appena uscita da un assedio di sicurezza di dieci giorni. La corazza uno strato più spessa. Le chele un po' più veloci. Ma mentre nuotava nell'acqua, ancora non si guardava molto.

Quello che fa 4.15 non è vistoso, ma la direzione è chiara: dare all'aragosta un cervello migliore, insegnarle a dare un'occhiata alle chiavi che tiene in mano, e nel frattempo spostare la memoria da un'altra parte, senza rumore.

Questa versione non uscirà nella hero di nessuno screenshot del prodotto. Ma quando avrai finito l'aggiornamento, qualche default si sarà spostato in silenzio—e se ti affidavi al vecchio comportamento in qualche angolo, è meglio saperlo prima.

Un cervello nuovo: Opus 4.7

La selezione Anthropic di default ora punta a Claude Opus 4.7. Fino a ora l'alias opus ti costringeva a fissare a mano una versione specifica nella config; ora punta direttamente all'Opus più recente. Anche il default via Claude CLI si è allineato.

Arriva insieme la comprensione delle immagini di Opus 4.7—questo pezzo prima richiedeva un plugin extra o un vision provider esterno, e stavolta è impacchettato direttamente nel core. Butti uno screenshot nella finestra di chat e l'aragosta adesso riesce a leggerlo da sola. Niente più giri.

Se avevi pinnato a mano il provider su un Opus più vecchio, questo aggiornamento non tocca la tua config—il pin esplicito rimane sopra. Ma se andavi coi default, noterai che sia la velocità della chat sia la lettura delle immagini hanno fatto un passo avanti.

Una via d'uscita per le macchine che non reggono

Insieme alla promozione di Opus 4.7 spunta un flag che punta in direzione opposta: agents.defaults.experimental.localModelLean: true.

È pensato per i modelli locali piccoli. Quando lo attivi, il prompt smette di caricare gli strumenti pesanti che soffocano i modelli più piccoli—browser, cron e compagnia—così la finestra di contesto si assottiglia di un po' e il carico di inferenza si alleggerisce. L'experimental nel nome è onesto: è ancora in lavorazione. Ma se stai facendo girare un 7B o un 13B sulla tua macchina, questo flag forse è più interessante per te della promozione di Opus.

"Al forte più forza, al debole meno carico"—è il filo meno visibile che attraversa questa release.

Per la prima volta si vedono le chiavi

È la cosa di questa versione che più merita di essere raccontata, ed è anche la più facile da lasciare passare.

Nella Control UI è comparsa una card nuova, Model Auth Status Card. Quello che fa suona ordinario: ti dice se il token OAuth di ogni provider collegato è in salute, quanto tempo manca prima che scada, e se ultimamente i rate limit lo hanno stretto.

Suona ordinario, ma questa card prima non c'era. Scoprivi che un token OAuth era scaduto nell'istante esatto in cui il provider restituiva un 401; i rate limit diventavano reali quando ti incastravi a metà esecuzione. L'aragosta stava usando queste credenziali da sempre, ma non c'era mai stato un unico posto in cui lei—o tu—potesse vedere quello stato prima che qualcosa si rompesse.

Dietro la card c'è un metodo nuovo del gateway: models.authStatus. Arriva con una cache di 60 secondi, così l'UI non sta davvero facendo polling al provider una volta al secondo. Quando più client condividono la stessa istanza di aragosta, neanche l'endpoint di introspection del provider viene martellato.

Insieme alla card arrivano un paio di fix a un livello più basso. Race condition sulle credenziali—prima di riaprire il socket, i salvataggi di auth pendenti vengono scaricati prima su disco. Così la riconnessione non si mangia più un'autenticazione che stava per completarsi. Accesso ai file del workspace—tutte le operazioni di path passano adesso dall'helper condiviso fs-safe, e i symlink che puntano a file nella allowlist vengono respinti. Niente di tutto ciò è materiale da video di demo, ma entrambi stanno sotto lo stesso tema: l'aragosta ha un'idea più chiara di cosa sta tenendo in mano.

Memory trasloca in silenzio

Questa release cambia tre cose nel layer memory. Messe insieme, sono un passo con una direzione.

Primo, gli indici memory di LanceDB ora accettano object storage remoto. Finora vivevano solo su disco locale, il che significava che cambiare macchina ti costringeva a ricostruire l'indice e che la condivisione della memoria tra dispositivi era, in pratica, fuori gioco. In questa versione, lo stesso indice LanceDB può vivere su S3 (o su uno store S3-compatibile), e il disco locale diventa solo un layer di cache. Per chi tiene l'aragosta su più macchine, o fa la spola tra un portatile e un VPS, è il passo chiave per passare da "la memoria è legata alla macchina" a "la memoria è legata all'account".

Secondo, GitHub Copilot entra nel pool degli embedding provider. La ricerca su memory ha bisogno di un modello di embedding per vettorizzare le voci, e finora sceglievi tra OpenAI, un sentence-transformers locale e una manciata di altri. Adesso c'è un'opzione in più: se hai già un abbonamento Copilot, la ricerca memory può riusare quello stesso canale di autenticazione—con un host helper dedicato che rispetta gli override remoti e il refresh del token.

Terzo—e l'unico con un taglio rompente—dreaming.storage.mode cambia il suo default da inline a separate.

Dreaming è la fase in cui l'aragosta, nel suo "tempo libero", condensa e riorganizza la memoria. I phase block che quel processo produceva, finora, finivano direttamente nel file memory del giorno. Vantaggio: tutto sulla stessa linea del tempo. Svantaggio: il file memory si ingrossava a causa del contenuto generato e i diff diventavano illeggibili.

Il nuovo default manda i phase block su un percorso a parte: memory/dreaming/{phase}/YYYY-MM-DD.md—un file per fase al giorno, lasciando nel file memory originale solo quello che hai scritto a mano. L'aggiornamento non riscrive i tuoi file memory esistenti, ma la prossima volta che dreaming partirà, l'output andrà nel posto nuovo. Se avevi degli script che leggevano contenuto di dreaming dal file memory, quegli script hanno bisogno di un path nuovo.

Se vuoi tenere il comportamento vecchio, rimetti esplicitamente questa impostazione a inline.

Arriva anche la voce di Google

Il plugin Google impacchettato si prende il supporto Gemini TTS: scelta della voce, output WAV e formato PCM pensato per la telefonia. Se stavi già usando Google Cloud per fare STT o per altre chiamate a Gemini, non ti serve più agganciare un TTS provider separato—la stessa autenticazione copre tutto.

Non è un cambiamento enorme. Ma un pezzo che prima dovevi assemblare da solo adesso arriva pronto all'uso.

Le cose che non sono finite in titolo ma su cui probabilmente ci inciampavi ogni giorno

Il resto non si prende una sezione a sé. Ma messe insieme coprono una bella fetta di attrito quotidiano:

  • I 404 della chat di Ollama sono sistemati. Se il tuo ID di modello aveva il prefisso ollama/, la versione vecchia lo rilanciava tale e quale al server di Ollama e si beccava un 404. La versione nuova toglie il prefisso prima di far partire la request.
  • Il download immagini di BlueBubbles è tornato compatibile con Node 22+—insieme, è stata rifatta anche la logica di retry del webhook e del recupero degli allegati. Se usi BlueBubbles su macOS per fare il bridge con iMessage, quando sali di Node, sali insieme a questa release.
  • Watchdog di streaming nella TUI—se in 30 secondi non arriva nessun delta di chat event, l'indicatore di streaming viene resettato. Prima, quando il provider chiudeva lo stream in silenzio, la TUI restava piantata nello stato "streaming". Ora no.
  • Invalidazione dello snapshot delle skill—cambiare la config skills.* prima lasciava le sessioni di agent già aperte a girare con la vecchia lista di skill; serviva un riavvio per vedere le nuove. Ora qualunque cambio di config invalida lo snapshot in cache.
  • Stream guard sugli strumenti sconosciuti, attivo di default—prima era una protezione opt-in: quando il modello allucina un nome di strumento che non esiste, il guard impedisce che "Tool X not found" finisca in un loop infinito. Adesso è attivo di default, senza configurare nulla.
  • Risoluzione dei path—i path ~ fuori dal workspace ora vengono risolti contro la home dell'OS, non più contro OPENCLAW_HOME. Quando queste due directory non coincidevano, lo stesso ~/foo.txt poteva puntare a posti diversi tra edit e write; il fix le rimette d'accordo.
  • Allineamento del prompt cache—nei run del task-scoped adapter, il chat ID in ingresso dentro il system prompt è adesso stabilizzato, quindi più chiamate dentro la stessa task hanno un tasso di hit più alto nel prompt cache.
  • Passthrough dei risultati MEDIA—prima, il passthrough MEDIA: che arrivava dagli strumenti locali di fiducia faceva un matching morbido con i nomi degli strumenti built-in. Adesso il matching è esatto, e gli strumenti client il cui nome normalizzato entra in collisione con un built-in vengono respinti direttamente. Le collisioni di nome non sono più una porta di servizio.
  • Recupero da replay—un 401 input item ID does not belong to this connection restituito dal provider adesso viene classificato come "replay-invalid", con l'indicazione corretta di session reset, invece di essere trattato come un 401 qualunque e ritentato a oltranza.

Default che si sono spostati

Questa release ha spostato qualche default; vale la pena metterli fianco a fianco per tenere i conti:

  • dreaming.storage.mode: inlineseparate (i phase block atterrano in memory/dreaming/{phase}/YYYY-MM-DD.md)
  • Stream guard sugli strumenti sconosciuti: attivo di default (era opt-in)
  • Provider vocali Microsoft / ElevenLabs impacchettati: attivi di default
  • Selezione Anthropic di default: punta a Opus 4.7
  • Default del Claude CLI: allineato a Opus 4.7

I primi due sono cambi di comportamento. Se ti affidavi al comportamento vecchio, sovrascrivilo esplicitamente nella config prima di aggiornare.

In una riga

Se da questo post ti porti via una cosa sola: lancia openclaw update e apri la Control UI per dare un'occhiata alla nuova Model Auth Status Card. Quella card ti racconterà una cosa che prima non sapevi—esattamente quali chiavi l'aragosta sta tenendo in mano, quale sta per scadere e quale è stata strizzata di recente dai rate limit.

Se sei un utente pesante di dreaming, o se hai mai sfogliato il testo grezzo dei phase block dentro i tuoi file memory—fai attenzione al cambio di default su dreaming.storage.mode. L'output nuovo di dreaming va nella sottocartella memory/dreaming/. La prima volta che dreaming partirà dopo l'aggiornamento, un'occhiata a quella cartella ti mostra la forma nuova.

Resta aggiornato

Ricevi news su nuove funzionalità e integrazioni. Niente spam, cancellati quando vuoi.