Szybkie odpowiedzi oraz głębsze rozwiązywanie problemów dla rzeczywistych konfiguracji (lokalne środowisko deweloperskie, VPS, wielu agentów, OAuth/klucze API, przełączanie awaryjne modeli). Diagnostykę działania znajdziesz w Rozwiązywaniu problemów. Pełną dokumentację konfiguracji znajdziesz w Konfiguracji.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Pierwsze 60 sekund, gdy coś jest zepsute
-
Szybki status (pierwszy test)
Szybkie lokalne podsumowanie: system operacyjny + aktualizacja, osiągalność gateway/usługi, agenci/sesje, konfiguracja dostawców + problemy wykonawcze (gdy gateway jest osiągalny).
-
Raport do wklejenia (bezpieczny do udostępnienia)
Diagnoza tylko do odczytu z końcówką logu (tokeny zredagowane).
-
Stan demona + portu
Pokazuje środowisko wykonawcze nadzorcy względem osiągalności RPC, docelowy URL sondy oraz konfigurację, której usługa prawdopodobnie użyła.
-
Głębokie sondy
Uruchamia sondę kondycji działającego gateway, w tym sondy kanałów, gdy są obsługiwane (wymaga osiągalnego gateway). Zobacz Kondycja.
-
Śledź najnowszy log
Jeśli RPC nie działa, użyj awaryjnie:Logi plikowe są oddzielone od logów usługi; zobacz Logowanie i Rozwiązywanie problemów.
-
Uruchom doctor (naprawy)
Naprawia/migruje konfigurację/stan + uruchamia kontrole kondycji. Zobacz Doctor.
-
Migawka Gateway
Prosi działający gateway o pełną migawkę (tylko WS). Zobacz Kondycja.
Szybki start i konfiguracja pierwszego uruchomienia
Pytania i odpowiedzi dotyczące pierwszego uruchomienia — instalacja, wdrożenie, ścieżki uwierzytelniania, subskrypcje, początkowe błędy — znajdują się w FAQ pierwszego uruchomienia.Czym jest OpenClaw?
Czym jest OpenClaw w jednym akapicie?
Czym jest OpenClaw w jednym akapicie?
Propozycja wartości
Propozycja wartości
- Twoje urządzenia, Twoje dane: uruchamiaj Gateway tam, gdzie chcesz (Mac, Linux, VPS), i utrzymuj workspace + historię sesji lokalnie.
- Prawdziwe kanały, nie webowy sandbox: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/itd., plus mobilny głos i Canvas na obsługiwanych platformach.
- Niezależność od modelu: używaj Anthropic, OpenAI, MiniMax, OpenRouter itd., z routingiem i przełączaniem awaryjnym per agent.
- Opcja tylko lokalnie: uruchamiaj lokalne modele, aby wszystkie dane mogły pozostać na Twoim urządzeniu, jeśli chcesz.
- Routing wielu agentów: osobni agenci dla kanału, konta lub zadania, każdy z własnym workspace i ustawieniami domyślnymi.
- Open source i łatwe dostosowywanie: przeglądaj, rozszerzaj i hostuj samodzielnie bez uzależnienia od dostawcy.
Właśnie to skonfigurowałem - co powinienem zrobić najpierw?
Właśnie to skonfigurowałem - co powinienem zrobić najpierw?
- Zbuduj stronę internetową (WordPress, Shopify lub prosta strona statyczna).
- Stwórz prototyp aplikacji mobilnej (zarys, ekrany, plan API).
- Uporządkuj pliki i foldery (czyszczenie, nazewnictwo, tagowanie).
- Połącz Gmail i zautomatyzuj podsumowania lub działania następcze.
Jakie jest pięć najczęstszych codziennych zastosowań OpenClaw?
Jakie jest pięć najczęstszych codziennych zastosowań OpenClaw?
- Osobiste briefingi: podsumowania skrzynki odbiorczej, kalendarza i interesujących Cię wiadomości.
- Research i redagowanie: szybki research, podsumowania i pierwsze wersje e-maili lub dokumentów.
- Przypomnienia i działania następcze: zachęty i checklisty sterowane przez cron lub heartbeat.
- Automatyzacja przeglądarki: wypełnianie formularzy, zbieranie danych i powtarzanie zadań w sieci.
- Koordynacja między urządzeniami: wyślij zadanie z telefonu, pozwól Gateway uruchomić je na serwerze i odbierz wynik w czacie.
Czy OpenClaw może pomóc w generowaniu leadów, outreachu, reklamach i blogach dla SaaS?
Czy OpenClaw może pomóc w generowaniu leadów, outreachu, reklamach i blogach dla SaaS?
Jakie są zalety względem Claude Code przy tworzeniu aplikacji webowych?
Jakie są zalety względem Claude Code przy tworzeniu aplikacji webowych?
- Trwała pamięć + workspace między sesjami
- Dostęp wieloplatformowy (WhatsApp, Telegram, TUI, WebChat)
- Orkiestracja narzędzi (przeglądarka, pliki, harmonogram, hooki)
- Zawsze działający Gateway (uruchamiaj na VPS, korzystaj z dowolnego miejsca)
- Node do lokalnej przeglądarki/ekranu/kamery/exec
Skills i automatyzacja
Jak dostosować Skills bez pozostawiania repozytorium w stanie dirty?
Jak dostosować Skills bez pozostawiania repozytorium w stanie dirty?
~/.openclaw/skills/<name>/SKILL.md (albo dodaj folder przez skills.load.extraDirs w ~/.openclaw/openclaw.json). Kolejność pierwszeństwa to <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → dołączone → skills.load.extraDirs, więc zarządzane nadpisania nadal wygrywają z dołączonymi Skills bez dotykania git. Jeśli skill musi być zainstalowany globalnie, ale widoczny tylko dla części agentów, trzymaj współdzieloną kopię w ~/.openclaw/skills i kontroluj widoczność przez agents.defaults.skills oraz agents.list[].skills. Tylko zmiany warte upstreamu powinny znajdować się w repozytorium i trafiać jako PR-y.Czy mogę ładować Skills z niestandardowego folderu?
Czy mogę ładować Skills z niestandardowego folderu?
skills.load.extraDirs w ~/.openclaw/openclaw.json (najniższy priorytet). Domyślna kolejność pierwszeństwa to <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → dołączone → skills.load.extraDirs. clawhub domyślnie instaluje do ./skills, co OpenClaw traktuje jako <workspace>/skills w następnej sesji. Jeśli skill powinien być widoczny tylko dla określonych agentów, połącz to z agents.defaults.skills lub agents.list[].skills.Jak używać różnych modeli do różnych zadań?
Jak używać różnych modeli do różnych zadań?
- Zadania Cron: izolowane zadania mogą ustawić nadpisanie
modelper zadanie. - Subagenci: kieruj zadania do osobnych agentów z różnymi modelami domyślnymi.
- Przełączanie na żądanie: użyj
/model, aby w dowolnym momencie przełączyć model bieżącej sesji.
Bot zawiesza się podczas ciężkiej pracy. Jak to odciążyć?
Bot zawiesza się podczas ciężkiej pracy. Jak to odciążyć?
/subagents.
Użyj /status w czacie, aby zobaczyć, co Gateway robi teraz (i czy jest zajęty).Wskazówka dotycząca tokenów: długie zadania i subagenci zużywają tokeny. Jeśli koszt jest ważny, ustaw
tańszy model dla subagentów przez agents.defaults.subagents.model.Dokumentacja: Subagenci, Zadania w tle.Jak działają sesje subagentów powiązane z wątkiem w Discord?
Jak działają sesje subagentów powiązane z wątkiem w Discord?
- Utwórz za pomocą
sessions_spawnzthread: true(oraz opcjonalniemode: "session"dla trwałych odpowiedzi uzupełniających). - Albo ręcznie powiąż za pomocą
/focus <target>. - Użyj
/agents, aby sprawdzić stan powiązania. - Użyj
/session idle <duration|off>i/session max-age <duration|off>, aby kontrolować automatyczne odłączanie fokusu. - Użyj
/unfocus, aby odłączyć wątek.
- Globalne ustawienia domyślne:
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours. - Nadpisania Discord:
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours. - Automatyczne powiązanie przy utworzeniu:
channels.discord.threadBindings.spawnSessionsdomyślnie ma wartośćtrue; ustaw nafalse, aby wyłączyć tworzenie sesji powiązanych z wątkiem.
Subagent zakończył pracę, ale aktualizacja o ukończeniu trafiła w złe miejsce albo nigdy się nie opublikowała. Co sprawdzić?
Subagent zakończył pracę, ale aktualizacja o ukończeniu trafiła w złe miejsce albo nigdy się nie opublikowała. Co sprawdzić?
- Dostarczanie subagenta w trybie ukończenia preferuje każdy powiązany wątek lub trasę konwersacji, gdy taka istnieje.
- Jeśli źródło ukończenia niesie tylko kanał, OpenClaw awaryjnie używa zapisanej trasy sesji żądającego (
lastChannel/lastTo/lastAccountId), aby bezpośrednie dostarczenie nadal mogło się udać. - Jeśli nie istnieje ani powiązana trasa, ani użyteczna zapisana trasa, bezpośrednie dostarczenie może się nie udać, a wynik zamiast natychmiastowej publikacji na czacie trafia awaryjnie do kolejki dostarczania sesji.
- Nieprawidłowe lub nieaktualne cele nadal mogą wymusić awaryjny powrót do kolejki albo końcowe niepowodzenie dostarczenia.
- Jeśli ostatnia widoczna odpowiedź asystenta dziecka to dokładny cichy token
NO_REPLY/no_reply, albo dokładnieANNOUNCE_SKIP, OpenClaw celowo pomija ogłoszenie zamiast publikować wcześniejszy, nieaktualny postęp. - Jeśli dziecko przekroczyło limit czasu po samych wywołaniach narzędzi, ogłoszenie może zwinąć to do krótkiego podsumowania częściowego postępu zamiast odtwarzać surowe dane wyjściowe narzędzi.
Cron lub przypomnienia się nie uruchamiają. Co sprawdzić?
Cron lub przypomnienia się nie uruchamiają. Co sprawdzić?
- Potwierdź, że cron jest włączony (
cron.enabled) iOPENCLAW_SKIP_CRONnie jest ustawione. - Sprawdź, czy Gateway działa 24/7 (bez usypiania/restartów).
- Zweryfikuj ustawienia strefy czasowej zadania (
--tzwzględem strefy czasowej hosta).
Cron został uruchomiony, ale nic nie wysłano do kanału. Dlaczego?
Cron został uruchomiony, ale nic nie wysłano do kanału. Dlaczego?
--no-deliver/delivery.mode: "none"oznacza, że nie jest oczekiwane rezerwowe wysłanie przez runner.- Brakujący lub nieprawidłowy cel ogłoszenia (
channel/to) oznacza, że runner pominął dostarczenie wychodzące. - Błędy uwierzytelniania kanału (
unauthorized,Forbidden) oznaczają, że runner próbował dostarczyć wiadomość, ale dane uwierzytelniające to zablokowały. - Cichy wynik izolowany (tylko
NO_REPLY/no_reply) jest traktowany jako celowo niedostarczalny, więc runner tłumi także kolejkowane dostarczenie rezerwowe.
message,
gdy dostępna jest trasa czatu. --announce kontroluje tylko rezerwową ścieżkę runner
dla tekstu końcowego, którego agent wcześniej nie wysłał.Debugowanie:Dlaczego izolowane uruchomienie cron zmieniło modele albo ponowiło próbę raz?
Dlaczego izolowane uruchomienie cron zmieniło modele albo ponowiło próbę raz?
LiveSessionModelSwitchError. Ponowienie zachowuje przełączonego
dostawcę/model, a jeśli przełączenie niosło nowe nadpisanie profilu uwierzytelniania, cron
utrwala je także przed ponowieniem.Powiązane reguły wyboru:- Nadpisanie modelu z haka Gmail wygrywa jako pierwsze, gdy ma zastosowanie.
- Następnie
modeldla zadania. - Następnie dowolne zapisane nadpisanie modelu sesji cron.
- Następnie zwykły wybór modelu agenta/domyślnego.
Jak zainstalować Skills w systemie Linux?
Jak zainstalować Skills w systemie Linux?
openclaw skills albo umieść Skills w swoim obszarze roboczym. Interfejs Skills UI z macOS nie jest dostępny w systemie Linux.
Przeglądaj Skills na https://clawhub.ai.openclaw skills install zapisuje do katalogu skills/
w aktywnym obszarze roboczym. Zainstaluj oddzielne CLI clawhub tylko wtedy, gdy chcesz publikować lub
synchronizować własne Skills. W przypadku instalacji współdzielonych między agentami umieść skill w
~/.openclaw/skills i użyj agents.defaults.skills albo
agents.list[].skills, jeśli chcesz zawęzić, którzy agenci mogą go widzieć.Czy OpenClaw może uruchamiać zadania według harmonogramu lub stale w tle?
Czy OpenClaw może uruchamiać zadania według harmonogramu lub stale w tle?
- Zadania Cron dla zadań zaplanowanych lub cyklicznych (utrwalane między restartami).
- Heartbeat dla okresowych kontroli „sesji głównej”.
- Zadania izolowane dla autonomicznych agentów, którzy publikują podsumowania lub dostarczają je do czatów.
Czy mogę uruchamiać Skills tylko dla Apple macOS z systemu Linux?
Czy mogę uruchamiać Skills tylko dla Apple macOS z systemu Linux?
metadata.openclaw.os oraz wymagane pliki binarne, a Skills pojawiają się w prompt systemowym tylko wtedy, gdy kwalifikują się na hoście Gateway. W systemie Linux Skills tylko dla darwin (takie jak apple-notes, apple-reminders, things-mac) nie zostaną załadowane, chyba że nadpiszesz bramkowanie.Masz trzy obsługiwane wzorce:Opcja A - uruchom Gateway na Macu (najprostsze).
Uruchom Gateway tam, gdzie istnieją pliki binarne macOS, a następnie połącz się z Linuxa w trybie zdalnym albo przez Tailscale. Skills ładują się normalnie, ponieważ host Gateway to macOS.Opcja B - użyj węzła macOS (bez SSH).
Uruchom Gateway w systemie Linux, sparuj węzeł macOS (aplikację na pasku menu) i ustaw Polecenia uruchamiania Node na „Zawsze pytaj” albo „Zawsze zezwalaj” na Macu. OpenClaw może traktować Skills tylko dla macOS jako kwalifikujące się, gdy wymagane pliki binarne istnieją na węźle. Agent uruchamia te Skills przez narzędzie nodes. Jeśli wybierzesz „Zawsze pytaj”, zatwierdzenie „Zawsze zezwalaj” w prompcie doda to polecenie do listy dozwolonych.Opcja C - pośrednicz pliki binarne macOS przez SSH (zaawansowane).
Pozostaw Gateway w systemie Linux, ale spraw, aby wymagane pliki binarne CLI rozwiązywały się do wrapperów SSH uruchamianych na Macu. Następnie nadpisz skill, aby zezwolić na Linux, dzięki czemu pozostanie kwalifikujący się.-
Utwórz wrapper SSH dla pliku binarnego (przykład:
memodla Apple Notes): -
Umieść wrapper w
PATHna hoście Linux (na przykład~/bin/memo). -
Nadpisz metadane skill (w obszarze roboczym albo
~/.openclaw/skills), aby zezwolić na Linux: - Uruchom nową sesję, aby odświeżyć snapshot Skills.
Czy macie integrację z Notion albo HeyGen?
Czy macie integrację z Notion albo HeyGen?
- Niestandardowy skill / plugin: najlepsze rozwiązanie dla niezawodnego dostępu przez API (Notion i HeyGen mają API).
- Automatyzacja przeglądarki: działa bez kodu, ale jest wolniejsza i bardziej krucha.
- Jedna strona Notion na klienta (kontekst + preferencje + aktywna praca).
- Poproś agenta o pobranie tej strony na początku sesji.
skills/ w aktywnym obszarze roboczym. W przypadku Skills współdzielonych między agentami umieść je w ~/.openclaw/skills/<name>/SKILL.md. Jeśli tylko część agentów ma widzieć współdzieloną instalację, skonfiguruj agents.defaults.skills albo agents.list[].skills. Niektóre Skills oczekują plików binarnych zainstalowanych przez Homebrew; w systemie Linux oznacza to Linuxbrew (zobacz wpis FAQ Homebrew Linux powyżej). Zobacz Skills, Konfiguracja Skills oraz ClawHub.Jak używać mojego istniejącego, zalogowanego Chrome z OpenClaw?
Jak używać mojego istniejącego, zalogowanego Chrome z OpenClaw?
user, który dołącza przez Chrome DevTools MCP:existing-session / user:- akcje są oparte na
ref, a nie na selektorach CSS - przesyłanie plików wymaga
ref/inputRefi obecnie obsługuje jeden plik naraz responsebody, eksport PDF, przechwytywanie pobrań i akcje wsadowe nadal wymagają zarządzanej przeglądarki albo surowego profilu CDP
Sandboxing i pamięć
Czy istnieje dedykowana dokumentacja sandboxingu?
Czy istnieje dedykowana dokumentacja sandboxingu?
Docker wydaje się ograniczony - jak włączyć pełne funkcje?
Docker wydaje się ograniczony - jak włączyć pełne funkcje?
node, więc nie
zawiera pakietów systemowych, Homebrew ani dołączonych przeglądarek. Aby uzyskać pełniejszą konfigurację:- Utrwal
/home/nodeza pomocąOPENCLAW_HOME_VOLUME, aby cache przetrwały. - Wbuduj zależności systemowe w obraz za pomocą
OPENCLAW_DOCKER_APT_PACKAGES. - Zainstaluj przeglądarki Playwright przez dołączone CLI:
node /app/node_modules/playwright-core/cli.js install chromium - Ustaw
PLAYWRIGHT_BROWSERS_PATHi upewnij się, że ścieżka jest utrwalana.
Czy mogę zachować DM jako prywatne, a grupy jako publiczne/sandboxowane z jednym agentem?
Czy mogę zachować DM jako prywatne, a grupy jako publiczne/sandboxowane z jednym agentem?
agents.defaults.sandbox.mode: "non-main", aby sesje grup/kanałów (klucze inne niż main) działały w skonfigurowanym backendzie sandboxa, podczas gdy główna sesja DM pozostaje na hoście. Docker jest domyślnym backendem, jeśli nie wybierzesz innego. Następnie ogranicz, które narzędzia są dostępne w sesjach sandboxowanych, przez tools.sandbox.tools.Instrukcja konfiguracji + przykładowa konfiguracja: Grupy: prywatne DM + publiczne grupyKluczowe odniesienie konfiguracji: Konfiguracja GatewayJak podpiąć folder hosta do sandboxa?
Jak podpiąć folder hosta do sandboxa?
agents.defaults.sandbox.docker.binds na ["host:path:mode"] (np. "/home/user/src:/src:ro"). Globalne i per-agentowe podpięcia są scalane; per-agentowe podpięcia są ignorowane, gdy scope: "shared". Używaj :ro dla wszystkiego, co wrażliwe, i pamiętaj, że podpięcia omijają ściany systemu plików sandboxa.OpenClaw waliduje źródła podpięć zarówno względem znormalizowanej ścieżki, jak i ścieżki kanonicznej rozwiązanej przez najgłębszego istniejącego przodka. Oznacza to, że ucieczki przez rodzica będącego symlinkiem nadal są bezpiecznie blokowane nawet wtedy, gdy ostatni segment ścieżki jeszcze nie istnieje, a kontrole dozwolonego katalogu głównego nadal obowiązują po rozwiązaniu symlinków.Zobacz Sandboxing oraz Sandbox vs polityka narzędzi vs podwyższone uprawnienia, aby znaleźć przykłady i uwagi dotyczące bezpieczeństwa.Jak działa pamięć?
Jak działa pamięć?
- Notatki dzienne w
memory/YYYY-MM-DD.md - Wyselekcjonowane notatki długoterminowe w
MEMORY.md(tylko sesje główne/prywatne)
Pamięć ciągle zapomina rzeczy. Jak sprawić, żeby zostały?
Pamięć ciągle zapomina rzeczy. Jak sprawić, żeby zostały?
MEMORY.md,
a kontekst krótkoterminowy trafia do memory/YYYY-MM-DD.md.To nadal obszar, który ulepszamy. Pomaga przypominanie modelowi, aby przechowywał wspomnienia;
będzie wiedział, co zrobić. Jeśli nadal zapomina, sprawdź, czy Gateway używa tego samego
obszaru roboczego przy każdym uruchomieniu.Dokumentacja: Pamięć, Obszar roboczy agenta.Czy pamięć utrzymuje się na zawsze? Jakie są limity?
Czy pamięć utrzymuje się na zawsze? Jakie są limity?
Czy wyszukiwanie pamięci semantycznej wymaga klucza API OpenAI?
Czy wyszukiwanie pamięci semantycznej wymaga klucza API OpenAI?
OPENAI_API_KEY lub models.providers.openai.apiKey).Jeśli nie ustawisz dostawcy jawnie, OpenClaw automatycznie wybiera dostawcę, gdy
może rozpoznać klucz API (profile uwierzytelniania, models.providers.*.apiKey lub zmienne środowiskowe).
Preferuje OpenAI, jeśli rozpozna klucz OpenAI, w przeciwnym razie Gemini, jeśli rozpozna klucz Gemini,
następnie Voyage, a potem Mistral. Jeśli żaden zdalny klucz nie jest dostępny, wyszukiwanie
pamięci pozostaje wyłączone, dopóki go nie skonfigurujesz. Jeśli masz skonfigurowaną i obecną
ścieżkę do modelu lokalnego, OpenClaw
preferuje local. Ollama jest obsługiwana, gdy jawnie ustawisz
memorySearch.provider = "ollama".Jeśli wolisz pozostać lokalnie, ustaw memorySearch.provider = "local" (i opcjonalnie
memorySearch.fallback = "none"). Jeśli chcesz używać embeddingów Gemini, ustaw
memorySearch.provider = "gemini" i podaj GEMINI_API_KEY (lub
memorySearch.remote.apiKey). Obsługujemy modele embeddingów OpenAI, Gemini, Voyage, Mistral, Ollama lub local- szczegóły konfiguracji znajdziesz w Pamięć.
Gdzie rzeczy znajdują się na dysku
Czy wszystkie dane używane z OpenClaw są zapisywane lokalnie?
Czy wszystkie dane używane z OpenClaw są zapisywane lokalnie?
- Lokalnie domyślnie: sesje, pliki pamięci, konfiguracja i przestrzeń robocza znajdują się na hoście Gateway
(
~/.openclaw+ katalog Twojej przestrzeni roboczej). - Zdalnie z konieczności: wiadomości wysyłane do dostawców modeli (Anthropic/OpenAI/itd.) trafiają do ich API, a platformy czatu (WhatsApp/Telegram/Slack/itd.) przechowują dane wiadomości na swoich serwerach.
- Ty kontrolujesz ślad danych: używanie modeli lokalnych utrzymuje prompty na Twojej maszynie, ale ruch kanałów nadal przechodzi przez serwery danego kanału.
Gdzie OpenClaw przechowuje swoje dane?
Gdzie OpenClaw przechowuje swoje dane?
$OPENCLAW_STATE_DIR (domyślnie: ~/.openclaw):| Ścieżka | Cel |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | Główna konfiguracja (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | Starszy import OAuth (kopiowany do profili uwierzytelniania przy pierwszym użyciu) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | Profile uwierzytelniania (OAuth, klucze API i opcjonalne keyRef/tokenRef) |
$OPENCLAW_STATE_DIR/secrets.json | Opcjonalny plikowy ładunek sekretów dla dostawców SecretRef typu file |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | Starszy plik zgodności (statyczne wpisy api_key usunięte) |
$OPENCLAW_STATE_DIR/credentials/ | Stan dostawcy (np. whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | Stan per agent (agentDir + sesje) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | Historia rozmów i stan (per agent) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Metadane sesji (per agent) |
~/.openclaw/agent/* (migrowana przez openclaw doctor).Twoja przestrzeń robocza (AGENTS.md, pliki pamięci, Skills itd.) jest oddzielna i konfigurowana przez agents.defaults.workspace (domyślnie: ~/.openclaw/workspace).Gdzie powinny znajdować się AGENTS.md / SOUL.md / USER.md / MEMORY.md?
Gdzie powinny znajdować się AGENTS.md / SOUL.md / USER.md / MEMORY.md?
~/.openclaw.- Przestrzeń robocza (per agent):
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md, opcjonalnieHEARTBEAT.md. Główny plikmemory.mdpisany małymi literami jest tylko starszym wejściem naprawczym;openclaw doctor --fixmoże scalić go zMEMORY.md, gdy istnieją oba pliki. - Katalog stanu (
~/.openclaw): konfiguracja, stan kanałów/dostawców, profile uwierzytelniania, sesje, logi i współdzielone Skills (~/.openclaw/skills).
~/.openclaw/workspace, konfigurowalna przez:Zalecana strategia kopii zapasowych
Zalecana strategia kopii zapasowych
~/.openclaw (danych uwierzytelniających, sesji, tokenów ani zaszyfrowanych ładunków sekretów).
Jeśli potrzebujesz pełnego odtworzenia, wykonaj osobne kopie zapasowe przestrzeni roboczej i katalogu stanu
(zobacz pytanie o migrację powyżej).Dokumentacja: Przestrzeń robocza agenta.Jak całkowicie odinstalować OpenClaw?
Jak całkowicie odinstalować OpenClaw?
Czy agenci mogą pracować poza przestrzenią roboczą?
Czy agenci mogą pracować poza przestrzenią roboczą?
agents.defaults.sandbox lub ustawień sandboxa per agent. Jeśli
chcesz, aby repozytorium było domyślnym katalogiem roboczym, ustaw workspace tego agenta
na katalog główny repozytorium. Repozytorium OpenClaw to tylko kod źródłowy; trzymaj
przestrzeń roboczą oddzielnie, chyba że celowo chcesz, aby agent pracował wewnątrz niej.Przykład (repozytorium jako domyślne cwd):Tryb zdalny: gdzie jest magazyn sesji?
Tryb zdalny: gdzie jest magazyn sesji?
Podstawy konfiguracji
Jaki format ma konfiguracja? Gdzie się znajduje?
Jaki format ma konfiguracja? Gdzie się znajduje?
$OPENCLAW_CONFIG_PATH (domyślnie: ~/.openclaw/openclaw.json):~/.openclaw/workspace).Ustawiłem gateway.bind: "lan" (lub "tailnet") i teraz nic nie nasłuchuje / UI mówi, że brak autoryzacji
Ustawiłem gateway.bind: "lan" (lub "tailnet") i teraz nic nie nasłuchuje / UI mówi, że brak autoryzacji
- uwierzytelnianie współdzielonym sekretem: token lub hasło
gateway.auth.mode: "trusted-proxy"za poprawnie skonfigurowanym zwrotnym proxy świadomym tożsamości
gateway.remote.token/.passwordnie włączają same z siebie lokalnego uwierzytelniania gateway.- Lokalne ścieżki wywołań mogą używać
gateway.remote.*jako rozwiązania awaryjnego tylko wtedy, gdygateway.auth.*nie jest ustawione. - Dla uwierzytelniania hasłem ustaw zamiast tego
gateway.auth.mode: "password"orazgateway.auth.password(lubOPENCLAW_GATEWAY_PASSWORD). - Jeśli
gateway.auth.token/gateway.auth.passwordjest jawnie skonfigurowane przez SecretRef i nierozwiązane, rozpoznawanie kończy się bezpieczną odmową (bez maskowania przez zdalne rozwiązanie awaryjne). - Konfiguracje Control UI z uwierzytelnianiem współdzielonym sekretem uwierzytelniają się przez
connect.params.auth.tokenlubconnect.params.auth.password(przechowywane w ustawieniach aplikacji/UI). Tryby przenoszące tożsamość, takie jak Tailscale Serve lubtrusted-proxy, używają zamiast tego nagłówków żądania. Unikaj umieszczania współdzielonych sekretów w adresach URL. - Przy
gateway.auth.mode: "trusted-proxy"zwrotne proxy loopback na tym samym hoście wymagają jawnegogateway.auth.trustedProxy.allowLoopback = truei wpisu loopback wgateway.trustedProxies.
Dlaczego teraz potrzebuję tokenu na localhost?
Dlaczego teraz potrzebuję tokenu na localhost?
gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN lub OPENCLAW_GATEWAY_PASSWORD, gdy klienci potrzebują stabilnego sekretu między restartami. Blokuje to innym lokalnym procesom możliwość wywoływania Gateway.Jeśli wolisz inną ścieżkę uwierzytelniania, możesz jawnie wybrać tryb hasła (lub, dla zwrotnych proxy świadomych tożsamości, trusted-proxy). Jeśli naprawdę chcesz otwarty loopback, ustaw jawnie gateway.auth.mode: "none" w konfiguracji. Doctor może w dowolnym momencie wygenerować dla Ciebie token: openclaw doctor --generate-gateway-token.Czy muszę restartować po zmianie konfiguracji?
Czy muszę restartować po zmianie konfiguracji?
gateway.reload.mode: "hybrid"(domyślnie): bezpieczne zmiany stosuje na gorąco, a przy krytycznych wykonuje restart- obsługiwane są też
hot,restart,off
Jak wyłączyć zabawne slogany CLI?
Jak wyłączyć zabawne slogany CLI?
cli.banner.taglineMode w konfiguracji:off: ukrywa tekst sloganu, ale zachowuje wiersz tytułu/wersji banera.default: za każdym razem używaAll your chats, one OpenClaw..random: rotacyjne zabawne/sezonowe slogany (zachowanie domyślne).- Jeśli nie chcesz żadnego banera, ustaw zmienną środowiskową
OPENCLAW_HIDE_BANNER=1.
Jak włączyć wyszukiwanie w sieci (i pobieranie z sieci)?
Jak włączyć wyszukiwanie w sieci (i pobieranie z sieci)?
web_fetch działa bez klucza API. web_search zależy od wybranego
dostawcy:- Dostawcy oparci na API, tacy jak Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity i Tavily, wymagają swojej standardowej konfiguracji klucza API.
- Ollama Web Search nie wymaga klucza, ale używa skonfigurowanego hosta Ollama i wymaga
ollama signin. - DuckDuckGo nie wymaga klucza, ale jest nieoficjalną integracją opartą na HTML.
- SearXNG nie wymaga klucza i może być self-hosted; skonfiguruj
SEARXNG_BASE_URLlubplugins.entries.searxng.config.webSearch.baseUrl.
openclaw configure --section web i wybierz dostawcę.
Alternatywy środowiskowe:- Brave:
BRAVE_API_KEY - Exa:
EXA_API_KEY - Firecrawl:
FIRECRAWL_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEYlubMOONSHOT_API_KEY - MiniMax Search:
MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEYlubMINIMAX_API_KEY - Perplexity:
PERPLEXITY_API_KEYlubOPENROUTER_API_KEY - SearXNG:
SEARXNG_BASE_URL - Tavily:
TAVILY_API_KEY
plugins.entries.<plugin>.config.webSearch.*.
Starsze ścieżki dostawców tools.web.search.* nadal są tymczasowo wczytywane dla zgodności, ale nie należy ich używać w nowych konfiguracjach.
Konfiguracja zapasowa pobierania stron przez Firecrawl znajduje się w plugins.entries.firecrawl.config.webFetch.*.Uwagi:- Jeśli używasz list dozwolonych, dodaj
web_search/web_fetch/x_searchlubgroup:web. web_fetchjest domyślnie włączone (chyba że zostało jawnie wyłączone).- Jeśli
tools.web.fetch.providerzostanie pominięte, OpenClaw automatycznie wykryje pierwszego gotowego zapasowego dostawcę pobierania na podstawie dostępnych poświadczeń. Obecnie dołączonym dostawcą jest Firecrawl. - Demony odczytują zmienne środowiskowe z
~/.openclaw/.env(lub ze środowiska usługi).
config.apply wyczyściło moją konfigurację. Jak ją odzyskać i uniknąć tego problemu?
config.apply wyczyściło moją konfigurację. Jak ją odzyskać i uniknąć tego problemu?
config.apply zastępuje całą konfigurację. Jeśli wyślesz częściowy obiekt, wszystko
pozostałe zostanie usunięte.Obecny OpenClaw chroni przed wieloma przypadkowymi nadpisaniami:- Zapisy konfiguracji wykonywane przez OpenClaw walidują pełną konfigurację po zmianie przed zapisaniem.
- Nieprawidłowe lub destrukcyjne zapisy wykonywane przez OpenClaw są odrzucane i zapisywane jako
openclaw.json.rejected.*. - Jeśli bezpośrednia edycja psuje uruchamianie lub przeładowanie na gorąco, Gateway zamyka się bezpiecznie albo pomija przeładowanie; nie przepisuje
openclaw.json. openclaw doctor --fixodpowiada za naprawę i może przywrócić ostatnią znaną dobrą konfigurację, zapisując odrzucony plik jakoopenclaw.json.clobbered.*.
- Sprawdź
openclaw logs --followpod kątemInvalid config at,Config write rejected:lubconfig reload skipped (invalid config). - Sprawdź najnowszy
openclaw.json.clobbered.*lubopenclaw.json.rejected.*obok aktywnej konfiguracji. - Uruchom
openclaw config validateorazopenclaw doctor --fix. - Skopiuj z powrotem tylko zamierzone klucze za pomocą
openclaw config setlubconfig.patch. - Jeśli nie masz ostatniej znanej dobrej konfiguracji ani odrzuconego ładunku, przywróć z kopii zapasowej albo ponownie uruchom
openclaw doctori skonfiguruj kanały/modele. - Jeśli było to nieoczekiwane, zgłoś błąd i dołącz ostatnią znaną konfigurację lub dowolną kopię zapasową.
- Lokalny agent programistyczny często potrafi odtworzyć działającą konfigurację z logów lub historii.
- Używaj
openclaw config setdo małych zmian. - Używaj
openclaw configuredo interaktywnych edycji. - Najpierw użyj
config.schema.lookup, gdy nie masz pewności co do dokładnej ścieżki lub kształtu pola; zwraca płytki węzeł schematu oraz podsumowania bezpośrednich elementów podrzędnych do dalszego zagłębiania. - Używaj
config.patchdo częściowych edycji RPC;config.applyzachowaj wyłącznie do zastępowania pełnej konfiguracji. - Jeśli używasz narzędzia
gatewaydostępnego tylko dla właściciela z uruchomienia agenta, nadal będzie ono odrzucać zapisy dotools.exec.ask/tools.exec.security(w tym starsze aliasytools.bash.*, które normalizują się do tych samych chronionych ścieżek exec).
Jak uruchomić centralny Gateway ze wyspecjalizowanymi workerami na różnych urządzeniach?
Jak uruchomić centralny Gateway ze wyspecjalizowanymi workerami na różnych urządzeniach?
- Gateway (centralny): obsługuje kanały (Signal/WhatsApp), routing i sesje.
- Węzły (urządzenia): komputery Mac/iOS/Android łączą się jako peryferia i udostępniają narzędzia lokalne (
system.run,canvas,camera). - Agenci (workerzy): osobne mózgi/przestrzenie robocze dla specjalnych ról (np. „Operacje Hetzner”, „Dane osobiste”).
- Subagenci: uruchamiaj pracę w tle z głównego agenta, gdy potrzebujesz równoległości.
- TUI: połącz się z Gateway i przełączaj agentów/sesje.
Czy przeglądarka OpenClaw może działać w trybie headless?
Czy przeglądarka OpenClaw może działać w trybie headless?
false (z widocznym interfejsem). Tryb headless częściej wywołuje kontrole antybotowe na niektórych stronach. Zobacz Przeglądarka.Tryb headless używa tego samego silnika Chromium i działa dla większości automatyzacji (formularze, kliknięcia, scraping, logowania). Główne różnice:- Brak widocznego okna przeglądarki (użyj zrzutów ekranu, jeśli potrzebujesz obrazu).
- Niektóre strony są bardziej restrykcyjne wobec automatyzacji w trybie headless (CAPTCHA, ochrona antybotowa). Na przykład X/Twitter często blokuje sesje headless.
Jak używać Brave do sterowania przeglądarką?
Jak używać Brave do sterowania przeglądarką?
browser.executablePath na plik binarny Brave (lub dowolną przeglądarkę opartą na Chromium) i zrestartuj Gateway.
Pełne przykłady konfiguracji znajdziesz w Przeglądarka.Zdalne Gateway i węzły
Jak polecenia propagują się między Telegram, gateway i węzłami?
Jak polecenia propagują się między Telegram, gateway i węzłami?
node.* → Node → Gateway → TelegramWęzły nie widzą przychodzącego ruchu dostawcy; otrzymują tylko wywołania RPC węzłów.Jak mój agent może uzyskać dostęp do mojego komputera, jeśli Gateway jest hostowany zdalnie?
Jak mój agent może uzyskać dostęp do mojego komputera, jeśli Gateway jest hostowany zdalnie?
node.* (ekran, kamera, system) na twojej lokalnej maszynie przez Gateway WebSocket.Typowa konfiguracja:- Uruchom Gateway na hoście działającym stale (VPS/serwer domowy).
- Umieść host Gateway i swój komputer w tej samej sieci tailnet.
- Upewnij się, że Gateway WS jest osiągalny (wiązanie tailnet lub tunel SSH).
- Otwórz lokalnie aplikację macOS i połącz w trybie Zdalnie przez SSH (lub bezpośrednio przez tailnet), aby mogła zarejestrować się jako węzeł.
-
Zatwierdź węzeł na Gateway:
system.run na tej maszynie. Paruj tylko
urządzenia, którym ufasz, i przejrzyj Bezpieczeństwo.Dokumentacja: Węzły, Protokół Gateway, Tryb zdalny macOS, Bezpieczeństwo.Tailscale jest połączony, ale nie dostaję odpowiedzi. Co teraz?
Tailscale jest połączony, ale nie dostaję odpowiedzi. Co teraz?
- Gateway działa:
openclaw gateway status - Stan Gateway:
openclaw status - Stan kanałów:
openclaw channels status
- Jeśli używasz Tailscale Serve, upewnij się, że
gateway.auth.allowTailscalejest ustawione poprawnie. - Jeśli łączysz się przez tunel SSH, potwierdź, że lokalny tunel działa i wskazuje właściwy port.
- Potwierdź, że twoje listy dozwolonych (DM lub grupa) obejmują twoje konto.
Czy dwie instancje OpenClaw mogą rozmawiać ze sobą (lokalna + VPS)?
Czy dwie instancje OpenClaw mogą rozmawiać ze sobą (lokalna + VPS)?
openclaw agent --message ... --deliver, kierując wiadomość do czatu, w którym nasłuchuje drugi bot.
Jeśli jeden bot działa na zdalnym VPS, skieruj CLI na ten zdalny Gateway
przez SSH/Tailscale (zobacz Dostęp zdalny).Przykładowy wzorzec (uruchom z maszyny, która może połączyć się z docelowym Gateway):Czy potrzebuję oddzielnych VPS-ów dla wielu agentów?
Czy potrzebuję oddzielnych VPS-ów dla wielu agentów?
Czy jest korzyść z używania węzła na moim osobistym laptopie zamiast SSH z VPS?
Czy jest korzyść z używania węzła na moim osobistym laptopie zamiast SSH z VPS?
- Brak wymaganego przychodzącego SSH. Węzły łączą się wychodząco z Gateway WebSocket i używają parowania urządzeń.
- Bezpieczniejsze kontrolki wykonywania.
system.runjest ograniczane listami dozwolonych/zatwierdzeniami węzła na tym laptopie. - Więcej narzędzi urządzenia. Węzły udostępniają
canvas,cameraiscreenopróczsystem.run. - Lokalna automatyzacja przeglądarki. Zachowaj Gateway na VPS, ale uruchamiaj Chrome lokalnie przez host węzła na laptopie albo podłącz się do lokalnego Chrome na hoście przez Chrome MCP.
Czy węzły uruchamiają usługę gateway?
Czy węzły uruchamiają usługę gateway?
gateway, discovery oraz hostowanej powierzchni Plugin.Czy istnieje sposób API / RPC na zastosowanie konfiguracji?
Czy istnieje sposób API / RPC na zastosowanie konfiguracji?
config.schema.lookup: sprawdza jedno poddrzewo konfiguracji wraz z jego płytkim węzłem schematu, dopasowaną wskazówką UI i podsumowaniami bezpośrednich elementów podrzędnych przed zapisemconfig.get: pobiera bieżącą migawkę + hashconfig.patch: bezpieczna częściowa aktualizacja (preferowana przy większości edycji RPC); przeładowuje na gorąco, gdy to możliwe, i restartuje, gdy jest to wymaganeconfig.apply: waliduje + zastępuje pełną konfigurację; przeładowuje na gorąco, gdy to możliwe, i restartuje, gdy jest to wymagane- Narzędzie środowiska uruchomieniowego
gateway, dostępne tylko dla właściciela, nadal odmawia przepisywaniatools.exec.ask/tools.exec.security; starsze aliasytools.bash.*normalizują się do tych samych chronionych ścieżek wykonywania
Minimalna sensowna konfiguracja dla pierwszej instalacji
Minimalna sensowna konfiguracja dla pierwszej instalacji
Jak skonfigurować Tailscale na VPS i połączyć się z Maca?
Jak skonfigurować Tailscale na VPS i połączyć się z Maca?
-
Zainstaluj + zaloguj się na VPS
-
Zainstaluj + zaloguj się na Macu
- Użyj aplikacji Tailscale i zaloguj się do tego samego tailnetu.
-
Włącz MagicDNS (zalecane)
- W konsoli administracyjnej Tailscale włącz MagicDNS, aby VPS miał stabilną nazwę.
-
Użyj nazwy hosta tailnetu
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
Jak połączyć węzeł Mac ze zdalnym Gateway (Tailscale Serve)?
Jak połączyć węzeł Mac ze zdalnym Gateway (Tailscale Serve)?
- Upewnij się, że VPS + Mac są w tym samym tailnecie.
- Użyj aplikacji macOS w trybie zdalnym (celem SSH może być nazwa hosta tailnetu). Aplikacja utworzy tunel do portu Gateway i połączy się jako węzeł.
-
Zatwierdź węzeł na gateway:
Czy zainstalować na drugim laptopie, czy po prostu dodać węzeł?
Czy zainstalować na drugim laptopie, czy po prostu dodać węzeł?
Zmienne środowiskowe i ładowanie .env
Jak OpenClaw ładuje zmienne środowiskowe?
Jak OpenClaw ładuje zmienne środowiskowe?
.envz bieżącego katalogu roboczego- globalny awaryjny
.envz~/.openclaw/.env(czyli$OPENCLAW_STATE_DIR/.env)
.env nie nadpisuje istniejących zmiennych środowiskowych.Możesz też zdefiniować wbudowane zmienne środowiskowe w konfiguracji (stosowane tylko wtedy, gdy brakuje ich w środowisku procesu):Uruchomiłem Gateway przez usługę i moje zmienne środowiskowe zniknęły. Co teraz?
Uruchomiłem Gateway przez usługę i moje zmienne środowiskowe zniknęły. Co teraz?
- Umieść brakujące klucze w
~/.openclaw/.env, aby były pobierane nawet wtedy, gdy usługa nie dziedziczy środowiska powłoki. - Włącz import z powłoki (opcjonalne udogodnienie):
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.Ustawiłem COPILOT_GITHUB_TOKEN, ale status modeli pokazuje "Shell env: off." Dlaczego?
Ustawiłem COPILOT_GITHUB_TOKEN, ale status modeli pokazuje "Shell env: off." Dlaczego?
openclaw models status informuje, czy włączony jest import środowiska powłoki. “Shell env: off”
nie oznacza, że brakuje Twoich zmiennych środowiskowych - oznacza tylko, że OpenClaw nie załaduje
automatycznie Twojej powłoki logowania.Jeśli Gateway działa jako usługa (launchd/systemd), nie odziedziczy Twojego środowiska
powłoki. Napraw to na jeden z tych sposobów:-
Umieść token w
~/.openclaw/.env: -
Albo włącz import z powłoki (
env.shellEnv.enabled: true). -
Albo dodaj go do bloku
envw konfiguracji (stosowane tylko wtedy, gdy go brakuje).
COPILOT_GITHUB_TOKEN (także GH_TOKEN / GITHUB_TOKEN).
Zobacz /concepts/model-providers i /environment.Sesje i wiele czatów
Jak rozpocząć nową rozmowę?
Jak rozpocząć nową rozmowę?
/new lub /reset jako samodzielną wiadomość. Zobacz Zarządzanie sesją.Czy sesje resetują się automatycznie, jeśli nigdy nie wyślę /new?
Czy sesje resetują się automatycznie, jeśli nigdy nie wyślę /new?
session.idleMinutes, ale jest to domyślnie wyłączone (wartość domyślna 0).
Ustaw wartość dodatnią, aby włączyć wygasanie po bezczynności. Gdy jest włączone, następna
wiadomość po okresie bezczynności rozpoczyna nowy identyfikator sesji dla tego klucza czatu.
To nie usuwa transkryptów - po prostu rozpoczyna nową sesję.Czy da się stworzyć zespół instancji OpenClaw (jeden CEO i wielu agentów)?
Czy da się stworzyć zespół instancji OpenClaw (jeden CEO i wielu agentów)?
Dlaczego kontekst został ucięty w trakcie zadania? Jak temu zapobiec?
Dlaczego kontekst został ucięty w trakcie zadania? Jak temu zapobiec?
- Poproś bota o podsumowanie bieżącego stanu i zapisanie go do pliku.
- Użyj
/compactprzed długimi zadaniami oraz/newprzy zmianie tematu. - Przechowuj ważny kontekst w obszarze roboczym i poproś bota, aby go odczytał.
- Używaj podagentów do długiej lub równoległej pracy, aby główny czat pozostał mniejszy.
- Wybierz model z większym oknem kontekstu, jeśli zdarza się to często.
Jak całkowicie zresetować OpenClaw, ale zachować instalację?
Jak całkowicie zresetować OpenClaw, ale zachować instalację?
- Onboarding oferuje też Reset, jeśli wykryje istniejącą konfigurację. Zobacz Onboarding (CLI).
- Jeśli używasz profili (
--profile/OPENCLAW_PROFILE), zresetuj każdy katalog stanu (domyślne to~/.openclaw-<profile>). - Reset deweloperski:
openclaw gateway --dev --reset(tylko deweloperski; czyści konfigurację deweloperską + dane uwierzytelniające + sesje + obszar roboczy).
Dostaję błędy "context too large" - jak zresetować albo skompaktować?
Dostaję błędy "context too large" - jak zresetować albo skompaktować?
-
Kompaktuj (zachowuje rozmowę, ale podsumowuje starsze tury):
albo
/compact <instructions>, aby ukierunkować podsumowanie. -
Zresetuj (nowy identyfikator sesji dla tego samego klucza czatu):
- Włącz lub dostrój przycinanie sesji (
agents.defaults.contextPruning), aby skracać stare wyniki narzędzi. - Użyj modelu z większym oknem kontekstu.
Dlaczego widzę "LLM request rejected: messages.content.tool_use.input field required"?
Dlaczego widzę "LLM request rejected: messages.content.tool_use.input field required"?
tool_use bez wymaganego
input. Zwykle oznacza to, że historia sesji jest nieaktualna lub uszkodzona (często po długich wątkach
albo zmianie narzędzia/schematu).Naprawa: rozpocznij nową sesję za pomocą /new (samodzielna wiadomość).Dlaczego dostaję wiadomości heartbeat co 30 minut?
Dlaczego dostaję wiadomości heartbeat co 30 minut?
HEARTBEAT.md istnieje, ale jest faktycznie pusty (tylko puste wiersze i nagłówki markdown
takie jak # Heading), OpenClaw pomija przebieg heartbeat, aby oszczędzać wywołania API.
Jeśli pliku brakuje, heartbeat nadal działa, a model decyduje, co zrobić.Nadpisania dla poszczególnych agentów używają agents.list[].heartbeat. Dokumentacja: Heartbeat.Czy muszę dodać "konto bota" do grupy WhatsApp?
Czy muszę dodać "konto bota" do grupy WhatsApp?
groupPolicy: "allowlist").Jeśli chcesz, aby tylko Ty mógł wyzwalać odpowiedzi w grupie:Jak uzyskać JID grupy WhatsApp?
Jak uzyskać JID grupy WhatsApp?
Dlaczego OpenClaw nie odpowiada w grupie?
Dlaczego OpenClaw nie odpowiada w grupie?
- Bramka wzmianki jest włączona (domyślnie). Musisz @wspomnieć bota (albo dopasować
mentionPatterns). - Skonfigurowano
channels.whatsapp.groupsbez"*", a grupa nie jest na allowlist.
Czy grupy/wątki współdzielą kontekst z DM?
Czy grupy/wątki współdzielą kontekst z DM?
Ile przestrzeni roboczych i agentów mogę utworzyć?
Ile przestrzeni roboczych i agentów mogę utworzyć?
- Wzrost użycia dysku: sesje + transkrypcje znajdują się w
~/.openclaw/agents/<agentId>/sessions/. - Koszt tokenów: więcej agentów oznacza więcej równoczesnego użycia modeli.
- Narzut operacyjny: profile uwierzytelniania, przestrzenie robocze i routing kanałów dla każdego agenta.
- Zachowaj jedną aktywną przestrzeń roboczą na agenta (
agents.defaults.workspace). - Przycinaj stare sesje (usuń JSONL lub wpisy magazynu), jeśli dysk rośnie.
- Użyj
openclaw doctor, aby znaleźć zbłąkane przestrzenie robocze i niezgodności profili.
Czy mogę uruchamiać wiele botów lub czatów jednocześnie (Slack) i jak mam to skonfigurować?
Czy mogę uruchamiać wiele botów lub czatów jednocześnie (Slack) i jak mam to skonfigurować?
- Zawsze włączony host Gateway (VPS/Mac mini).
- Jeden agent na rolę (powiązania).
- Kanały Slack powiązane z tymi agentami.
- Lokalna przeglądarka przez Chrome MCP lub węzeł, gdy jest potrzebna.
Modele, failover i profile uwierzytelniania
Pytania i odpowiedzi o modelach — domyślne ustawienia, wybór, aliasy, przełączanie, failover, profile uwierzytelniania — znajdują się w FAQ modeli.Gateway: porty, „już uruchomiony” i tryb zdalny
Jakiego portu używa Gateway?
Jakiego portu używa Gateway?
gateway.port steruje pojedynczym multipleksowanym portem dla WebSocket + HTTP (Control UI, hooki itd.).Kolejność pierwszeństwa:Dlaczego openclaw gateway status mówi "Runtime: running", ale "Connectivity probe: failed"?
Dlaczego openclaw gateway status mówi "Runtime: running", ale "Connectivity probe: failed"?
openclaw gateway status i ufaj tym wierszom:Probe target:(URL, którego sonda faktycznie użyła)Listening:(co faktycznie nasłuchuje na porcie)Last gateway error:(częsta przyczyna źródłowa, gdy proces działa, ale port nie nasłuchuje)
Dlaczego openclaw gateway status pokazuje różne "Config (cli)" i "Config (service)"?
Dlaczego openclaw gateway status pokazuje różne "Config (cli)" i "Config (service)"?
--profile / OPENCLAW_STATE_DIR).Poprawka:--profile / środowiska, którego ma używać usługa.Co oznacza "another gateway instance is already listening"?
Co oznacza "another gateway instance is already listening"?
ws://127.0.0.1:18789). Jeśli wiązanie nie powiedzie się z EADDRINUSE, zgłasza GatewayLockError, wskazując, że inna instancja już nasłuchuje.Poprawka: zatrzymaj drugą instancję, zwolnij port albo uruchom z openclaw gateway --port <port>.Jak uruchomić OpenClaw w trybie zdalnym (klient łączy się z Gateway gdzie indziej)?
Jak uruchomić OpenClaw w trybie zdalnym (klient łączy się z Gateway gdzie indziej)?
gateway.mode: "remote" i wskaż zdalny URL WebSocket, opcjonalnie ze zdalnymi poświadczeniami opartymi na wspólnym sekrecie:openclaw gatewayuruchamia się tylko wtedy, gdygateway.modema wartośćlocal(albo gdy podasz flagę nadpisania).- Aplikacja macOS obserwuje plik konfiguracji i przełącza tryby na żywo, gdy te wartości się zmienią.
gateway.remote.token/.passwordto wyłącznie zdalne poświadczenia po stronie klienta; same nie włączają lokalnego uwierzytelniania Gateway.
Control UI mówi "unauthorized" (albo ciągle łączy się ponownie). Co teraz?
Control UI mówi "unauthorized" (albo ciągle łączy się ponownie). Co teraz?
Ustawiłem gateway.bind na tailnet, ale nie może wykonać bind i nic nie nasłuchuje
Ustawiłem gateway.bind na tailnet, ale nie może wykonać bind i nic nie nasłuchuje
tailnet wybiera adres IP Tailscale z interfejsów sieciowych (100.64.0.0/10). Jeśli maszyna nie jest w Tailscale (albo interfejs jest wyłączony), nie ma do czego wykonać bind.Poprawka:- Uruchom Tailscale na tym hoście (aby miał adres 100.x), albo
- Przełącz na
gateway.bind: "loopback"/"lan".
tailnet jest jawne. auto preferuje loopback; użyj gateway.bind: "tailnet", gdy chcesz bind tylko dla tailnet.Czy mogę uruchamiać wiele Gateway na tym samym hoście?
Czy mogę uruchamiać wiele Gateway na tym samym hoście?
OPENCLAW_CONFIG_PATH(konfiguracja dla każdej instancji)OPENCLAW_STATE_DIR(stan dla każdej instancji)agents.defaults.workspace(izolacja przestrzeni roboczej)gateway.port(unikalne porty)
- Użyj
openclaw --profile <name> ...dla każdej instancji (automatycznie tworzy~/.openclaw-<name>). - Ustaw unikalny
gateway.portw konfiguracji każdego profilu (albo przekaż--portprzy ręcznych uruchomieniach). - Zainstaluj usługę dla profilu:
openclaw --profile <name> gateway install.
ai.openclaw.<profile>; starsze com.openclaw.*, openclaw-gateway-<profile>.service, OpenClaw Gateway (<profile>)).
Pełny przewodnik: Wiele Gateway.Co oznacza "invalid handshake" / kod 1008?
Co oznacza "invalid handshake" / kod 1008?
connect. Jeśli otrzyma cokolwiek innego, zamyka połączenie
z kodem 1008 (naruszenie zasad).Częste przyczyny:- Otworzyłeś URL HTTP w przeglądarce (
http://...) zamiast klienta WS. - Użyłeś złego portu lub ścieżki.
- Proxy lub tunel usunął nagłówki uwierzytelniania albo wysłał żądanie niebędące żądaniem Gateway.
- Użyj URL WS:
ws://<host>:18789(albowss://..., jeśli HTTPS). - Nie otwieraj portu WS w zwykłej karcie przeglądarki.
- Jeśli uwierzytelnianie jest włączone, uwzględnij token/hasło w ramce
connect.
Logowanie i debugowanie
Gdzie są logi?
Gdzie są logi?
logging.file. Poziom logowania pliku jest kontrolowany przez logging.level. Szczegółowość konsoli jest kontrolowana przez --verbose i logging.consoleLevel.Najszybsze śledzenie logów:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.logigateway.err.log(domyślnie:~/.openclaw/logs/...; profile używają~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
Jak uruchomić/zatrzymać/zrestartować usługę Gateway?
Jak uruchomić/zatrzymać/zrestartować usługę Gateway?
openclaw gateway --force może odzyskać port. Zobacz Gateway.Zamknąłem terminal w Windows - jak zrestartować OpenClaw?
Zamknąłem terminal w Windows - jak zrestartować OpenClaw?
Gateway działa, ale odpowiedzi nigdy nie docierają. Co sprawdzić?
Gateway działa, ale odpowiedzi nigdy nie docierają. Co sprawdzić?
- Uwierzytelnianie modeli nie jest załadowane na hoście Gateway (sprawdź
models status). - Parowanie kanału/lista dozwolonych blokuje odpowiedzi (sprawdź konfigurację kanału i logi).
- WebChat/Dashboard jest otwarty bez właściwego tokenu.
"Odłączono od gateway: brak powodu" - co teraz?
"Odłączono od gateway: brak powodu" - co teraz?
- Czy Gateway działa?
openclaw gateway status - Czy Gateway jest w dobrym stanie?
openclaw status - Czy UI ma właściwy token?
openclaw dashboard - Jeśli pracujesz zdalnie, czy tunel/łącze Tailscale działa?
Telegram setMyCommands kończy się niepowodzeniem. Co sprawdzić?
Telegram setMyCommands kończy się niepowodzeniem. Co sprawdzić?
BOT_COMMANDS_TOO_MUCH: menu Telegram ma za dużo pozycji. OpenClaw już przycina je do limitu Telegram i ponawia próbę z mniejszą liczbą poleceń, ale niektóre pozycje menu nadal trzeba usunąć. Zmniejsz liczbę poleceń pluginów/umiejętności/niestandardowych albo wyłączchannels.telegram.commands.native, jeśli nie potrzebujesz menu.TypeError: fetch failed,Network request for 'setMyCommands' failed!lub podobne błędy sieciowe: jeśli używasz VPS albo jesteś za proxy, potwierdź, że wychodzący HTTPS jest dozwolony i DNS działa dlaapi.telegram.org.
TUI nie pokazuje wyjścia. Co sprawdzić?
TUI nie pokazuje wyjścia. Co sprawdzić?
/status, aby zobaczyć bieżący stan. Jeśli oczekujesz odpowiedzi w kanale czatu,
upewnij się, że dostarczanie jest włączone (/deliver on).Dokumentacja: TUI, Polecenia ukośnikiem.Jak całkowicie zatrzymać, a potem uruchomić Gateway?
Jak całkowicie zatrzymać, a potem uruchomić Gateway?
ELI5: openclaw gateway restart kontra openclaw gateway
ELI5: openclaw gateway restart kontra openclaw gateway
openclaw gateway restart: restartuje usługę w tle (launchd/systemd).openclaw gateway: uruchamia gateway w pierwszym planie dla tej sesji terminala.
openclaw gateway, gdy
chcesz jednorazowego uruchomienia w pierwszym planie.Najszybszy sposób na uzyskanie większej liczby szczegółów, gdy coś się nie powiedzie
Najszybszy sposób na uzyskanie większej liczby szczegółów, gdy coś się nie powiedzie
--verbose, aby uzyskać więcej szczegółów w konsoli. Następnie sprawdź plik logu pod kątem uwierzytelniania kanałów, routingu modeli i błędów RPC.Media i załączniki
Moja umiejętność wygenerowała obraz/PDF, ale nic nie zostało wysłane
Moja umiejętność wygenerowała obraz/PDF, ale nic nie zostało wysłane
MEDIA:<path-or-url> (w osobnym wierszu). Zobacz Konfiguracja asystenta OpenClaw i Wysyłanie przez agenta.Wysyłanie przez CLI:- Kanał docelowy obsługuje media wychodzące i nie jest blokowany przez listy dozwolonych.
- Plik mieści się w limitach rozmiaru dostawcy (obrazy są skalowane do maks. 2048 px).
tools.fs.workspaceOnly=trueogranicza wysyłanie ścieżek lokalnych do obszaru roboczego, tymczasowego magazynu multimediów oraz plików zweryfikowanych przez sandbox.tools.fs.workspaceOnly=falsepozwalaMEDIA:wysyłać lokalne pliki hosta, które agent już może odczytać, ale tylko dla mediów i bezpiecznych typów dokumentów (obrazy, audio, wideo, PDF i dokumenty Office). Pliki zwykłego tekstu i pliki przypominające sekrety nadal są blokowane.
Bezpieczeństwo i kontrola dostępu
Czy wystawienie OpenClaw na przychodzące wiadomości DM jest bezpieczne?
Czy wystawienie OpenClaw na przychodzące wiadomości DM jest bezpieczne?
- Domyślne zachowanie na kanałach obsługujących DM to parowanie:
- Nieznani nadawcy otrzymują kod parowania; bot nie przetwarza ich wiadomości.
- Zatwierdź za pomocą:
openclaw pairing approve --channel <channel> [--account <id>] <code> - Oczekujące żądania są ograniczone do 3 na kanał; sprawdź
openclaw pairing list --channel <channel> [--account <id>], jeśli kod nie dotarł.
- Publiczne otwarcie DM wymaga jawnej zgody (
dmPolicy: "open"i lista dozwolonych"*").
openclaw doctor, aby wykryć ryzykowne polityki DM.Czy prompt injection dotyczy tylko publicznych botów?
Czy prompt injection dotyczy tylko publicznych botów?
- używanie agenta „reader” tylko do odczytu lub bez narzędzi do streszczania niezaufanych treści
- wyłączenie
web_search/web_fetch/browserdla agentów z włączonymi narzędziami - traktowanie zdekodowanego tekstu pliku/dokumentu także jako niezaufanego: OpenResponses
input_fileoraz ekstrakcja załączników multimedialnych opakowują wyodrębniony tekst w jawne znaczniki granic treści zewnętrznych zamiast przekazywać surowy tekst pliku - sandboxing i ścisłe listy dozwolonych narzędzi
Czy mój bot powinien mieć własny e-mail, konto GitHub albo numer telefonu?
Czy mój bot powinien mieć własny e-mail, konto GitHub albo numer telefonu?
Czy mogę dać mu autonomię nad moimi wiadomościami tekstowymi i czy to bezpieczne?
Czy mogę dać mu autonomię nad moimi wiadomościami tekstowymi i czy to bezpieczne?
- Trzymaj DM w trybie parowania albo na ścisłej liście dozwolonych.
- Użyj osobnego numeru lub konta, jeśli chcesz, aby wysyłał wiadomości w Twoim imieniu.
- Pozwól mu przygotować wersję roboczą, a następnie zatwierdź przed wysłaniem.
Czy mogę używać tańszych modeli do zadań osobistego asystenta?
Czy mogę używać tańszych modeli do zadań osobistego asystenta?
Uruchomiłem /start w Telegram, ale nie dostałem kodu parowania
Uruchomiłem /start w Telegram, ale nie dostałem kodu parowania
dmPolicy: "pairing" jest włączone. Samo /start nie generuje kodu.Sprawdź oczekujące żądania:dmPolicy: "open"
dla tego konta.WhatsApp: czy będzie pisał do moich kontaktów? Jak działa parowanie?
WhatsApp: czy będzie pisał do moich kontaktów? Jak działa parowanie?
channels.whatsapp.selfChatMode.Polecenia czatu, przerywanie zadań i „to się nie zatrzyma”
Jak zatrzymać wyświetlanie wewnętrznych komunikatów systemowych w czacie?
Jak zatrzymać wyświetlanie wewnętrznych komunikatów systemowych w czacie?
verboseDefault ustawionym
na on w konfiguracji.Dokumentacja: Thinking i verbose, Bezpieczeństwo.Jak zatrzymać/anulować uruchomione zadanie?
Jak zatrzymać/anulować uruchomione zadanie?
/, ale kilka skrótów (takich jak /status) działa też w treści wiadomości dla nadawców z listy dozwolonych.Jak wysłać wiadomość Discord z Telegram? („Cross-context messaging denied”)
Jak wysłać wiadomość Discord z Telegram? („Cross-context messaging denied”)
Dlaczego wygląda, jakby bot „ignorował” szybko wysyłane wiadomości?
Dlaczego wygląda, jakby bot „ignorował” szybko wysyłane wiadomości?
/queue, aby zmienić tryby:steer- kolejkowanie wszystkich oczekujących wskazówek do następnej granicy modelu w bieżącym przebieguqueue- starsze sterowanie po jednym elemencie narazfollowup- uruchamianie wiadomości po jednej narazcollect- grupowanie wiadomości i jedna odpowiedźsteer-backlog- steruj teraz, potem przetwórz zaległościinterrupt- przerwij bieżący przebieg i zacznij od nowa
steer. Dla trybów kontynuacji możesz dodać opcje takie jak debounce:0.5s cap:25 drop:summarize. Zobacz Kolejka poleceń i Kolejka sterowania.Różne
Jaki jest domyślny model dla Anthropic z kluczem API?
Jaki jest domyślny model dla Anthropic z kluczem API?
ANTHROPIC_API_KEY (lub zapisanie klucza API Anthropic w profilach uwierzytelniania) włącza uwierzytelnianie, ale rzeczywisty model domyślny to ten, który skonfigurujesz w agents.defaults.model.primary (na przykład anthropic/claude-sonnet-4-6 albo anthropic/claude-opus-4-6). Jeśli widzisz No credentials found for profile "anthropic:default", oznacza to, że Gateway nie mógł znaleźć danych uwierzytelniających Anthropic w oczekiwanym pliku auth-profiles.json dla uruchomionego agenta.Nadal masz problem? Zapytaj na Discord albo otwórz dyskusję na GitHub.
Powiązane
- FAQ pierwszego uruchomienia — instalacja, wdrożenie, uwierzytelnianie, subskrypcje, wczesne błędy
- FAQ modeli — wybór modelu, przełączanie awaryjne, profile uwierzytelniania
- Rozwiązywanie problemów — diagnozowanie zaczynające się od objawów