To jest strona fanów, niezwiązana z oficjalnym projektem OpenClaw ani Anthropic. github.com/openclaw/openclaw
release

OpenClaw 4.15: homar zmienia mózg i uczy się patrzeć na własne klucze

OpenClaws.io Team

OpenClaws.io Team

@openclaws

April 16, 2026

6 min czytania

OpenClaw 4.15: homar zmienia mózg i uczy się patrzeć na własne klucze

Kiedy skończyła się poprzednia fala wydań, homar dopiero co wyszedł z dziesięciodniowego oblężenia bezpieczeństwa. Pancerz o warstwę grubszy. Szczypce odrobinę szybsze. Ale pływając w wodzie, dalej nie patrzył jakoś szczególnie na samego siebie.

To, co robi 4.15, nie jest spektakularne, ale kierunek jest jasny: dać homarowi lepszy mózg, nauczyć go rzucić okiem na klucze, które trzyma w łapie, i przy okazji po cichu przenieść pamięć w inne miejsce.

Ta wersja nie pojawi się w hero żadnego produktowego screenshota. Ale kiedy skończysz aktualizację, parę domyślnych wartości po cichu zmieni miejsce—a jeśli gdzieś w kącie opierałeś się na starym zachowaniu, lepiej wiedzieć wcześniej.

Nowy mózg: Opus 4.7

Domyślny wybór Anthropic wskazuje teraz na Claude Opus 4.7. Dotąd alias opus wymagał, żebyś sam przypiął w konfiguracji konkretną wersję; teraz celuje wprost w najnowsze Opus. Domyślna wartość przez Claude CLI podąża za tym.

Razem z tym wchodzi rozumienie obrazu w Opus 4.7—ten kawałek wcześniej wymagał osobnego pluginu albo zewnętrznego vision providera, a tym razem jest już spakowany prosto do core. Rzucasz screenshot do okna czatu i homar sam go teraz czyta. Nie trzeba nadkładać drogi.

Jeśli ręcznie przypiąłeś providera na starszym Opusie, ten upgrade nie ruszy twojej konfiguracji—jawny pin nadal wygrywa. Ale jeśli jechałeś na domyślnych, zauważysz, że zarówno prędkość czatu, jak i czytanie obrazu zrobiły krok do przodu.

Wyjście awaryjne dla maszyn, które nie nadążają

Równolegle z awansem Opus 4.7 pojawia się flaga wskazująca w przeciwną stronę: agents.defaults.experimental.localModelLean: true.

Jest dla małych lokalnych modeli. Jak ją włączysz, z promptu automatycznie wypadają ciężkie narzędzia, które duszą mniejsze modele—browser, cron i spółka—przez co okno kontekstu robi się o zawias cieńsze, a obciążenie inferencji trochę lżejsze. experimental w nazwie jest szczere: jeszcze się to szlifuje. Ale jeśli na swojej maszynie gonisz 7B albo 13B, ta flaga może być dla ciebie ciekawsza niż awans Opusa.

„Silniejszemu więcej siły, słabszemu mniej ciężaru"—to mniej widoczna nitka, która przechodzi przez ten release.

Pierwszy raz widać klucze

To rzecz, o której w tej wersji najbardziej warto opowiedzieć, i jednocześnie najłatwiej przeoczyć.

W Control UI pojawiła się nowa karta, Model Auth Status Card. To, co robi, brzmi niepozornie: mówi ci, czy token OAuth każdego podpiętego providera jest w zdrowiu, ile mu zostało do wygaśnięcia i czy rate limity ostatnio go ściskały.

Brzmi niepozornie, ale tej karty wcześniej nie było. To, że token OAuth wygasł, dowiadywałeś się dokładnie w momencie, w którym provider oddał 401; rate limity robiły się realne, kiedy zacinałeś się w połowie runu. Homar używał tych credenciali przez cały czas, ale nie było jednego miejsca, gdzie on—albo ty—mógłby zobaczyć ten stan, zanim coś się rozleci.

Za kartą stoi nowa metoda gatewaya: models.authStatus. Niesie ze sobą cache na 60 sekund, więc UI tak naprawdę nie pinguje providera co sekundę. Kiedy kilku klientów dzieli tę samą instancję homara, endpoint introspection providera też nie obrywa po głowie.

Razem z kartą wjeżdża parę poprawek z niższych warstw. Wyścig credenciali—przed ponownym otwarciem socketa oczekujące zapisy auth są najpierw spuszczane na dysk. Dzięki temu rekonekcja nie zjada już uwierzytelnienia, które za chwilę miało się skończyć. Dostęp do plików workspace—wszystkie operacje na ścieżkach chodzą teraz przez wspólny helper fs-safe, a symlinki celujące w pliki z allowlisty są odrzucane. Nic z tego nie nada się na demo-video, ale jedno i drugie mieści się pod tym samym tematem: homar ma jaśniejszy obraz tego, co trzyma.

Memory po cichu się przeprowadza

Ten release zmienia trzy rzeczy w warstwie memory. Po zsumowaniu to krok w określonym kierunku.

Po pierwsze, indeksy memory w LanceDB akceptują teraz zdalne object storage. Do tej pory żyły tylko na lokalnym dysku, co znaczyło, że zmiana maszyny wymuszała przebudowę indeksu, a dzielenie pamięci między urządzeniami było w praktyce martwe. W tej wersji ten sam indeks LanceDB może leżeć na S3 (albo na storze S3-kompatybilnym), a dysk lokalny staje się tylko warstwą cache. Dla kogoś, kto rozsadził homara po kilku maszynach, albo kto latał między laptopem a VPS, to kluczowy krok z „pamięć jest przywiązana do maszyny" do „pamięć jest przywiązana do konta".

Po drugie, GitHub Copilot wchodzi do puli embedding providerów. Szukanie po memory potrzebuje modelu embedding do wektoryzowania wpisów, a do tej pory wybierałeś między OpenAI, lokalnym sentence-transformers i garstką innych. Teraz jest jeszcze jedna opcja: jeśli masz już subskrypcję Copilota, szukanie po memory może użyć tego samego kanału uwierzytelnienia—z dedykowanym host helperem, który respektuje zdalne override'y i refresh tokena.

Po trzecie—i jedyna z ostrą krawędzią—dreaming.storage.mode zmienia swoją domyślną wartość z inline na separate.

Dreaming to faza, w której homar, w swoim „wolnym czasie", skraca i przeorganizowuje pamięć. Phase blocki, które ten proces produkował, do tej pory trafiały wprost do pliku memory z danego dnia. Plus: wszystko na jednej osi czasu. Minus: plik memory tył od wygenerowanej treści, a diffy robiły się nieczytelne.

Nowa domyślna wysyła phase blocki na osobną ścieżkę: memory/dreaming/{phase}/YYYY-MM-DD.md—jeden plik na fazę na dzień, tak że w oryginalnym pliku memory zostaje tylko to, co sam wpisałeś ręką. Aktualizacja nie przepisuje twoich istniejących plików memory, ale gdy dreaming odpali się następnym razem, wyjście pójdzie do nowego miejsca. Jeśli miałeś skrypty, które czytały zawartość dreaming z pliku memory, te skrypty potrzebują nowej ścieżki.

Jeśli chcesz zachować stare zachowanie, jawnie ustaw to ustawienie z powrotem na inline.

Głos Google też wchodzi

Dołączony plugin Google dostaje wsparcie Gemini TTS: wybór głosu, wyjście WAV i format PCM pod telefonię. Jeśli i tak używałeś Google Cloud do STT albo do innych wywołań Gemini, nie musisz już osobno podczepiać TTS providera—to samo uwierzytelnienie ciągnie od początku do końca.

Nie jest to wielka zmiana. Ale kawałek, który wcześniej musiałeś składać sam, przychodzi teraz gotowy do użytku.

Rzeczy, które nie trafiły do nagłówków, ale na które pewnie codziennie wchodziłeś

Reszta nie zasługuje na osobną sekcję. Ale zebrana w całość pokrywa całkiem spory kawałek codziennych tarć:

  • 404 w czacie Ollama zostały naprawione. Jeśli twoje ID modelu niosło prefix ollama/, stara wersja przekazywała ten prefix prosto do serwera Ollama i dostawała 404. Nowa wersja ściąga prefix przed wysłaniem requesta.
  • Pobieranie obrazów w BlueBubbles znów jest kompatybilne z Node 22+—przy okazji przerobiona została logika retry webhooka i dociągania załączników. Jeśli na macOS używasz BlueBubbles jako mostu do iMessage, kiedy podbijasz Node, podbij i ten release.
  • Streaming watchdog w TUI—jeśli przez 30 sekund nie przyjdzie żadne delta chat event, wskaźnik streamingu jest resetowany. Wcześniej, gdy provider po cichu ciął stream, TUI zawieszało się w stanie „streaming". Teraz nie.
  • Unieważnienie snapshota skills—zmiana skills.* wcześniej zostawiała już otwarte sesje agenta kręcące się ze starą listą skills; trzeba było zrestartować, żeby zobaczyć nowe. Teraz dowolna zmiana konfiguracji unieważnia zcache'owany snapshot.
  • Stream guard dla nieznanych narzędzi, domyślnie włączony—wcześniej była to ochrona w trybie opt-in: kiedy model halucynuje nazwę nieistniejącego narzędzia, guard nie pozwala, żeby „Tool X not found" wjechało w nieskończoną pętlę. Teraz jest domyślnie włączony, bez konfigurowania.
  • Rozwiązywanie ścieżek—ścieżki ~ poza workspacem są teraz rozwiązywane wobec home systemu, a nie wobec OPENCLAW_HOME. Kiedy te dwa katalogi się rozjeżdżały, ten sam ~/foo.txt mógł wskazywać na różne miejsca między edit a write; fix sprowadza je do jednej linii.
  • Wyrównanie prompt cache—w runach task-scoped adaptera przychodzące chat ID w system prompt jest teraz ustabilizowane, więc wiele wywołań w ramach tego samego tasku ma wyższy współczynnik trafień w prompt cache.
  • Passthrough wyników MEDIA—wcześniej passthrough MEDIA: idący od zaufanych lokalnych narzędzi dopasowywał się do nazw wbudowanych narzędzi luźno. Teraz dopasowanie jest dokładne, a narzędzia klienckie, których znormalizowana nazwa koliduje z wbudowaną, są od razu odrzucane. Kolizja nazw nie jest już tylnymi drzwiami.
  • Odzyskiwanie po replayu401 input item ID does not belong to this connection zwrócone przez providera jest teraz klasyfikowane jako „replay-invalid", z właściwą wskazówką o session reset, zamiast być traktowane jak zwykły 401 i ponawiane bez końca.

Domyślne wartości, które się ruszyły

Ten release przesunął kilka wartości domyślnych; warto wyłożyć je obok siebie, żeby było jasne:

  • dreaming.storage.mode: inlineseparate (phase blocki lądują w memory/dreaming/{phase}/YYYY-MM-DD.md)
  • Stream guard dla nieznanych narzędzi: domyślnie włączony (było opt-in)
  • Dołączone providery głosu Microsoft / ElevenLabs: domyślnie włączone
  • Domyślny wybór Anthropic: wskazuje na Opus 4.7
  • Domyślna wartość Claude CLI: wyrównana do Opus 4.7

Pierwsze dwie to zmiany samego zachowania. Jeśli opierałeś się na starym zachowaniu, przed aktualizacją jawnie nadpisz je w config.

W jednej linijce

Jeśli wyciągniesz z tego postu tylko jedną rzecz: odpal openclaw update, a potem otwórz Control UI, żeby spojrzeć na nową Model Auth Status Card. Ta karta powie ci coś, czego wcześniej nie wiedziałeś—dokładnie które klucze homar teraz trzyma, któremu zbliża się koniec i któremu rate limity ostatnio podduszają gardło.

Jeśli jesteś ciężkim użytkownikiem dreaming albo kiedykolwiek przekartkowałeś surowy tekst phase bloków wewnątrz swoich plików memory—zwróć uwagę na zmianę domyślnej wartości dreaming.storage.mode. Nowe wyjście dreaming idzie do podkatalogu memory/dreaming/. Pierwszy raz, kiedy dreaming odpali się po aktualizacji, rzut oka na ten katalog od razu pokaże ci, jak teraz to działa.

Bądź na bieżąco

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