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

  1. Sparuj WhatsApp Web (zostanie wyświetlony kod QR; zeskanuj go telefonem asystenta):
bash
openclaw channels login
  1. Uruchom Gateway (pozostaw go uruchomionego):
bash
openclaw gateway --port 18789
  1. Umieść minimalną konfigurację w ~/.openclaw/openclaw.json:
json5
{  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:

bash
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 ~).

json5
{  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:

json5
{  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:

json5
{  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
  • /new lub /reset rozpoczyna 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.md istnieje, 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; zobacz agents.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. Ustaw agents.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.
json5
{  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:

json
{  "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.workspaceOnly ma 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.workspaceOnly ma 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.txt lub config.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

bash
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 WS

Dzienniki znajdują się w /tmp/openclaw/ (domyślnie: openclaw-YYYY-MM-DD.log).

Następne kroki

Powiązane

Was this useful?
On this page

On this page