Guides
Konfiguracja osobistego asystenta
OpenClaw to samodzielnie hostowany Gateway, który łączy Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo i inne usługi z agentami AI. Ten przewodnik opisuje konfigurację „osobistego asystenta”: dedykowany numer WhatsApp, który działa jak stale dostępny asystent AI.
Najpierw bezpieczeństwo
Udostępnienie agentowi kanału umożliwia mu wykonywanie poleceń na komputerze (zależnie od zasad dotyczących narzędzi), odczytywanie i zapisywanie plików w przestrzeni roboczej oraz wysyłanie wiadomości przez dowolny połączony kanał. Na początek należy zastosować restrykcyjne ustawienia:
- Zawsze ustawiaj
channels.whatsapp.allowFrom(nigdy nie uruchamiaj publicznie dostępnej usługi na prywatnym Macu). - Używaj dedykowanego numeru WhatsApp dla asystenta.
- Domyślnie Heartbeat jest uruchamiany co 30 minut. Do czasu uzyskania zaufania do konfiguracji wyłącz go, ustawiając
agents.defaults.heartbeat.every: "0m".
Wymagania wstępne
- Zainstalowany i skonfigurowany OpenClaw — jeśli nie zostało to jeszcze zrobione, zobacz Pierwsze kroki
- Drugi numer telefonu (SIM/eSIM/karta przedpłacona) dla asystenta
Konfiguracja z dwoma telefonami (zalecana)
Docelowa konfiguracja:
flowchart TB
A["<b>Twój telefon (prywatny)<br></b><br>Twój WhatsApp<br>+1-555-YOU"] -- wiadomość --> B["<b>Drugi telefon (asystent)<br></b><br>WhatsApp asystenta<br>+1-555-ASSIST"]
B -- połączony za pomocą kodu QR --> C["<b>Twój Mac (openclaw)<br></b><br>Agent AI"]Jeśli prywatne konto WhatsApp zostanie połączone z OpenClaw, każda otrzymana wiadomość stanie się „danymi wejściowymi agenta”. Zwykle nie jest to pożądane.
Szybki start w 5 minut
- Sparuj WhatsApp Web (zostanie wyświetlony kod QR; zeskanuj go telefonem asystenta):
openclaw channels login- Uruchom Gateway (pozostaw go uruchomionego):
openclaw gateway --port 18789- Umieść minimalną konfigurację w
~/.openclaw/openclaw.json:
{ gateway: { mode: "local" }, channels: { whatsapp: { allowFrom: ["+15555550123"] } },}Teraz wyślij wiadomość na numer asystenta z telefonu znajdującego się na liście dozwolonych numerów.
Po zakończeniu wdrażania OpenClaw automatycznie otwiera panel i wyświetla zwykły link (bez tokenu). Jeśli panel poprosi o uwierzytelnienie, wklej skonfigurowany współdzielony sekret w ustawieniach interfejsu Control UI. Wdrażanie domyślnie używa tokenu (gateway.auth.token), ale uwierzytelnianie hasłem również działa, jeśli zmieniono gateway.auth.mode na password. Aby otworzyć panel ponownie później: openclaw dashboard.
Udostępnianie agentowi przestrzeni roboczej (AGENTS)
OpenClaw odczytuje instrukcje działania i „pamięć” z katalogu przestrzeni roboczej.
Domyślnie OpenClaw używa ~/.openclaw/workspace jako przestrzeni roboczej agenta i tworzy ją (wraz z początkowymi plikami AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automatycznie podczas wdrażania lub pierwszego uruchomienia agenta. Plik BOOTSTRAP.md jest tworzony tylko dla zupełnie nowej przestrzeni roboczej i nie powinien pojawić się ponownie po usunięciu. Plik MEMORY.md jest opcjonalny i nigdy nie jest tworzony automatycznie; jeśli istnieje, jest wczytywany podczas zwykłych sesji. W sesjach podagentów wstrzykiwane są tylko AGENTS.md i TOOLS.md.
Aby utworzyć foldery przestrzeni roboczej i konfiguracji bez uruchamiania pełnego kreatora wdrażania:
openclaw setup --baseline(Samo openclaw setup jest aliasem openclaw onboard i uruchamia pełny interaktywny kreator).
Pełny układ przestrzeni roboczej i przewodnik tworzenia kopii zapasowych: Przestrzeń robocza agenta Przepływ pracy z pamięcią: Pamięć
Opcjonalnie: wybierz inną przestrzeń roboczą za pomocą agents.defaults.workspace (obsługuje ~).
{ agents: { defaults: { workspace: "~/.openclaw/workspace", }, },}Jeśli własne pliki przestrzeni roboczej są już dostarczane z repozytorium, można całkowicie wyłączyć tworzenie plików początkowych:
{ agents: { defaults: { skipBootstrap: true, }, },}Konfiguracja zmieniająca go w „asystenta”
Domyślna konfiguracja OpenClaw dobrze sprawdza się jako asystent, ale zwykle warto dostosować:
- osobowość/instrukcje w
SOUL.md - domyślne ustawienia rozumowania (w razie potrzeby)
- Heartbeat (po uzyskaniu zaufania do konfiguracji)
Przykład:
{ logging: { level: "info" }, agents: { defaults: { model: { primary: "anthropic/claude-opus-4-8" }, workspace: "~/.openclaw/workspace", thinkingDefault: "high", timeoutSeconds: 1800, // Zacznij od 0; włącz później. heartbeat: { every: "0m" }, }, list: [ { id: "main", default: true, groupChat: { mentionPatterns: ["@openclaw", "openclaw"], }, }, ], }, channels: { whatsapp: { allowFrom: ["+15555550123"], groups: { "*": { requireMention: true }, }, }, }, session: { scope: "per-sender", resetTriggers: ["/new", "/reset"], reset: { mode: "daily", atHour: 4, idleMinutes: 10080, }, },}Sesje i pamięć
- Wiersze sesji, wiersze transkrypcji i metadane (użycie tokenów, ostatnia trasa itp.):
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Starsze/archiwalne artefakty transkrypcji:
~/.openclaw/agents/<agentId>/sessions/ - Źródło migracji starszych wierszy:
~/.openclaw/agents/<agentId>/sessions/sessions.json /newlub/resetrozpoczyna nową sesję dla danego czatu (można to skonfigurować za pomocąsession.resetTriggers). Jeśli polecenie zostanie wysłane samodzielnie, OpenClaw potwierdzi zresetowanie bez wywoływania modelu./compact [instructions]wykonuje Compaction kontekstu sesji i podaje pozostały budżet kontekstu.
Heartbeat (tryb proaktywny)
Domyślnie OpenClaw uruchamia Heartbeat co 30 minut z monitem:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.
Aby go wyłączyć, ustaw agents.defaults.heartbeat.every: "0m".
- Jeśli plik
HEARTBEAT.mdistnieje, ale jest faktycznie pusty (zawiera tylko puste wiersze, komentarze Markdown/HTML, nagłówki Markdown takie jak# Heading, znaczniki ogrodzeń lub puste elementy listy kontrolnej), OpenClaw pomija uruchomienie Heartbeat, aby ograniczyć liczbę wywołań API. - Jeśli plik nie istnieje, Heartbeat nadal jest uruchamiany, a model decyduje, co zrobić.
- Jeśli agent odpowie
HEARTBEAT_OK(opcjonalnie z krótkim dopełnieniem; zobaczagents.defaults.heartbeat.ackMaxChars), OpenClaw wstrzymuje dostarczenie wychodzące dla tego Heartbeat. - Domyślnie dozwolone jest dostarczanie Heartbeat do celów
user:<id>typu wiadomości bezpośredniej. Ustawagents.defaults.heartbeat.directPolicy: "block", aby wstrzymać dostarczanie do celów bezpośrednich bez wyłączania uruchomień Heartbeat. - Heartbeat uruchamia pełne tury agenta — krótsze odstępy zużywają więcej tokenów.
{ agents: { defaults: { heartbeat: { every: "30m" }, }, },}Multimedia przychodzące i wychodzące
Załączniki przychodzące (obrazy/dźwięk/dokumenty) można udostępniać poleceniu za pomocą szablonów:
{{MediaPath}}(ścieżka lokalnego pliku tymczasowego){{MediaUrl}}(pseudo-URL){{Transcript}}(jeśli transkrypcja dźwięku jest włączona)
Załączniki wychodzące od agenta używają ustrukturyzowanych pól multimediów w narzędziu wiadomości lub ładunku odpowiedzi, takich jak media, mediaUrl, mediaUrls, path lub filePath. Przykładowe argumenty narzędzia wiadomości:
{ "message": "Oto zrzut ekranu.", "mediaUrl": "https://example.com/screenshot.png"}OpenClaw wysyła ustrukturyzowane multimedia wraz z tekstem. Starsze końcowe odpowiedzi asystenta mogą nadal być normalizowane w celu zachowania zgodności, ale dane wyjściowe narzędzi i przeglądarki, bloki przesyłane strumieniowo oraz działania na wiadomościach nie interpretują tekstu jako poleceń załączników.
Obsługa ścieżek lokalnych korzysta z tego samego modelu zaufania dotyczącego odczytu plików co agent:
- Jeśli
tools.fs.workspaceOnlyma wartośćtrue, wychodzące ścieżki lokalnych multimediów pozostają ograniczone do katalogu tymczasowego OpenClaw, pamięci podręcznej multimediów, ścieżek przestrzeni roboczej agenta oraz plików wygenerowanych w piaskownicy. - Jeśli
tools.fs.workspaceOnlyma wartośćfalse, wychodzące lokalne multimedia mogą korzystać z lokalnych plików hosta, które agent ma już prawo odczytywać. - Ścieżki lokalne mogą być bezwzględne, względne wobec przestrzeni roboczej lub względne wobec katalogu domowego przy użyciu
~/. - Wysyłanie plików lokalnych hosta nadal dopuszcza wyłącznie multimedia i bezpieczne typy dokumentów (obrazy, dźwięk, wideo, PDF, dokumenty pakietów biurowych oraz zweryfikowane dokumenty tekstowe, takie jak Markdown/MD, TXT, JSON, YAML i YML). Jest to rozszerzenie istniejącej granicy zaufania dotyczącej odczytu z hosta, a nie skaner sekretów: jeśli agent może odczytać lokalny plik hosta
secret.txtlubconfig.json, może go załączyć, gdy rozszerzenie i weryfikacja zawartości są zgodne.
Pliki poufne należy przechowywać poza systemem plików dostępnym dla agenta albo zachować tools.fs.workspaceOnly: true, aby bardziej rygorystycznie ograniczyć wysyłanie plików ze ścieżek lokalnych.
Lista kontrolna operacji
openclaw status # stan lokalny (dane uwierzytelniające, sesje, zdarzenia w kolejce)openclaw status --all # pełna diagnostyka (tylko do odczytu, możliwa do wklejenia)openclaw status --deep # sprawdzanie kanałów (WhatsApp Web + Telegram + Discord + Slack + Signal)openclaw health --json # migawka kondycji Gateway przez połączenie WSDzienniki znajdują się w /tmp/openclaw/ (domyślnie: openclaw-YYYY-MM-DD.log).
Następne kroki
- WebChat: WebChat
- Obsługa Gateway: Podręcznik operacyjny Gateway
- Cron i wybudzenia: Zadania Cron
- Narzędzie towarzyszące na pasku menu macOS: Aplikacja OpenClaw dla macOS
- Aplikacja Node dla systemu iOS: Aplikacja dla systemu iOS
- Aplikacja Node dla systemu Android: Aplikacja dla systemu Android
- Centrum systemu Windows: Windows
- Stan systemu Linux: Aplikacja dla systemu Linux
- Bezpieczeństwo: Bezpieczeństwo