Fundamentals
Środowisko uruchomieniowe agenta
OpenClaw uruchamia pojedyncze wbudowane środowisko wykonawcze agenta - jeden proces agenta na Gateway, z własnym obszarem roboczym, plikami startowymi i magazynem sesji. Ta strona opisuje kontrakt tego środowiska wykonawczego: co musi zawierać obszar roboczy, które pliki są wstrzykiwane i jak sesje uruchamiają się względem niego.
Obszar roboczy (wymagany)
OpenClaw używa jednego katalogu obszaru roboczego agenta (agents.defaults.workspace) jako jedynego katalogu roboczego agenta (cwd) dla narzędzi i kontekstu.
Zalecane: użyj openclaw setup, aby utworzyć ~/.openclaw/openclaw.json, jeśli go brakuje, i zainicjalizować pliki obszaru roboczego.
Pełny układ obszaru roboczego + przewodnik po kopiach zapasowych: Obszar roboczy agenta
Jeśli agents.defaults.sandbox jest włączone, sesje inne niż główna mogą nadpisać to ustawienie
obszarami roboczymi przypisanymi do sesji pod agents.defaults.sandbox.workspaceRoot (zobacz
Konfiguracja Gateway).
Pliki startowe (wstrzykiwane)
Wewnątrz agents.defaults.workspace OpenClaw oczekuje tych plików edytowalnych przez użytkownika:
AGENTS.md- instrukcje operacyjne + „pamięć”SOUL.md- persona, granice, tonTOOLS.md- utrzymywane przez użytkownika notatki o narzędziach (np.imsg,sag, konwencje)BOOTSTRAP.md- jednorazowy rytuał pierwszego uruchomienia (usuwany po ukończeniu)IDENTITY.md- nazwa agenta/charakter/emojiUSER.md- profil użytkownika + preferowana forma zwracania się
W pierwszej turze nowej sesji OpenClaw wstrzykuje zawartość tych plików do Project Context promptu systemowego.
Puste pliki są pomijane. Duże pliki są przycinane i skracane ze znacznikiem, aby prompty pozostały zwięzłe (przeczytaj plik, aby zobaczyć pełną zawartość).
Jeśli brakuje pliku, OpenClaw wstrzykuje pojedynczą linię znacznika „brakujący plik” (a openclaw setup utworzy bezpieczny domyślny szablon).
BOOTSTRAP.md jest tworzony tylko dla zupełnie nowego obszaru roboczego (bez innych obecnych plików startowych). Dopóki oczekuje na wykonanie, OpenClaw utrzymuje go w Project Context i dodaje do promptu systemowego wskazówki startowe dla początkowego rytuału, zamiast kopiować go do wiadomości użytkownika. Jeśli usuniesz go po ukończeniu rytuału, nie powinien zostać odtworzony przy późniejszych ponownych uruchomieniach.
Aby całkowicie wyłączyć tworzenie plików startowych (dla wstępnie przygotowanych obszarów roboczych), ustaw:
{ agents: { defaults: { skipBootstrap: true } } }
Wbudowane narzędzia
Narzędzia podstawowe (read/exec/edit/write i powiązane narzędzia systemowe) są zawsze dostępne,
zgodnie z polityką narzędzi. apply_patch jest opcjonalne i kontrolowane przez
tools.exec.applyPatch. TOOLS.md nie steruje tym, które narzędzia istnieją; to
wskazówki dotyczące tego, jak Ty chcesz, aby były używane.
Skills
OpenClaw ładuje Skills z tych lokalizacji (najwyższy priorytet jako pierwszy):
- Obszar roboczy:
<workspace>/skills - Skills agenta projektu:
<workspace>/.agents/skills - Osobiste Skills agenta:
~/.agents/skills - Zarządzane/lokalne:
~/.openclaw/skills - Wbudowane (dostarczane z instalacją)
- Dodatkowe foldery Skills:
skills.load.extraDirs
Skills mogą być ograniczane przez konfigurację/env (zobacz skills w Konfiguracja Gateway).
Granice środowiska wykonawczego
Wbudowane środowisko wykonawcze agenta jest zbudowane na rdzeniu agenta Pi (modele, narzędzia i potok promptów). Zarządzanie sesjami, wykrywanie, podłączanie narzędzi i dostarczanie przez kanały to warstwy należące do OpenClaw nad tym rdzeniem.
Sesje
Transkrypty sesji są przechowywane jako JSONL pod:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
Identyfikator sesji jest stabilny i wybierany przez OpenClaw. Starsze foldery sesji z innych narzędzi nie są odczytywane.
Sterowanie podczas streamingu
Gdy tryb kolejki to steer, wiadomości przychodzące są wstrzykiwane do bieżącego uruchomienia.
Sterowanie z kolejki jest dostarczane po zakończeniu wykonywania wywołań narzędzi przez bieżącą turę asystenta,
przed następnym wywołaniem LLM. Pi opróżnia wszystkie oczekujące
wiadomości sterujące razem dla steer; starszy tryb queue opróżnia jedną wiadomość na
granicę modelu. Sterowanie nie pomija już pozostałych wywołań narzędzi z bieżącej
wiadomości asystenta.
Gdy tryb kolejki to followup lub collect, wiadomości przychodzące są wstrzymywane do końca
bieżącej tury, a następnie rozpoczyna się nowa tura agenta z zakolejkowanymi ładunkami. Zobacz
Kolejka i Kolejka sterowania, aby poznać zachowanie trybów
i granic.
Streaming blokowy wysyła ukończone bloki asystenta natychmiast po ich zakończeniu; jest
domyślnie wyłączony (agents.defaults.blockStreamingDefault: "off").
Dostosuj granicę przez agents.defaults.blockStreamingBreak (text_end vs message_end; domyślnie text_end).
Steruj miękkim dzieleniem bloków za pomocą agents.defaults.blockStreamingChunk (domyślnie
800-1200 znaków; preferuje podziały akapitów, potem nowe linie; zdania na końcu).
Łącz strumieniowane fragmenty za pomocą agents.defaults.blockStreamingCoalesce, aby ograniczyć
spam pojedynczymi liniami (łączenie oparte na bezczynności przed wysłaniem). Kanały inne niż Telegram wymagają
jawnego *.blockStreaming: true, aby włączyć odpowiedzi blokowe.
Szczegółowe podsumowania narzędzi są emitowane przy starcie narzędzia (bez debounce); Control UI
strumieniuje wyjście narzędzi przez zdarzenia agenta, gdy są dostępne.
Więcej szczegółów: Streaming + dzielenie na fragmenty.
Odwołania do modeli
Odwołania do modeli w konfiguracji (na przykład agents.defaults.model i agents.defaults.models) są parsowane przez podział na pierwszym /.
- Użyj
provider/modelpodczas konfigurowania modeli. - Jeśli sam identyfikator modelu zawiera
/(w stylu OpenRouter), uwzględnij prefiks dostawcy (przykład:openrouter/moonshotai/kimi-k2). - Jeśli pominiesz dostawcę, OpenClaw najpierw próbuje aliasu, potem unikalnego dopasowania skonfigurowanego dostawcy dla dokładnie tego identyfikatora modelu, a dopiero potem wraca do skonfigurowanego domyślnego dostawcy. Jeśli ten dostawca nie udostępnia już skonfigurowanego domyślnego modelu, OpenClaw wraca do pierwszej skonfigurowanej pary dostawca/model zamiast zgłaszać nieaktualnego domyślnego usuniętego dostawcę.
Konfiguracja (minimalna)
Jako minimum ustaw:
agents.defaults.workspacechannels.whatsapp.allowFrom(zdecydowanie zalecane)
Dalej: Czaty grupowe 🦞