3.22 wyrwało starą architekturę i odbudowało fundamenty. Dwanaście zmian łamiących kompatybilność. Nowy rejestr wtyczek. Trzydzieści łatek bezpieczeństwa. To było największe wydanie w historii OpenClaw.
Zepsuło też pewne rzeczy.
3.23 to wydanie, które upewnia się, że pacjent przeżyje operację. Trzy zmiany łamiące kompatybilność — wszystkie skierowane w przyszłość. Ponad czterdzieści poprawek — większość sprząta to, co ujawniło 3.22. Jeden dzień między wydaniami, bo niektóre problemy nie mogły czekać.
Zmiany łamiące kompatybilność
Tylko trzy tym razem, i żadna nie usuwa czegoś, z czego korzystasz.
Qwen otrzymuje standardowe endpointy DashScope
Dostawca Qwen zawiera teraz standardowe endpointy DashScope (pay-as-you-go) dla kluczy API chińskich i globalnych, obok istniejących endpointów Coding Plan. Grupa dostawców zostaje przemianowana na Qwen (Alibaba Cloud Model Studio).
Reorganizacja Control UI
Prymitywy przycisków skonsolidowane (btn--icon, btn--ghost, btn--xs). Motyw Knot przechodzi na paletę czarno-czerwoną z kontrastem WCAG 2.1 AA. Sekcje konfiguracji otrzymują dedykowane ikony.
Hashowanie CSP skryptów
Bloki inline <script> w serwowanym index.html otrzymują teraz hashe SHA-256 w dyrektywie CSP script-src. Skrypty inline pozostają domyślnie zablokowane — dozwolony jest tylko jawnie zahaszowany kod bootstrap. Jeśli wstrzykiwałeś niestandardowe skrypty inline do Control UI, będą teraz zablokowane, chyba że je zahaszujesz.
Przegląd systemu uwierzytelniania
Osiem poprawek w systemie auth i poświadczeń. Najciężej dotknięty obszar po 3.22.
Główna poprawka: zapisy auth-profile gateway w czasie rzeczywistym cofały świeżo zapisane poświadczenia do nieaktualnych wartości w pamięci. Wklejałeś nowy token OpenAI, zapisywałeś, i patrzyłeś jak wraca do wygasłego. Naprawione.
Zachowanie scope operator: ścieżka obejścia auth urządzenia po cichu odrzucała scope operatora. Buforowane tokeny z niewystarczającymi scope są teraz ignorowane.
Auth kanałów CLI: konfiguracje z jednym kanałem automatycznie wybierają jedyny dostępny kanał logowania.
Uwierzytelnianie ClawHub macOS: token logowania ClawHub jest teraz odczytywany ze ścieżki macOS Application Support.
Wsparcie proxy OAuth: dispatcher proxy HTTP/HTTPS konfigurowany przez env jest teraz inicjalizowany przed żądaniami wymiany tokenów.
Autoryzacja slash commands: autoryzacja nie crashuje już przy napotkaniu nierozwiązanych kont SecretRef.
Stabilność przeglądarki
Połączenie macOS Chrome: przy dołączaniu do istniejącej sesji Chrome via MCP, początkowy handshake był traktowany jako "gotowy" zanim karty przeglądarki były faktycznie użyteczne. Poprawka czeka na pełną użyteczność kart po dołączeniu.
Headless Linux CDP: na wolniejszych konfiguracjach headless Linux krótka początkowa niedostępność natychmiast wyzwalała pełne ponowne uruchomienie przeglądarki. Poprawka ponownie wykorzystuje już działającą przeglądarkę loopback.
Ekosystem wtyczek: porządki po ClawHub
- •Bundlowane sidecar runtime przywrócone: pliki wejściowe runtime wtyczek brakowały w pakiecie npm. Naprawione.
- •Kompatybilność instalacji ClawHub: kompatybilność API wtyczek jest teraz rozwiązywana względem aktywnej wersji runtime.
- •Odinstalowanie akceptuje specyfikacje ClawHub:
openclaw plugins uninstall clawhub:<package>znów działa. - •LanceDB inicjalizuje się przy pierwszym użyciu: wtyczka
memory-lancedbautomatycznie inicjalizuje LanceDB. - •Nieaktualna konfiguracja nie jest już fatalna: nieznane ID w
plugins.allowtraktowane jako ostrzeżenia. - •Czyszczenie Doctor:
openclaw doctor --fixusuwa pozostałe referencje po usunięciu wtyczek. - •Poprawki runtime Matrix i LINE: zduplikowane eksporty runtime-api pod Jiti nie crashują już.
Niezawodność agentów
Sześć poprawek dla bardziej przewidywalnego zachowania agentów:
- •Dostawca web_search: tury agentów używają teraz aktywnego dostawcy
web_searchz runtime zamiast nieaktualnego lub domyślnego wyboru. Jeśli skonfigurowałeś konkretnego dostawcę wyszukiwania, teraz jest on faktycznie używany. - •Klasyfikacja failover: generyczne
api_errorsą powtarzalne tylko gdy zawierają sygnały przejściowej awarii. Awarie backendu w stylu MiniMax nadal uruchamiają fallback modelu, ale błędy fakturowania, auth i formatu już nie. - •Dokładność timeout subagentów: oczekiwania workerów z timeout są sprawdzane ponownie względem najnowszego snapshotu runtime przed wysłaniem zdarzeń zakończenia, więc szybko kończące się workery nie są już fałszywie raportowane jako przekroczone.
- •Bloki thinking Anthropic: kolejność bloków assistant thinking i
redacted-thinkingjest zachowywana podczas sanityzacji obrazów transkrypcji, zapobiegając naruszeniu walidacji unmodified-thinking Anthropic przez kolejne tury. - •Odzyskiwanie replay: zniekształcona treść transkrypcji asystenta jest kanonizowana przed sanityzacją historii sesji, więc starsze lub uszkodzone tury nie powodują już crashu ścieżek Pi replay i odzyskiwania subagentów.
- •Wstrzykiwanie konfiguracji skills: konfiguracja i env osadzonych skills używają aktywnego rozwiązanego snapshotu runtime, więc SecretRef
skills.entries.<skill>.apiKeysą poprawnie rozwiązywane podczas osadzonego uruchamiania.
Wzmocnienie gateway
Cztery poprawki dla niezawodności gateway:
- •Dokładność sondowania: udane handshake gateway nie są już raportowane jako "nieosiągalne" podczas gdy RPC szczegółów po połączeniu nadal się ładują. Wolne urządzenia raportują osiągalny błąd RPC zamiast fałszywie negatywnego martwego gateway.
- •Stabilność supervision: konflikty blokad pod
launchdisystemdnie powodują już crash-loop. Zduplikowany proces pozostaje w oczekiwaniu na retry zamiast kończyć się błędem gdy zdrowy gateway nadal trzyma blokadę. - •Wymuszanie auth: trasy canvas wymagają teraz uwierzytelnienia. Reset sesji agenta wymaga scope admin. Anonimowy dostęp do canvas i żądania resetu non-admin otrzymują fail closed.
- •Ceny OpenRouter: odświeżanie cen
openrouter/autonie recurse już w nieskończoność podczas bootstrap, więc trasy auto mogą ponownie wypełniać cachowane ceny iusage.cost.
Poprawki kanałów
Telegram otrzymuje trzy poprawki: kontekst wątków DM topics jest poprawnie wypełniany gdy brakuje metadanych głównego wątku. Kolejność debounce przychodzących wiadomości w tym samym czacie jest zachowywana bez blokowania nieaktualnych followupów sesji busy. asDocument jest dodany jako alias użytkownika dla forceDocument przy wysyłaniu obrazów i GIF-ów.
Discord: uprzywilejowane natywne slash commands zwracają teraz jawną odpowiedź o braku autoryzacji zamiast wpadać w mylące generyczne zakończenie Discorda gdy bramki auth odrzucają nadawcę.
Głos Plivo: klucze replay są ustabilizowane, więc ponowne próby webhook i ochrona replay nie kolidują z prawidłowymi dostawami następczymi.
Zewnętrzne katalogi kanałów mogą teraz nadpisywać dostarczone metadane fallback i respektować nadpisane specyfikacje npm podczas konfiguracji kanału, więc niestandardowe katalogi nie wracają już do bundlowanych pakietów gdy channel ID się zgadza.
Wszystko inne
- •Mistral: bundlowane domyślne max-token obniżone do bezpiecznych budżetów wyjściowych.
openclaw doctor --fixnaprawia stare utrwalone konfiguracje które nadal mają limity wyjściowe wielkości kontekstu, unikając deterministycznych odrzuceń 422. - •CLI cron:
openclaw cron add|edit --at ... --tz <iana>respektuje teraz poprawnie żądany czas lokalny dla jednorazowych datetime bez offsetu, łącznie z granicami DST. - •Ostrzeżenia konfiguracji: mylące ostrzeżenie "nowszy OpenClaw" jest tłumione gdy konfiguracja zapisana przez wydanie korekcyjne same-base (jak
2026.3.23-2) jest czytana przez2026.3.23. - •Exec trust: binaria wrapper shell-multiplexer są zachowywane dla kontroli polityk bez łamania rekonstrukcji zatwierdzonych poleceń, utrzymując spójność allowlist i przepływów audytu BusyBox/ToyBox.
- •Bezpieczeństwo/exec approvals: dopasowanie allowlist shell-wrapper odrzuca tokeny
$0/$nw pojedynczych cudzysłowach, zabrania exec rozdzielanego nową linią, i nadal akceptuje formyexec -- carrier. - •Diagnostyka cache: pola poświadczeń są usuwane z wyjścia JSONL cache-trace zachowując niewrażliwe pola diagnostyczne i metadane redakcji obrazów.
- •Docs Feishu: przykłady konfiguracji kanałów używają teraz
namezamiastbotNameaby odpowiadać ścisłemu schema konta. - •Pakowanie wydania: bundlowane wtyczki i assety Control UI są zachowywane w opublikowanych instalacjach npm, z kontrolami wydania które kończą się niepowodzeniem gdy brakuje dostarczonych artefaktów.
Współtwórcy
Szesnastu współtwórców wylądowało poprawki w 3.23. Szczególne uznanie dla @vincentkoc z czternastoma poprawkami obejmującymi przeglądarkę, gateway, agentów, wtyczki, bezpieczeństwo i infrastrukturę wydań.
Podziękowania dla @BunsDev (4 poprawki), @scoootscooob, @openperf, @futhgar, @07akioni, @Drickon, @osolmaz, @bakhtiersizhaev, @Lukavyi, @ayushozha, @RolfHegr, @drobison00, @haroldfabla2-hue, @jzakirov i @sallyom.
Uwagi dotyczące aktualizacji
- •Użytkownicy Qwen: sprawdź konfigurację dostawcy.
- •Użytkownicy Mistral: uruchom
openclaw doctor --fixaby naprawić stare konfiguracje. - •Użytkownicy niestandardowego CSS: paleta motywu Knot i nazwy klas przycisków się zmieniły.
- •Wstrzykiwacze skryptów Control UI: skrypty inline wymagają teraz hashy SHA-256 CSP.
---
3.22 otworzyło klatkę piersiową i wymieniło silnik. 3.23 upewniło się, że każdy szew trzyma.
Ponad czterdzieści poprawek, osiem łatek auth, dwie regresje przeglądarki rozwiązane i ekosystem wtyczek, który w końcu działa czysto po migracji ClawHub. Nie jest to glamour. Ale to wydanie zamienia architektoniczną ambicję 3.22 w coś, co możesz faktycznie uruchomić na produkcji bez zgłaszania bugów.
Homar dochodzi do siebie. Szwy trzymają.