release stability auth qwen browser

OpenClaw 3.23: Rekonwalescencja pooperacyjna — Qwen DashScope, przegląd systemu uwierzytelniania i ponad 40 poprawek stabilności

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 23, 2026

10 min czytania

OpenClaw 3.23: Rekonwalescencja pooperacyjna — Qwen DashScope, przegląd systemu uwierzytelniania i ponad 40 poprawek stabilności

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-lancedb automatycznie inicjalizuje LanceDB.
  • Nieaktualna konfiguracja nie jest już fatalna: nieznane ID w plugins.allow traktowane jako ostrzeżenia.
  • Czyszczenie Doctor: openclaw doctor --fix usuwa 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_search z runtime zamiast nieaktualnego lub domyślnego wyboru. Jeśli skonfigurowałeś konkretnego dostawcę wyszukiwania, teraz jest on faktycznie używany.
  • Klasyfikacja failover: generyczne api_error są 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-thinking jest 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>.apiKey są 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 launchd i systemd nie 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/auto nie recurse już w nieskończoność podczas bootstrap, więc trasy auto mogą ponownie wypełniać cachowane ceny i usage.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 --fix naprawia 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 przez 2026.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/$n w pojedynczych cudzysłowach, zabrania exec rozdzielanego nową linią, i nadal akceptuje formy exec -- 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 name zamiast botName aby 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 --fix aby 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ą.

Bądź na bieżąco

Otrzymuj informacje o nowych funkcjach i integracjach. Bez spamu, wypisanie w każdej chwili.