Advanced setup
Konfiguracja
TL;DR
Wybierz workflow konfiguracji w zależności od tego, jak często chcesz aktualizować i czy chcesz samodzielnie uruchamiać Gateway:
- Dostosowanie żyje poza repozytorium: trzymaj konfigurację i workspace w
~/.openclaw/openclaw.jsonoraz~/.openclaw/workspace/, aby aktualizacje repozytorium ich nie dotykały. - Stabilny workflow (zalecany dla większości): zainstaluj aplikację macOS i pozwól jej uruchamiać dołączony Gateway.
- Workflow bleeding edge (dev): uruchamiaj Gateway samodzielnie przez
pnpm gateway:watch, a następnie pozwól aplikacji macOS podłączyć się w trybie Local.
Wymagania wstępne (ze źródła)
- Zalecany Node 24 (Node 22 LTS, obecnie
22.14+, nadal obsługiwany) pnpmjest wymagany dla checkoutów źródłowych. OpenClaw ładuje dołączone pluginy z pakietów workspace pnpmextensions/*w trybie dev, więc głównenpm installnie przygotowuje pełnego drzewa źródeł.- Docker (opcjonalnie; tylko do konfiguracji skonteneryzowanej/e2e - zobacz Docker)
Strategia dostosowania (aby aktualizacje nie szkodziły)
Jeśli chcesz „w 100% dostosowane do mnie” i łatwe aktualizacje, trzymaj swoją personalizację w:
- Konfiguracja:
~/.openclaw/openclaw.json(JSON/JSON5-ish) - Workspace:
~/.openclaw/workspace(skills, prompty, pamięci; zrób z niego prywatne repozytorium git)
Jednorazowy bootstrap:
openclaw setup
Z wnętrza tego repozytorium użyj lokalnego wejścia CLI:
openclaw setup
Jeśli nie masz jeszcze instalacji globalnej, uruchom przez pnpm openclaw setup.
Uruchamianie Gateway z tego repozytorium
Po pnpm build możesz uruchomić spakowane CLI bezpośrednio:
node openclaw.mjs gateway --port 18789 --verbose
Stabilny workflow (najpierw aplikacja macOS)
- Zainstaluj i uruchom OpenClaw.app (pasek menu).
- Ukończ checklistę onboardingu/uprawnień (prompty TCC).
- Upewnij się, że Gateway jest Local i działa (aplikacja nim zarządza).
- Połącz powierzchnie (przykład: WhatsApp):
openclaw channels login
- Kontrola poprawności:
openclaw health
Jeśli onboarding nie jest dostępny w Twojej kompilacji:
- Uruchom
openclaw setup, potemopenclaw channels login, a następnie ręcznie uruchom Gateway (openclaw gateway).
Workflow bleeding edge (Gateway w terminalu)
Cel: pracować nad TypeScript Gateway, mieć hot reload i utrzymywać podłączony UI aplikacji macOS.
0) (Opcjonalnie) Uruchom też aplikację macOS ze źródeł
Jeśli chcesz także aplikację macOS w wersji bleeding edge:
./scripts/restart-mac.sh
1) Uruchom dev Gateway
pnpm install
# First run only (or after resetting local OpenClaw config/workspace)
pnpm openclaw setup
pnpm gateway:watch
gateway:watch uruchamia lub restartuje proces watch Gateway w nazwanej sesji tmux
i automatycznie podłącza się z interaktywnych terminali. Powłoki nieinteraktywne pozostają
odłączone i wypisują tmux attach -t openclaw-gateway-watch-main; użyj
OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch, aby pozostawić interaktywne uruchomienie
odłączone, albo pnpm gateway:watch:raw dla trybu watch na pierwszym planie. Watcher
przeładowuje się przy odpowiednich zmianach źródeł, konfiguracji i metadanych dołączonych pluginów. Jeśli
obserwowany Gateway zakończy działanie podczas startu, gateway:watch uruchamia
openclaw doctor --fix --non-interactive raz i ponawia próbę; ustaw
OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0, aby wyłączyć ten przebieg naprawczy tylko dla dev.
pnpm openclaw setup to jednorazowy krok inicjalizacji lokalnej konfiguracji/workspace dla świeżego checkoutu.
pnpm gateway:watch nie przebudowuje dist/control-ui, więc po zmianach w ui/ uruchom ponownie pnpm ui:build albo używaj pnpm ui:dev podczas rozwijania Control UI.
2) Skieruj aplikację macOS na działający Gateway
W OpenClaw.app:
- Connection Mode: Local Aplikacja podłączy się do działającego gateway na skonfigurowanym porcie.
3) Zweryfikuj
- Status Gateway w aplikacji powinien pokazywać "Using existing gateway …"
- Albo przez CLI:
openclaw health
Typowe pułapki
- Zły port: Gateway WS domyślnie używa
ws://127.0.0.1:18789; trzymaj aplikację i CLI na tym samym porcie. - Gdzie znajduje się stan:
- Stan kanału/providera:
~/.openclaw/credentials/ - Profile uwierzytelniania modeli:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Sesje:
~/.openclaw/agents/<agentId>/sessions/ - Logi:
/tmp/openclaw/
- Stan kanału/providera:
Mapa przechowywania poświadczeń
Używaj tego podczas debugowania auth lub decydowania, co backupować:
- WhatsApp:
~/.openclaw/credentials/whatsapp/<accountId>/creds.json - Token bota Telegram: config/env albo
channels.telegram.tokenFile(tylko zwykły plik; symlinki odrzucane) - Token bota Discord: config/env albo SecretRef (providery env/file/exec)
- Tokeny Slack: config/env (
channels.slack.*) - Allowlisty parowania:
~/.openclaw/credentials/<channel>-allowFrom.json(konto domyślne)~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json(konta niedomyślne)
- Profile uwierzytelniania modeli:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - Payload sekretów oparty na pliku (opcjonalnie):
~/.openclaw/secrets.json - Import starszego OAuth:
~/.openclaw/credentials/oauth.jsonWięcej szczegółów: Security.
Aktualizowanie (bez niszczenia konfiguracji)
- Traktuj
~/.openclaw/workspacei~/.openclaw/jako „swoje rzeczy”; nie umieszczaj osobistych promptów/konfiguracji w repozytoriumopenclaw. - Aktualizowanie źródeł:
git pull+pnpm install+ dalsze używaniepnpm gateway:watch.
Linux (usługa użytkownika systemd)
Instalacje Linux używają usługi systemd user. Domyślnie systemd zatrzymuje usługi użytkownika przy wylogowaniu/bezczynności, co zabija Gateway. Onboarding próbuje włączyć lingering za Ciebie (może poprosić o sudo). Jeśli nadal jest wyłączony, uruchom:
sudo loginctl enable-linger $USER
Dla serwerów always-on lub wieloużytkownikowych rozważ usługę system zamiast usługi użytkownika (lingering nie jest potrzebny). Zobacz Gateway runbook, aby znaleźć notatki systemd.
Powiązane dokumenty
- Gateway runbook (flagi, nadzór, porty)
- Konfiguracja Gateway (schemat konfiguracji + przykłady)
- Discord i Telegram (tagi odpowiedzi + ustawienia replyToMode)
- Konfiguracja asystenta OpenClaw
- Aplikacja macOS (cykl życia gateway)