release stability auth qwen browser

OpenClaw 3.23: Convalescenza post-operatoria — Qwen DashScope, revisione delle credenziali auth e oltre 40 correzioni di stabilità

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 23, 2026

10 min di lettura

OpenClaw 3.23: Convalescenza post-operatoria — Qwen DashScope, revisione delle credenziali auth e oltre 40 correzioni di stabilità

3.22 ha strappato la vecchia architettura e ricostruito le fondamenta. Dodici breaking change. Un nuovo registro di plugin. Trenta patch di sicurezza. È stato il rilascio più grande nella storia di OpenClaw.

Ha anche rotto delle cose.

3.23 è il rilascio che si assicura che il paziente sopravviva all'operazione. Tre breaking change — tutte orientate al futuro. Oltre quaranta correzioni — la maggior parte per ripulire ciò che 3.22 aveva esposto. Un giorno tra i rilasci, perché alcune cose non potevano aspettare.

Breaking Changes

Solo tre questa volta, e nessuna rimuove qualcosa che stai usando.

Qwen ottiene endpoint DashScope standard

Il provider Qwen ora include endpoint DashScope standard (pay-as-you-go) per chiavi API cinesi e globali, insieme agli endpoint Coding Plan esistenti. Il gruppo provider viene rinominato in Qwen (Alibaba Cloud Model Studio).

L'integrazione Qwen precedente supportava solo chiavi Coding Plan. Se sei in Cina o usi una chiave DashScope globale con fatturazione standard, i modelli Qwen ora funzionano direttamente senza configurazioni di workaround.

Riorganizzazione Control UI

Le primitive dei pulsanti sono consolidate (btn--icon, btn--ghost, btn--xs). Il tema Knot passa a una palette nero e rosso con contrasto WCAG 2.1 AA. Le sezioni di configurazione ricevono icone dedicate. Lo slider di arrotondamento è sostituito con stop discreti. L'accessibilità migliora con aria-labels sui filtri di utilizzo.

Hashing CSP degli script

I blocchi <script> inline nell'index.html servito ora ottengono hash SHA-256 nella direttiva CSP script-src. Gli script inline restano bloccati per default — solo il codice bootstrap esplicitamente hashato è consentito. Se stavi iniettando script inline personalizzati nella Control UI, ora verranno bloccati a meno che non siano hashati.

Revisione del sistema di credenziali auth

Otto correzioni nel sistema auth e credenziali. L'area più danneggiata dopo 3.22.

La correzione principale: le scritture in tempo reale dell'auth-profile del gateway riportavano le credenziali appena salvate ai vecchi valori in memoria. Incollavi un nuovo token OpenAI, lo salvavi, e lo vedevi tornare al token scaduto. Corretto.

Preservazione scope operator: il percorso bypass auth del dispositivo eliminava silenziosamente gli scope operator. I token in cache con scope insufficienti vengono ora ignorati.

Auth canali CLI: le configurazioni a canale singolo selezionano automaticamente l'unico canale capace di login. I Channel ID sono rafforzati contro abusi di catena di prototipi e caratteri di controllo.

Autenticazione ClawHub macOS (tre correzioni correlate): il token di login ClawHub ora viene letto dal percorso macOS Application Support, con XDG config come fallback.

Supporto proxy OAuth: il dispatcher proxy HTTP/HTTPS configurato da env viene ora inizializzato prima delle richieste di scambio token e preflight.

Autorizzazione slash command: l'autorizzazione non crasha più né scarta allowlist valide quando la risoluzione allowFrom del canale incontra account SecretRef non risolti.

Stabilità del browser: non affrettare l'handshake

Connessione macOS Chrome: nell'aggancio a una sessione Chrome esistente via MCP, l'handshake iniziale veniva trattato come "pronto" prima che le schede fossero effettivamente utilizzabili. La correzione aspetta che le schede siano pienamente utilizzabili dopo l'aggancio.

CDP Linux headless: su configurazioni headless Linux più lente, un breve fallimento di raggiungibilità iniziale innescava immediatamente un rilancio completo del browser. La correzione riutilizza il browser loopback già in esecuzione.

Entrambi i bug condividono lo stesso schema: il sistema era troppo impaziente nel giudicare le transizioni di stato.

Ecosistema plugin: pulizia post-ClawHub

  • Sidecar runtime in bundle tornati: file di ingresso runtime dei plugin mancavano dal pacchetto npm. Corretto.
  • Compatibilità installazione ClawHub: la compatibilità API dei plugin viene ora risolta contro la versione runtime attiva.
  • La disinstallazione accetta spec ClawHub: openclaw plugins uninstall clawhub:<package> funziona di nuovo.
  • LanceDB si inizializza al primo uso: il plugin memory-lancedb ora inizializza LanceDB automaticamente.
  • La config obsoleta non è più fatale: gli ID sconosciuti in plugins.allow sono trattati come avvisi.
  • Pulizia Doctor: openclaw doctor --fix rimuove riferimenti residui dopo la rimozione dei plugin.
  • Correzioni runtime Matrix e LINE: le esportazioni duplicate di runtime-api sotto Jiti non causano più crash.

Affidabilità degli agent

Sei correzioni per un comportamento degli agent più prevedibile:

  • Provider web_search: i turni degli agent ora usano il provider web_search del runtime attivo invece di una selezione obsoleta o predefinita. Se hai configurato un provider di ricerca specifico, ora viene effettivamente utilizzato.
  • Classificazione failover: i payload generici api_error sono ritentabili solo quando includono segnali di guasto transitorio. I guasti backend in stile MiniMax attivano ancora il fallback del modello, ma gli errori di fatturazione, auth e formato non lo fanno più.
  • Precisione timeout dei subagent: le attese dei worker scaduti vengono ricontrollate contro l'ultimo snapshot runtime prima di inviare eventi di completamento, così i worker che hanno terminato rapidamente non vengono più falsamente segnalati come scaduti.
  • Blocchi thinking Anthropic: l'ordine dei blocchi assistant thinking e redacted-thinking viene preservato durante la sanitizzazione delle immagini di trascrizione, impedendo ai turni successivi di violare la validazione unmodified-thinking di Anthropic.
  • Recupero replay: il contenuto di trascrizione assistant malformato viene canonicalizzato prima della sanitizzazione della cronologia della sessione, così turni legacy o corrotti non causano più il crash dei percorsi di Pi replay e recupero dei subagent.
  • Iniezione config skill: la config e l'env degli skill incorporati usano lo snapshot runtime attivo risolto, così i SecretRef di skills.entries.<skill>.apiKey vengono risolti correttamente durante l'avvio incorporato.

Rafforzamento del gateway

Quattro correzioni per l'affidabilità del gateway:

  • Precisione probe: gli handshake gateway riusciti non vengono più segnalati come "irraggiungibili" mentre gli RPC di dettaglio post-connessione sono ancora in caricamento. I dispositivi lenti segnalano un errore RPC raggiungibile invece di un falso negativo di gateway morto.
  • Stabilità supervision: i conflitti di lock sotto launchd e systemd non causano più crash-loop. Il processo duplicato rimane in attesa di retry invece di uscire con errore mentre il gateway sano detiene ancora il lock.
  • Applicazione auth: le route canvas ora richiedono autenticazione. Il reset della sessione agent richiede scope admin. L'accesso anonimo a canvas e le richieste di reset non-admin ricevono fail closed.
  • Prezzi OpenRouter: il refresh prezzi openrouter/auto non ricorre più infinitamente durante il bootstrap, così le route auto possono nuovamente popolare i prezzi in cache e usage.cost.

Correzioni canali

Telegram riceve tre correzioni: il contesto threading dei DM topics viene compilato correttamente quando mancano i metadati del thread principale. L'ordine di debounce dei messaggi in entrata nella stessa chat viene preservato senza bloccare i followup di sessioni busy obsolete. asDocument viene aggiunto come alias utente di forceDocument per l'invio di immagini e GIF.

Discord: i slash command nativi privilegiati ora restituiscono una risposta esplicita di non autorizzato invece di cadere nel completamento generico fuorviante di Discord quando i gate auth rifiutano il mittente.

Voce Plivo: le chiavi di replay vengono stabilizzate così i retry dei webhook e la protezione replay non collidono con le consegne follow-up valide.

I cataloghi canali esterni possono ora sovrascrivere i metadati fallback inclusi e rispettare le spec npm sovrascritte durante la configurazione del canale, così i cataloghi personalizzati non ricadono più sui pacchetti in bundle quando un channel ID corrisponde.

Tutto il resto

  • Mistral: i default max-token in bundle vengono ridotti a budget di output sicuri. openclaw doctor --fix ripara le vecchie config persistite che portano ancora limiti di output di dimensione contesto, evitando rifiuti 422 deterministici.
  • CLI cron: openclaw cron add|edit --at ... --tz <iana> ora rispetta correttamente l'ora locale richiesta per datetime one-shot senza offset, inclusi i confini DST.
  • Avvisi config: l'avviso confuso "OpenClaw più recente" viene soppresso quando una config scritta da un rilascio di correzione same-base (come 2026.3.23-2) viene letta da 2026.3.23.
  • Exec trust: i binari wrapper shell-multiplexer vengono preservati per i controlli di policy senza rompere la ricostruzione dei comandi approvati, mantenendo coerenti allowlist e flussi di audit di BusyBox/ToyBox.
  • Sicurezza/exec approvals: il matching allowlist shell-wrapper rifiuta token $0/$n tra apici singoli, vieta exec separati da newline, e continua ad accettare forme exec -- carrier.
  • Diagnostica cache: i campi credenziali vengono rimossi dall'output JSONL cache-trace preservando i campi diagnostici non sensibili e i metadati di redazione immagini.
  • Docs Feishu: gli esempi config canale ora usano name invece di botName per corrispondere allo schema account rigoroso.
  • Packaging rilascio: plugin in bundle e asset Control UI vengono mantenuti nelle installazioni npm pubblicate, con controlli di rilascio che falliscono quando gli artefatti inclusi sono mancanti.

Contributori

Sedici contributori hanno portato correzioni in 3.23. Riconoscimento speciale a @vincentkoc con quattordici correzioni che coprono browser, gateway, agent, plugin, sicurezza e infrastruttura di rilascio.

Grazie a @BunsDev (4 correzioni), @scoootscooob, @openperf, @futhgar, @07akioni, @Drickon, @osolmaz, @bakhtiersizhaev, @Lukavyi, @ayushozha, @RolfHegr, @drobison00, @haroldfabla2-hue, @jzakirov e @sallyom.

Note di aggiornamento

  • Utenti Qwen: controllate la configurazione del provider.
  • Utenti Mistral: eseguite openclaw doctor --fix per riparare le vecchie config.
  • Utenti CSS personalizzato: la palette del tema Knot e i nomi delle classi dei pulsanti sono cambiati.
  • Iniettori di script Control UI: gli script inline ora richiedono hash SHA-256 CSP.

---

3.22 ha aperto il petto e sostituito il motore. 3.23 si è assicurato che ogni sutura tenga.

Oltre quaranta correzioni, otto patch auth, due regressioni browser risolte, e un ecosistema plugin che finalmente funziona pulito dopo la migrazione ClawHub. Non è lavoro glamour. Ma è il rilascio che trasforma l'ambizione architetturale di 3.22 in qualcosa che puoi effettivamente far girare in produzione senza aprire bug report.

L'aragosta si sta riprendendo bene. Le suture tengono.

Resta aggiornato

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