agents.*, multiAgent.*, session.*,
messages.* i talk.*. Kanały, narzędzia, środowisko uruchomieniowe Gateway oraz inne
klucze najwyższego poziomu opisuje dokumentacja konfiguracji.
Domyślne ustawienia agenta
agents.defaults.workspace
Domyślnie: OPENCLAW_WORKSPACE_DIR, gdy jest ustawione, w przeciwnym razie ~/.openclaw/workspace.
agents.defaults.workspace ma pierwszeństwo przed
OPENCLAW_WORKSPACE_DIR. Użyj zmiennej środowiskowej, aby skierować domyślnych agentów
do zamontowanego obszaru roboczego, gdy nie chcesz zapisywać tej ścieżki w konfiguracji.
agents.defaults.repoRoot
Opcjonalny katalog główny repozytorium pokazywany w wierszu Runtime promptu systemowego. Jeśli nie jest ustawiony, OpenClaw wykrywa go automatycznie, idąc w górę od obszaru roboczego.
agents.defaults.skills
Opcjonalna domyślna lista dozwolonych Skills dla agentów, którzy nie ustawiają
agents.list[].skills.
- Pomiń
agents.defaults.skills, aby domyślnie zezwolić na nieograniczone Skills. - Pomiń
agents.list[].skills, aby odziedziczyć wartości domyślne. - Ustaw
agents.list[].skills: [], aby nie używać Skills. - Niepusta lista
agents.list[].skillsjest ostatecznym zestawem dla danego agenta; nie jest scalana z wartościami domyślnymi.
agents.defaults.skipBootstrap
Wyłącza automatyczne tworzenie plików inicjalizacji obszaru roboczego (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.skipOptionalBootstrapFiles
Pomija tworzenie wybranych opcjonalnych plików obszaru roboczego, nadal zapisując wymagane pliki inicjalizacji. Prawidłowe wartości: SOUL.md, USER.md, HEARTBEAT.md i IDENTITY.md.
agents.defaults.contextInjection
Steruje tym, kiedy pliki inicjalizacji obszaru roboczego są wstrzykiwane do promptu systemowego. Domyślnie: "always".
"continuation-skip": bezpieczne tury kontynuacji (po ukończonej odpowiedzi asystenta) pomijają ponowne wstrzyknięcie inicjalizacji obszaru roboczego, zmniejszając rozmiar promptu. Uruchomienia Heartbeat i ponowienia po Compaction nadal odbudowują kontekst."never": wyłącza wstrzykiwanie inicjalizacji obszaru roboczego i plików kontekstu w każdej turze. Używaj tego tylko dla agentów, którzy w pełni zarządzają cyklem życia własnego promptu (niestandardowe silniki kontekstu, natywne środowiska uruchomieniowe budujące własny kontekst lub wyspecjalizowane przepływy pracy bez inicjalizacji). Tury Heartbeat i odzyskiwania po Compaction również pomijają wstrzykiwanie.
agents.list[].contextInjection. Pominięte wartości dziedziczą
agents.defaults.contextInjection.
agents.defaults.bootstrapMaxChars
Maksymalna liczba znaków na plik inicjalizacji obszaru roboczego przed obcięciem. Domyślnie: 20000.
agents.list[].bootstrapMaxChars. Pominięte wartości dziedziczą
agents.defaults.bootstrapMaxChars.
agents.defaults.bootstrapTotalMaxChars
Maksymalna łączna liczba znaków wstrzykiwanych ze wszystkich plików inicjalizacji obszaru roboczego. Domyślnie: 60000.
agents.list[].bootstrapTotalMaxChars. Pominięte wartości
dziedziczą agents.defaults.bootstrapTotalMaxChars.
Nadpisania profilu inicjalizacji dla agenta
Używaj nadpisań profilu inicjalizacji dla agenta, gdy jeden agent wymaga innego zachowania wstrzykiwania promptu niż współdzielone wartości domyślne. Pominięte pola dziedziczą zagents.defaults.
agents.defaults.bootstrapPromptTruncationWarning
Steruje widocznym dla agenta powiadomieniem w prompcie systemowym, gdy kontekst inicjalizacji jest obcięty.
Domyślnie: "always".
"off": nigdy nie wstrzykuj tekstu powiadomienia o obcięciu do promptu systemowego."once": wstrzyknij zwięzłe powiadomienie raz dla każdej unikalnej sygnatury obcięcia."always": wstrzykuj zwięzłe powiadomienie przy każdym uruchomieniu, gdy występuje obcięcie (zalecane).
Mapa właścicielstwa budżetów kontekstu
OpenClaw ma wiele wysokonakładowych budżetów promptu/kontekstu i są one celowo podzielone według podsystemu zamiast przechodzić przez jedno ogólne pokrętło.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: zwykłe wstrzykiwanie inicjalizacji obszaru roboczego.agents.defaults.startupContext.*: jednorazowy wstęp uruchomienia modelu po resecie/starcie, w tym ostatnie codzienne plikimemory/*.md. Surowe polecenia czatu/newi/resetsą potwierdzane bez wywoływania modelu.skills.limits.*: zwarta lista Skills wstrzykiwana do promptu systemowego.agents.defaults.contextLimits.*: ograniczone wycinki środowiska uruchomieniowego i wstrzykiwane bloki należące do środowiska uruchomieniowego.memory.qmd.limits.*: rozmiary fragmentu indeksowanego wyszukiwania pamięci i wstrzyknięcia.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextInjectionagents.list[].bootstrapMaxCharsagents.list[].bootstrapTotalMaxCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Steruje wstępem startowym pierwszej tury wstrzykiwanym przy uruchomieniach modelu po resecie/starcie.
Surowe polecenia czatu /new i /reset potwierdzają reset bez wywoływania
modelu, więc nie ładują tego wstępu.
agents.defaults.contextLimits
Współdzielone wartości domyślne dla ograniczonych powierzchni kontekstu środowiska uruchomieniowego.
memoryGetMaxChars: domyślny limit wycinkamemory_getprzed dodaniem metadanych obcięcia i powiadomienia o kontynuacji.memoryGetDefaultLines: domyślne okno wierszymemory_get, gdylinesjest pominięte.toolResultMaxChars: zaawansowany sufit wyników narzędzi na żywo używany dla utrwalonych wyników i odzyskiwania po przepełnieniu. Pozostaw nieustawione, aby użyć automatycznego limitu kontekstu modelu:16000znaków poniżej 100 tys. tokenów,32000znaków przy 100 tys.+ tokenów i64000znaków przy 200 tys.+ tokenów. Jawne wartości do1000000są akceptowane dla modeli długiego kontekstu, ale efektywny limit nadal jest ograniczony do około 30% okna kontekstu modelu.openclaw doctor --deepwypisuje efektywny limit, a doctor ostrzega tylko wtedy, gdy jawne nadpisanie jest nieaktualne lub nie ma efektu.postCompactionMaxChars: limit wycinka AGENTS.md używany podczas wstrzykiwania odświeżenia po Compaction.
agents.list[].contextLimits
Nadpisanie dla agenta dla współdzielonych pokręteł contextLimits. Pominięte pola dziedziczą
z agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Globalny limit dla zwartej listy Skills wstrzykiwanej do promptu systemowego. Nie
wpływa to na odczytywanie plików SKILL.md na żądanie.
agents.list[].skillsLimits.maxSkillsPromptChars
Nadpisanie budżetu promptu Skills dla agenta.
agents.defaults.imageMaxDimensionPx
Maksymalny rozmiar w pikselach najdłuższego boku obrazu w blokach obrazów transkryptu/narzędzi przed wywołaniami dostawcy.
Domyślnie: 1200.
Niższe wartości zwykle zmniejszają użycie tokenów wizyjnych i rozmiar ładunku żądania przy uruchomieniach intensywnie wykorzystujących zrzuty ekranu.
Wyższe wartości zachowują więcej szczegółów wizualnych.
agents.defaults.imageQuality
Preferencja kompresji/szczegółowości narzędzi obrazów dla obrazów ładowanych ze ścieżek plików, URL-i i odwołań do mediów.
Domyślnie: auto.
OpenClaw dostosowuje drabinkę zmiany rozmiaru do wybranego modelu obrazu. Na przykład Claude Opus 4.8, OpenAI GPT-5.5, Qwen VL i hostowane modele wizyjne Llama 4 mogą używać większych obrazów niż starsze/domyslne ścieżki wizyjne wysokiej szczegółowości, a tury z wieloma obrazami są kompresowane bardziej agresywnie w trybie auto, aby kontrolować koszt tokenów i opóźnienie.
Wartości:
auto: dostosuj do limitów modelu i liczby obrazów.efficient: preferuj mniejsze obrazy, aby obniżyć użycie tokenów i bajtów.balanced: użyj standardowej drabinki środka.high: zachowaj więcej szczegółów dla zrzutów ekranu, diagramów i obrazów dokumentów.
agents.defaults.userTimezone
Strefa czasowa dla kontekstu promptu systemowego (nie znaczników czasu wiadomości). Wartość zastępcza to strefa czasowa hosta.
agents.defaults.timeFormat
Format czasu w prompcie systemowym. Domyślnie: auto (preferencja systemu operacyjnego).
agents.defaults.model
model: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Forma ciągu znaków ustawia tylko model podstawowy.
- Forma obiektu ustawia model podstawowy oraz uporządkowane modele przełączania awaryjnego.
imageModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używany przez ścieżkę narzędzia
imagejako konfiguracja modelu wizyjnego. - Używany także jako routing awaryjny, gdy wybrany/domyślny model nie może przyjmować wejścia obrazowego.
- Preferuj jawne referencje
provider/model. Same identyfikatory są akceptowane dla zgodności; jeśli sam identyfikator jednoznacznie pasuje do skonfigurowanego wpisu obsługującego obrazy wmodels.providers.*.models, OpenClaw kwalifikuje go do tego dostawcy. Niejednoznaczne skonfigurowane dopasowania wymagają jawnego prefiksu dostawcy.
- Używany przez ścieżkę narzędzia
imageGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używany przez współdzieloną zdolność generowania obrazów oraz każdą przyszłą powierzchnię narzędzia/Plugin, która generuje obrazy.
- Typowe wartości:
google/gemini-3.1-flash-image-previewdla natywnego generowania obrazów Gemini,fal/fal-ai/flux/devdla fal,openai/gpt-image-2dla OpenAI Images alboopenai/gpt-image-1.5dla wyjścia PNG/WebP OpenAI z przezroczystym tłem. - Jeśli wybierasz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnienie dostawcy (na przykład
GEMINI_API_KEYalboGOOGLE_API_KEYdlagoogle/*,OPENAI_API_KEYalbo OpenAI Codex OAuth dlaopenai/gpt-image-2/openai/gpt-image-1.5,FAL_KEYdlafal/*). - Jeśli pominięto,
image_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania obrazów w kolejności identyfikatorów dostawcy.
musicGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używany przez współdzieloną zdolność generowania muzyki oraz wbudowane narzędzie
music_generate. - Typowe wartości:
google/lyria-3-clip-preview,google/lyria-3-pro-previewalbominimax/music-2.6. - Jeśli pominięto,
music_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania muzyki w kolejności identyfikatorów dostawcy. - Jeśli wybierasz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnienie/klucz API dostawcy.
- Używany przez współdzieloną zdolność generowania muzyki oraz wbudowane narzędzie
videoGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używany przez współdzieloną zdolność generowania wideo oraz wbudowane narzędzie
video_generate. - Typowe wartości:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flashalboqwen/wan2.7-r2v. - Jeśli pominięto,
video_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania wideo w kolejności identyfikatorów dostawcy. - Jeśli wybierasz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnienie/klucz API dostawcy.
- Oficjalny Plugin generowania wideo Qwen obsługuje do 1 wyjściowego wideo, 1 obrazu wejściowego, 4 wejściowych wideo, 10 sekund czasu trwania oraz opcje na poziomie dostawcy:
size,aspectRatio,resolution,audioiwatermark.
- Używany przez współdzieloną zdolność generowania wideo oraz wbudowane narzędzie
pdfModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używany przez narzędzie
pdfdo routingu modelu. - Jeśli pominięto, narzędzie PDF cofa się do
imageModel, a następnie do rozwiązanego modelu sesji/domyślnego.
- Używany przez narzędzie
pdfMaxBytesMb: domyślny limit rozmiaru PDF dla narzędziapdf, gdymaxBytesMbnie zostanie przekazane w czasie wywołania.pdfMaxPages: domyślna maksymalna liczba stron branych pod uwagę przez tryb awaryjnego wyodrębniania w narzędziupdf.verboseDefault: domyślny poziom szczegółowości dla agentów. Wartości:"off","on","full". Domyślnie:"off".toolProgressDetail: tryb szczegółowości dla podsumowań narzędzi/verbosei wierszy wersji roboczych postępu narzędzi. Wartości:"explain"(domyślna, zwięzłe etykiety czytelne dla człowieka) albo"raw"(dołącza surowe polecenie/szczegóły, gdy są dostępne).agents.list[].toolProgressDetaildla agenta zastępuje tę wartość domyślną.reasoningDefault: domyślna widoczność rozumowania dla agentów. Wartości:"off","on","stream".agents.list[].reasoningDefaultdla agenta zastępuje tę wartość domyślną. Skonfigurowane domyślne ustawienia rozumowania są stosowane tylko dla właścicieli, autoryzowanych nadawców albo kontekstów Gateway administratora-operatora, gdy nie ustawiono nadpisania rozumowania dla wiadomości ani sesji.elevatedDefault: domyślny poziom podwyższonego wyjścia dla agentów. Wartości:"off","on","ask","full". Domyślnie:"on".model.primary: formatprovider/model(np.openai/gpt-5.5dla dostępu przez klucz API OpenAI albo Codex OAuth). Jeśli pominiesz dostawcę, OpenClaw najpierw próbuje aliasu, potem unikalnego dopasowania skonfigurowanego dostawcy dla dokładnie tego identyfikatora modelu, a dopiero potem cofa się do skonfigurowanego domyślnego dostawcy (przestarzałe zachowanie zgodności, więc preferuj jawneprovider/model). Jeśli ten dostawca nie udostępnia już skonfigurowanego modelu domyślnego, OpenClaw cofa się do pierwszego skonfigurowanego dostawcy/modelu zamiast ujawniać nieaktualną wartość domyślną usuniętego dostawcy.models: skonfigurowany katalog modeli i lista dozwolonych dla/model. Każdy wpis może zawieraćalias(skrót) iparams(specyficzne dla dostawcy, na przykładtemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold, routingproviderOpenRouter,chat_template_kwargs,extra_body/extraBody).- Użyj wpisów
provider/*, takich jak"openai/*": {}albo"vllm/*": {}, aby pokazać wszystkie odkryte modele dla wybranych dostawców bez ręcznego wypisywania każdego identyfikatora modelu. - Dodaj
agentRuntimedo wpisuprovider/*, gdy każdy dynamicznie odkryty model dla tego dostawcy powinien używać tego samego środowiska uruchomieniowego. Dokładna polityka środowiska uruchomieniowegoprovider/modelnadal ma pierwszeństwo przed wieloznacznikiem. - Bezpieczne edycje: użyj
openclaw config set agents.defaults.models '<json>' --strict-json --merge, aby dodać wpisy.config setodrzuca zastąpienia, które usunęłyby istniejące wpisy listy dozwolonych, chyba że przekażesz--replace. - Przepływy konfiguracji/wdrażania ograniczone do dostawcy scalają wybrane modele dostawcy z tą mapą i zachowują niepowiązanych dostawców, którzy są już skonfigurowani.
- Dla bezpośrednich modeli OpenAI Responses Compaction po stronie serwera jest włączana automatycznie. Użyj
params.responsesServerCompaction: false, aby przestać wstrzykiwaćcontext_management, alboparams.responsesCompactThreshold, aby nadpisać próg. Zobacz Compaction po stronie serwera OpenAI.
- Użyj wpisów
params: globalne domyślne parametry dostawcy stosowane do wszystkich modeli. Ustawiane wagents.defaults.params(np.{ cacheRetention: "long" }).- Kolejność pierwszeństwa scalania
params(konfiguracja):agents.defaults.params(globalna baza) jest zastępowane przezagents.defaults.models["provider/model"].params(dla modelu), a następnieagents.list[].params(pasujący identyfikator agenta) zastępuje według klucza. Szczegóły w Prompt Caching. models.providers.openrouter.params.provider: domyślna polityka routingu dostawców dla całego OpenRouter. OpenClaw przekazuje ją do obiektuproviderżądania OpenRouter;agents.defaults.models["openrouter/<model>"].params.providerdla modelu oraz parametry agenta zastępują według klucza. Zobacz routing dostawców OpenRouter.params.extra_body/params.extraBody: zaawansowany przepuszczany JSON scalany z treściami żądańapi: "openai-completions"dla proxy zgodnych z OpenAI. Jeśli koliduje z wygenerowanymi kluczami żądania, dodatkowa treść wygrywa; nienatywne trasy completions nadal później usuwają właściwe tylko dla OpenAIstore.params.chat_template_kwargs: argumenty szablonu czatu zgodne z vLLM/OpenAI scalane z treściami żądań najwyższego poziomuapi: "openai-completions". Dlavllm/nemotron-3-*przy wyłączonym myśleniu dołączony Plugin vLLM automatycznie wysyłaenable_thinking: falseiforce_nonempty_content: true; jawnechat_template_kwargszastępują wygenerowane wartości domyślne, aextra_body.chat_template_kwargsnadal ma ostateczne pierwszeństwo. Skonfigurowane modele myślące vLLM Qwen i Nemotron udostępniają binarne wybory/think(off,on) zamiast wielopoziomowej drabiny wysiłku.compat.thinkingFormat: styl ładunku myślenia zgodny z OpenAI. Użyj"together"dla stylu Togetherreasoning.enabled,"qwen"dla stylu Qwen najwyższego poziomuenable_thinkingalbo"qwen-chat-template"dlachat_template_kwargs.enable_thinkingw backendach z rodziny Qwen, które obsługują kwargs szablonu czatu na poziomie żądania, takich jak vLLM. OpenClaw mapuje wyłączone myślenie nafalse, a włączone myślenie natrue, a skonfigurowane modele vLLM Qwen udostępniają binarne wybory/thinkdla tych formatów.compat.supportedReasoningEfforts: lista poziomów wysiłku rozumowania zgodna z OpenAI dla modelu. Uwzględnij"xhigh"dla niestandardowych punktów końcowych, które naprawdę go akceptują; wtedy OpenClaw udostępnia/think xhighw menu poleceń, wierszach sesji Gateway, walidacji poprawek sesji, walidacji CLI agenta i walidacjillm-taskdla tego skonfigurowanego dostawcy/modelu. Użyjcompat.reasoningEffortMap, gdy backend oczekuje wartości specyficznej dla dostawcy dla kanonicznego poziomu.params.preserveThinking: opcjonalne włączenie zachowanego myślenia tylko dla Z.AI. Gdy jest włączone i myślenie jest włączone, OpenClaw wysyłathinking.clear_thinking: falsei odtwarza wcześniejszereasoning_content; zobacz myślenie Z.AI i zachowane myślenie.localService: opcjonalny menedżer procesów na poziomie dostawcy dla lokalnych/samodzielnie hostowanych serwerów modeli. Gdy wybrany model należy do tego dostawcy, OpenClaw sondujehealthUrl(albobaseUrl + "/models"), uruchamiacommandzargs, jeśli punkt końcowy nie działa, czeka doreadyTimeoutMs, a następnie wysyła żądanie modelu.commandmusi być ścieżką bezwzględną.idleStopMs: 0utrzymuje proces przy życiu do wyjścia OpenClaw; wartość dodatnia zatrzymuje proces uruchomiony przez OpenClaw po tylu milisekundach bezczynności. Zobacz lokalne usługi modeli.- Polityka środowiska uruchomieniowego należy do dostawców albo modeli, nie do
agents.defaults. Użyjmodels.providers.<provider>.agentRuntimedla reguł obejmujących dostawcę alboagents.defaults.models["provider/model"].agentRuntime/agents.list[].models["provider/model"].agentRuntimedla reguł specyficznych dla modelu. Modele agentów OpenAI u oficjalnego dostawcy OpenAI domyślnie wybierają Codex. - Pisarze konfiguracji, którzy mutują te pola (na przykład
/models set,/models set-imagei polecenia dodawania/usuwania rozwiązań awaryjnych), zapisują kanoniczną formę obiektu i zachowują istniejące listy awaryjne, gdy to możliwe. maxConcurrent: maksymalna liczba równoległych uruchomień agentów między sesjami (każda sesja nadal jest serializowana). Domyślnie: 4.
Polityka środowiska uruchomieniowego
id:"auto","openclaw", zarejestrowany identyfikator harnessu pluginu albo obsługiwany alias backendu CLI. Dołączony Plugin Codex rejestrujecodex; dołączony Plugin Anthropic udostępnia backend CLIclaude-cli.id: "auto"pozwala zarejestrowanym harnessom pluginów przejmować obsługiwane tury i używa OpenClaw, gdy żaden harness nie pasuje. Jawne środowisko uruchomieniowe pluginu, takie jakid: "codex", wymaga tego harnessu i kończy się błędem w trybie zamkniętym, jeśli jest niedostępny lub zawiedzie.id: "pi"jest akceptowane tylko jako przestarzały aliasopenclaw, aby zachować dostarczone konfiguracje z v2026.5.22 i wcześniejszych. Nowa konfiguracja powinna używaćopenclaw.- Kolejność pierwszeństwa środowiska uruchomieniowego to najpierw dokładna polityka modelu (
agents.list[].models["provider/model"],agents.defaults.models["provider/model"]albomodels.providers.<provider>.models[]), potemagents.list[]/agents.defaults.models["provider/*"], a następnie polityka całego dostawcy wmodels.providers.<provider>.agentRuntime. - Klucze środowiska uruchomieniowego całego agenta są przestarzałe.
agents.defaults.agentRuntime,agents.list[].agentRuntime, przypięcia środowiska sesji iOPENCLAW_AGENT_RUNTIMEsą ignorowane przy wyborze środowiska uruchomieniowego. Uruchomopenclaw doctor --fix, aby usunąć nieaktualne wartości. - Modele agentów OpenAI domyślnie używają harnessu Codex; provider/model
agentRuntime.id: "codex"pozostaje prawidłowe, gdy chcesz wskazać to jawnie. - Dla wdrożeń Claude CLI preferuj
model: "anthropic/claude-opus-4-8"oraz model-scopedagentRuntime.id: "claude-cli". Starsze odwołania do modeliclaude-cli/claude-opus-4-7nadal działają dla zgodności, ale nowa konfiguracja powinna utrzymywać kanoniczny wybór provider/model i umieszczać backend wykonawczy w polityce środowiska uruchomieniowego provider/model. - To steruje tylko wykonywaniem tekstowych tur agenta. Generowanie mediów, wizja, PDF, muzyka, wideo i TTS nadal używają swoich ustawień provider/model.
agents.defaults.models):
| Alias | Model |
|---|---|
opus | anthropic/claude-opus-4-8 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.4 |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite |
--thinking off albo samodzielnie zdefiniujesz agents.defaults.models["zai/<model>"].params.thinking.
Modele Z.AI domyślnie włączają tool_stream dla strumieniowania wywołań narzędzi. Ustaw agents.defaults.models["zai/<model>"].params.tool_stream na false, aby to wyłączyć.
Anthropic Claude Opus 4.8 w OpenClaw domyślnie pozostawia myślenie wyłączone; gdy adaptacyjne myślenie jest jawnie włączone, domyślny poziom wysiłku należący do dostawcy Anthropic to high. Modele Claude 4.6 domyślnie używają adaptive, gdy nie ustawiono jawnego poziomu myślenia.
agents.defaults.cliBackends
Opcjonalne backendy CLI do zapasowych uruchomień wyłącznie tekstowych (bez wywołań narzędzi). Przydatne jako kopia zapasowa, gdy dostawcy API zawodzą.
- Backendy CLI są przede wszystkim tekstowe; narzędzia są zawsze wyłączone.
- Sesje są obsługiwane, gdy ustawiono
sessionArg. - Przekazywanie obrazów jest obsługiwane, gdy
imageArgakceptuje ścieżki plików. reseedFromRawTranscriptWhenUncompacted: truepozwala backendowi odzyskać bezpieczne unieważnione sesje z ograniczonego ogona surowej transkrypcji OpenClaw, zanim powstanie pierwsze podsumowanie Compaction. Zmiany profilu uwierzytelniania lub epoki poświadczeń nadal nigdy nie wykonują raw-reseed.
agents.defaults.promptOverlays
Niezależne od dostawcy nakładki promptów stosowane według rodziny modeli na powierzchniach promptów składanych przez OpenClaw. Identyfikatory modeli z rodziny GPT-5 otrzymują wspólny kontrakt zachowania na trasach OpenClaw/dostawcy; personality steruje tylko warstwą przyjaznego stylu interakcji. Natywne trasy serwera aplikacji Codex zachowują bazowe instrukcje/model należące do Codex zamiast tej nakładki OpenClaw GPT-5, a OpenClaw wyłącza wbudowaną osobowość Codex dla natywnych wątków.
"friendly"(domyślnie) i"on"włączają warstwę przyjaznego stylu interakcji."off"wyłącza tylko przyjazną warstwę; oznaczony kontrakt zachowania GPT-5 pozostaje włączony.- Starsze
plugins.entries.openai.config.personalityjest nadal odczytywane, gdy to wspólne ustawienie nie jest ustawione.
agents.defaults.heartbeat
Okresowe uruchomienia Heartbeat.
every: ciąg czasu trwania (ms/s/m/h). Domyślnie:30m(uwierzytelnianie kluczem API) albo1h(uwierzytelnianie OAuth). Ustaw na0m, aby wyłączyć.includeSystemPromptSection: gdy false, pomija sekcję Heartbeat w prompcie systemowym i pomija wstrzykiwanieHEARTBEAT.mddo kontekstu bootstrap. Domyślnie:true.suppressToolErrorWarnings: gdy true, wycisza ładunki ostrzeżeń o błędach narzędzi podczas uruchomień Heartbeat.timeoutSeconds: maksymalny czas w sekundach dozwolony dla tury agenta Heartbeat przed jej przerwaniem. Pozostaw nieustawione, aby użyćagents.defaults.timeoutSeconds, gdy jest ustawione, w przeciwnym razie kadencja Heartbeat ograniczona do 600 sekund.directPolicy: polityka dostarczania bezpośredniego/DM.allow(domyślnie) zezwala na dostarczanie do celu bezpośredniego.blockwycisza dostarczanie do celu bezpośredniego i emitujereason=dm-blocked.lightContext: gdy true, uruchomienia Heartbeat używają lekkiego kontekstu bootstrap i zachowują tylkoHEARTBEAT.mdz plików bootstrap przestrzeni roboczej.isolatedSession: gdy true, każdy Heartbeat działa w świeżej sesji bez wcześniejszej historii konwersacji. Ten sam wzorzec izolacji co CronsessionTarget: "isolated". Zmniejsza koszt tokenów na Heartbeat z ~100K do ~2-5K tokenów.skipWhenBusy: gdy true, uruchomienia Heartbeat są odraczane na dodatkowych zajętych ścieżkach tego agenta: jego własnej ścieżce subagenta kluczowanej sesją albo zagnieżdżonej pracy polecenia. Ścieżki Cron zawsze odraczają Heartbeat, nawet bez tej flagi.- Per-agent: ustaw
agents.list[].heartbeat. Gdy dowolny agent definiujeheartbeat, tylko ci agenci uruchamiają Heartbeat. - Heartbeat uruchamia pełne tury agenta — krótsze interwały zużywają więcej tokenów.
agents.defaults.compaction
mode:defaultlubsafeguard(fragmentaryczne podsumowywanie długich historii). Zobacz Compaction.provider: identyfikator zarejestrowanego pluginu dostawcy Compaction. Gdy jest ustawiony, wywoływane jestsummarize()dostawcy zamiast wbudowanego podsumowywania LLM. W razie niepowodzenia następuje powrót do wbudowanego mechanizmu. Ustawienie dostawcy wymuszamode: "safeguard". Zobacz Compaction.timeoutSeconds: maksymalna liczba sekund dozwolona dla pojedynczej operacji Compaction, zanim OpenClaw ją przerwie. Domyślnie:180.keepRecentTokens: budżet punktu odcięcia agenta na zachowanie dosłownego najnowszego końca transkrypcji. Ręczne/compactuwzględnia tę wartość, gdy jest jawnie ustawiona; w przeciwnym razie ręczna Compaction jest twardym punktem kontrolnym.identifierPolicy:strict(domyślnie),offlubcustom.strictdodaje na początku wbudowane wskazówki dotyczące zachowania nieprzezroczystych identyfikatorów podczas podsumowywania Compaction.identifierInstructions: opcjonalny niestandardowy tekst zachowywania identyfikatorów używany, gdyidentifierPolicy=custom.qualityGuard: kontrole ponawiania przy nieprawidłowo sformatowanym wyniku dla podsumowań safeguard. Domyślnie włączone w trybie safeguard; ustawenabled: false, aby pominąć audyt.midTurnPrecheck: opcjonalna kontrola obciążenia pętli narzędzi. Gdyenabled: true, OpenClaw sprawdza presję kontekstu po dołączeniu wyników narzędzi i przed następnym wywołaniem modelu. Jeśli kontekst już się nie mieści, przerywa bieżącą próbę przed przesłaniem promptu i ponownie używa istniejącej ścieżki odzyskiwania po kontroli wstępnej, aby przyciąć wyniki narzędzi albo wykonać Compaction i spróbować ponownie. Działa z trybami Compactiondefaultisafeguard. Domyślnie: wyłączone.postCompactionSections: opcjonalne nazwy sekcji H2/H3 z AGENTS.md do ponownego wstrzyknięcia po Compaction. Ponowne wstrzykiwanie jest wyłączone, gdy wartość nie jest ustawiona albo jest ustawiona na[]. Jawne ustawienie["Session Startup", "Red Lines"]włącza tę parę i zachowuje starszy fallbackEvery Session/Safety. Włączaj to tylko wtedy, gdy dodatkowy kontekst jest wart ryzyka zduplikowania wskazówek projektowych już ujętych w podsumowaniu Compaction.model: opcjonalneprovider/model-idalbo czysty alias zagents.defaults.modelstylko dla podsumowywania Compaction. Czyste aliasy są rozwiązywane przed wysłaniem; skonfigurowane dosłowne identyfikatory modeli zachowują pierwszeństwo przy kolizjach. Użyj tego, gdy główna sesja ma zachować jeden model, ale podsumowania Compaction mają działać na innym; gdy nie ustawiono, Compaction używa głównego modelu sesji.maxActiveTranscriptBytes: opcjonalny próg w bajtach (numberalbo ciągi takie jak"20mb"), który uruchamia zwykłą lokalną Compaction przed uruchomieniem, gdy aktywny JSONL przekroczy próg. WymagatruncateAfterCompaction, aby udana Compaction mogła obrócić transkrypcję na mniejszego następcę. Wyłączone, gdy nie ustawiono albo ustawiono0.notifyUser: gdytrue, wysyła użytkownikowi krótkie powiadomienia, gdy Compaction się zaczyna i gdy się kończy (na przykład „Kompaktowanie kontekstu…” i „Compaction zakończona”). Domyślnie wyłączone, aby Compaction pozostała cicha.memoryFlush: cicha agentowa tura przed automatyczną Compaction do zapisywania trwałych wspomnień. Ustawmodelna dokładnego dostawcę/model, takiego jakollama/qwen3:8b, gdy ta tura porządkowa ma pozostać na modelu lokalnym; nadpisanie nie dziedziczy aktywnego łańcucha fallbacków sesji. Pomijane, gdy obszar roboczy jest tylko do odczytu.
agents.defaults.runRetries
Granice iteracji ponowień zewnętrznej pętli uruchomieniowej dla osadzonego środowiska wykonawczego agenta, aby zapobiec nieskończonym pętlom wykonania podczas odzyskiwania po błędach. Pamiętaj, że to ustawienie obecnie dotyczy tylko osadzonego środowiska wykonawczego agenta, a nie środowisk wykonawczych ACP ani CLI.
base: bazowa liczba iteracji ponowień uruchomienia dla zewnętrznej pętli uruchomieniowej. Domyślnie:24.perProfile: dodatkowe iteracje ponowień uruchomienia przyznawane każdemu kandydatowi profilu fallback. Domyślnie:8.min: minimalny bezwzględny limit iteracji ponowień uruchomienia. Domyślnie:32.max: maksymalny bezwzględny limit iteracji ponowień uruchomienia, zapobiegający niekontrolowanemu wykonaniu. Domyślnie:160.
agents.defaults.contextPruning
Przycina stare wyniki narzędzi z kontekstu w pamięci przed wysłaniem do LLM. Nie modyfikuje historii sesji na dysku.
cache-ttl mode behavior
cache-ttl mode behavior
mode: "cache-ttl"włącza przebiegi przycinania.ttlkontroluje, jak często przycinanie może zostać uruchomione ponownie (po ostatnim dotknięciu pamięci podręcznej).- Przycinanie najpierw miękko skraca nadmiernie duże wyniki narzędzi, a następnie, jeśli trzeba, twardo czyści starsze wyniki narzędzi.
softTrimRatioihardClearRatioprzyjmują wartości od0.0do1.0; walidacja konfiguracji odrzuca wartości spoza tego zakresu.
... w środku.Twarde czyszczenie zastępuje cały wynik narzędzia symbolem zastępczym.Uwagi:- Bloki obrazów nigdy nie są skracane ani czyszczone.
- Współczynniki są oparte na znakach (przybliżone), a nie na dokładnych liczbach tokenów.
- Jeśli istnieje mniej niż
keepLastAssistantswiadomości asystenta, przycinanie jest pomijane.
Strumieniowanie blokowe
- Kanały inne niż Telegram wymagają jawnego
*.blockStreaming: true, aby włączyć odpowiedzi blokowe. - Nadpisania kanałów:
channels.<channel>.blockStreamingCoalesce(oraz warianty dla kont). Signal/Slack/Discord/Google Chat domyślnie używająminChars: 1500. humanDelay: losowa pauza między odpowiedziami blokowymi.natural= 800–2500 ms. Nadpisanie dla agenta:agents.list[].humanDelay.
Wskaźniki pisania
- Domyślnie:
instantdla czatów bezpośrednich/wzmianek,messagedla czatów grupowych bez wzmianki. - Nadpisania dla sesji:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Opcjonalna piaskownica dla osadzonego agenta. Zobacz Izolacja w piaskownicy, aby przeczytać pełny przewodnik.
Sandbox details
Sandbox details
Backend:Tryb OpenShell:
docker: lokalne środowisko wykonawcze Docker (domyślnie)ssh: ogólne zdalne środowisko wykonawcze oparte na SSHopenshell: środowisko wykonawcze OpenShell
backend: "openshell", ustawienia specyficzne dla środowiska wykonawczego przechodzą do
plugins.entries.openshell.config.Konfiguracja backendu SSH:target: cel SSH w formieuser@host[:port]command: polecenie klienta SSH (domyślnie:ssh)workspaceRoot: bezwzględny zdalny katalog główny używany dla obszarów roboczych według zakresuidentityFile/certificateFile/knownHostsFile: istniejące pliki lokalne przekazywane do OpenSSHidentityData/certificateData/knownHostsData: treści wbudowane albo SecretRefs, które OpenClaw materializuje do plików tymczasowych w czasie działaniastrictHostKeyChecking/updateHostKeys: pokrętła zasad kluczy hosta OpenSSH
identityDatama pierwszeństwo przedidentityFilecertificateDatama pierwszeństwo przedcertificateFileknownHostsDatama pierwszeństwo przedknownHostsFile- Wartości
*Dataoparte na SecretRef są rozwiązywane z aktywnej migawki środowiska wykonawczego sekretów przed startem sesji piaskownicy
- inicjalizuje zdalny obszar roboczy raz po utworzeniu albo ponownym utworzeniu
- następnie utrzymuje zdalny obszar roboczy SSH jako kanoniczny
- kieruje
exec, narzędzia plików i ścieżki multimediów przez SSH - nie synchronizuje automatycznie zdalnych zmian z powrotem na hosta
- nie obsługuje kontenerów przeglądarki piaskownicy
none: obszar roboczy piaskownicy według zakresu pod~/.openclaw/sandboxesro: obszar roboczy piaskownicy w/workspace, obszar roboczy agenta zamontowany tylko do odczytu w/agentrw: obszar roboczy agenta zamontowany do odczytu/zapisu w/workspace
session: kontener i obszar roboczy na sesjęagent: jeden kontener i obszar roboczy na agenta (domyślnie)shared: współdzielony kontener i obszar roboczy (bez izolacji między sesjami)
mirror: inicjuje środowisko zdalne z lokalnego przed wykonaniem, synchronizuje z powrotem po wykonaniu; lokalny obszar roboczy pozostaje kanonicznyremote: inicjuje środowisko zdalne raz podczas tworzenia piaskownicy, a następnie utrzymuje zdalny obszar roboczy jako kanoniczny
remote edycje lokalne dla hosta wykonane poza OpenClaw nie są automatycznie synchronizowane z piaskownicą po kroku inicjowania.
Transport odbywa się przez SSH do piaskownicy OpenShell, ale plugin odpowiada za cykl życia piaskownicy i opcjonalną synchronizację lustrzaną.setupCommand uruchamia się raz po utworzeniu kontenera (przez sh -lc). Wymaga wyjścia do sieci, zapisywalnego katalogu głównego i użytkownika root.Kontenery domyślnie używają network: "none" — ustaw "bridge" (lub niestandardową sieć mostkową), jeśli agent potrzebuje dostępu wychodzącego.
"host" jest blokowane. "container:<id>" jest domyślnie blokowane, chyba że jawnie ustawisz
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true (tryb awaryjny).
Tury serwera aplikacji Codex w aktywnej piaskownicy OpenClaw używają tego samego ustawienia wyjścia do sieci dla natywnego dostępu sieciowego w trybie kodu.Załączniki przychodzące są umieszczane w media/inbound/* w aktywnym obszarze roboczym.docker.binds montuje dodatkowe katalogi hosta; powiązania globalne i dla poszczególnych agentów są scalane.Przeglądarka w piaskownicy (sandbox.browser.enabled): Chromium + CDP w kontenerze. Adres URL noVNC wstrzykiwany do promptu systemowego. Nie wymaga browser.enabled w openclaw.json.
Dostęp obserwatora noVNC domyślnie używa uwierzytelniania VNC, a OpenClaw emituje krótkotrwały URL z tokenem (zamiast ujawniać hasło we współdzielonym URL).allowHostControl: false(domyślnie) blokuje sesjom w piaskownicy celowanie w przeglądarkę hosta.networkdomyślnie ma wartośćopenclaw-sandbox-browser(dedykowana sieć mostkowa). Ustawbridgetylko wtedy, gdy jawnie chcesz globalnej łączności mostkowej.cdpSourceRangeopcjonalnie ogranicza ruch przychodzący CDP na krawędzi kontenera do zakresu CIDR (na przykład172.21.0.1/32).sandbox.browser.bindsmontuje dodatkowe katalogi hosta tylko w kontenerze przeglądarki piaskownicy. Po ustawieniu (w tym[]) zastępujedocker.bindsdla kontenera przeglądarki.- Domyślne ustawienia uruchamiania są zdefiniowane w
scripts/sandbox-browser-entrypoint.shi dostrojone pod hosty kontenerów:--remote-debugging-address=127.0.0.1--remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>--user-data-dir=${HOME}/.chrome--no-first-run--no-default-browser-check--disable-3d-apis--disable-gpu--disable-software-rasterizer--disable-dev-shm-usage--disable-background-networking--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--renderer-process-limit=2--no-zygote--metrics-recording-only--disable-extensions(domyślnie włączone)--disable-3d-apis,--disable-software-rasterizeri--disable-gpusą domyślnie włączone i można je wyłączyć za pomocąOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0, jeśli wymaga tego użycie WebGL/3D.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0ponownie włącza rozszerzenia, jeśli zależy od nich Twój przepływ pracy.--renderer-process-limit=2można zmienić za pomocąOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; ustaw0, aby użyć domyślnego limitu procesów Chromium.- plus
--no-sandbox, gdynoSandboxjest włączone. - Wartości domyślne są bazą obrazu kontenera; użyj niestandardowego obrazu przeglądarki z niestandardowym punktem wejścia, aby zmienić wartości domyślne kontenera.
sandbox.docker.binds działają tylko z Dockerem.
Zbuduj obrazy (z checkoutu źródłowego):
docker build.
agents.list (nadpisania dla poszczególnych agentów)
Użyj agents.list[].tts, aby nadać agentowi własnego dostawcę TTS, głos, model,
styl lub tryb automatycznego TTS. Blok agenta jest głęboko scalany z globalnym
messages.tts, więc współdzielone poświadczenia mogą pozostać w jednym miejscu, a poszczególni
agenci nadpisują tylko potrzebne im pola głosu lub dostawcy. Nadpisanie aktywnego agenta
dotyczy automatycznych odpowiedzi mówionych, /tts audio, /tts status oraz
narzędzia agenta tts. Zobacz Text-to-speech,
aby poznać przykłady dostawców i kolejność pierwszeństwa.
id: stabilny identyfikator agenta (wymagany).default: gdy ustawiono wiele, wygrywa pierwszy (logowane jest ostrzeżenie). Jeśli nie ustawiono żadnego, domyślny jest pierwszy wpis listy.model: forma tekstowa ustawia ścisły model główny dla agenta bez zapasowego modelu; forma obiektowa{ primary }również jest ścisła, chyba że dodaszfallbacks. Użyj{ primary, fallbacks: [...] }, aby włączyć dla tego agenta przełączanie awaryjne, albo{ primary, fallbacks: [] }, aby jawnie wymusić ścisłe zachowanie. Zadania Cron, które nadpisują tylkoprimary, nadal dziedziczą domyślne modele zapasowe, chyba że ustawiszfallbacks: [].params: parametry strumienia dla agenta scalane z wybranym wpisem modelu wagents.defaults.models. Użyj tego dla nadpisań specyficznych dla agenta, takich jakcacheRetention,temperaturelubmaxTokens, bez duplikowania całego katalogu modeli.tts: opcjonalne nadpisania text-to-speech dla agenta. Blok jest głęboko scalany zmessages.tts, więc trzymaj współdzielone poświadczenia dostawcy i politykę zapasową wmessages.tts, a tutaj ustawiaj tylko wartości specyficzne dla persony, takie jak dostawca, głos, model, styl lub tryb automatyczny.skills: opcjonalna lista dozwolonych Skills dla agenta. Jeśli pominięta, agent dziedziczyagents.defaults.skills, gdy jest ustawione; jawna lista zastępuje wartości domyślne zamiast je scalać, a[]oznacza brak Skills.thinkingDefault: opcjonalny domyślny poziom myślenia dla agenta (off | minimal | low | medium | high | xhigh | adaptive | max). Nadpisujeagents.defaults.thinkingDefaultdla tego agenta, gdy nie ustawiono nadpisania dla wiadomości ani sesji. Wybrany profil dostawcy/modelu kontroluje, które wartości są prawidłowe; dla Google Geminiadaptivezachowuje dynamiczne myślenie zarządzane przez dostawcę (thinkingLevelpominięte w Gemini 3/3.1,thinkingBudget: -1w Gemini 2.5).reasoningDefault: opcjonalna domyślna widoczność rozumowania dla agenta (on | off | stream). Nadpisujeagents.defaults.reasoningDefaultdla tego agenta, gdy nie ustawiono nadpisania rozumowania dla wiadomości ani sesji.fastModeDefault: opcjonalna wartość domyślna trybu szybkiego dla agenta ("auto" | true | false). Stosowana, gdy nie ustawiono nadpisania trybu szybkiego dla wiadomości ani sesji.models: opcjonalne nadpisania katalogu modeli/środowiska uruchomieniowego dla agenta, kluczowane pełnymi identyfikatoramiprovider/model. Użyjmodels["provider/model"].agentRuntimedla wyjątków środowiska uruchomieniowego danego agenta.runtime: opcjonalny deskryptor środowiska uruchomieniowego dla agenta. Użyjtype: "acp"z wartościami domyślnymiruntime.acp(agent,backend,mode,cwd), gdy agent ma domyślnie używać sesji uprzęży ACP.identity.avatar: ścieżka względna wobec obszaru roboczego, URLhttp(s)lub URIdata:.- Lokalne pliki obrazów
identity.avatarze ścieżką względną wobec obszaru roboczego są ograniczone do 2 MB. URL-ehttp(s)i URIdata:nie są sprawdzane lokalnym limitem rozmiaru pliku. identitywyprowadza wartości domyślne:ackReactionzemoji,mentionPatternszname/emoji.subagents.allowAgents: lista dozwolonych skonfigurowanych identyfikatorów agentów dla jawnych celówsessions_spawn.agentId(["*"]= dowolny skonfigurowany cel; domyślnie: tylko ten sam agent). Uwzględnij identyfikator żądającego, gdy wywołaniaagentIdcelujące w samego siebie mają być dozwolone. Nieaktualne wpisy, których konfiguracja agenta została usunięta, są odrzucane przezsessions_spawni pomijane wagents_list; uruchomopenclaw doctor --fix, aby je wyczyścić, albo dodaj minimalny wpisagents.list[], jeśli ten cel ma pozostać możliwy do uruchomienia przy dziedziczeniu wartości domyślnych.- Ochrona dziedziczenia piaskownicy: jeśli sesja żądającego działa w piaskownicy,
sessions_spawnodrzuca cele, które działałyby bez piaskownicy. subagents.requireAgentId: gdy true, blokuje wywołaniasessions_spawn, które pomijająagentId(wymusza jawny wybór profilu; domyślnie: false).
Routing wieloagentowy
Uruchamiaj wielu izolowanych agentów w jednym Gateway. Zobacz Multi-Agent.Pola dopasowania powiązania
type(opcjonalne):routedla normalnego routingu (brak typu domyślnie oznacza route),acpdla trwałych powiązań konwersacji ACP.match.channel(wymagane)match.accountId(opcjonalne;*= dowolne konto; pominięte = konto domyślne)match.peer(opcjonalne;{ kind: direct|group|channel, id })match.guildId/match.teamId(opcjonalne; specyficzne dla kanału)acp(opcjonalne; tylko dlatype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(dokładne, bez peer/guild/team)match.accountId: "*"(w całym kanale)- Agent domyślny
bindings.
Dla wpisów type: "acp" OpenClaw rozwiązuje po dokładnej tożsamości konwersacji (match.channel + konto + match.peer.id) i nie używa powyższej kolejności poziomów powiązań tras.
Profile dostępu dla poszczególnych agentów
Pełny dostęp (bez piaskownicy)
Pełny dostęp (bez piaskownicy)
Narzędzia tylko do odczytu + obszar roboczy
Narzędzia tylko do odczytu + obszar roboczy
Brak dostępu do systemu plików (tylko wiadomości)
Brak dostępu do systemu plików (tylko wiadomości)
Sesja
Szczegóły pól sesji
Szczegóły pól sesji
scope: podstawowa strategia grupowania sesji dla kontekstów czatu grupowego.per-sender(domyślnie): każdy nadawca otrzymuje odizolowaną sesję w obrębie kontekstu kanału.global: wszyscy uczestnicy w kontekście kanału współdzielą jedną sesję (używaj tylko wtedy, gdy zamierzony jest współdzielony kontekst).
dmScope: sposób grupowania wiadomości DM.main: wszystkie wiadomości DM współdzielą sesję główną.per-peer: izolacja według identyfikatora nadawcy między kanałami.per-channel-peer: izolacja według kanału + nadawcy (zalecane dla skrzynek odbiorczych z wieloma użytkownikami).per-account-channel-peer: izolacja według konta + kanału + nadawcy (zalecane dla wielu kont).
identityLinks: mapuje kanoniczne identyfikatory na równorzędne podmioty z prefiksem dostawcy w celu współdzielenia sesji między kanałami. Polecenia dokowania, takie jak/dock_discord, używają tej samej mapy do przełączenia trasy odpowiedzi aktywnej sesji na inny powiązany równorzędny podmiot kanału; zobacz Dokowanie kanałów.reset: główna polityka resetowania.dailyresetuje o lokalnej godzinieatHour;idleresetuje poidleMinutes. Gdy skonfigurowano oba, wygrywa to, które wygaśnie jako pierwsze. Świeżość resetu dziennego używa polasessionStartedAtw wierszu sesji; świeżość resetu bezczynności używalastInteractionAt. Zapisy zdarzeń tła/systemowych, takich jak Heartbeat, wybudzenia Cron, powiadomienia exec i księgowanie Gateway, mogą aktualizowaćupdatedAt, ale nie utrzymują świeżości sesji dziennych/bezczynnych.resetByType: nadpisania według typu (direct,group,thread). Starszedmjest akceptowane jako alias dladirect.mainKey: starsze pole. Środowisko uruchomieniowe zawsze używa"main"dla głównego zasobnika czatu bezpośredniego.agentToAgent.maxPingPongTurns: maksymalna liczba tur odpowiedzi zwrotnych między agentami podczas wymian agent-agent (liczba całkowita, zakres:0-20, domyślnie:5).0wyłącza łańcuchowanie ping-pong.sendPolicy: dopasowanie wedługchannel,chatType(direct|group|channel, ze starszym aliasemdm),keyPrefixlubrawKeyPrefix. Pierwsza odmowa wygrywa.maintenance: czyszczenie magazynu sesji + kontrolki retencji.mode:enforcestosuje czyszczenie i jest wartością domyślną;warnemituje tylko ostrzeżenia.pruneAfter: próg wieku dla nieaktualnych wpisów (domyślnie30d).maxEntries: maksymalna liczba wpisów wsessions.json(domyślnie500). Środowisko uruchomieniowe zapisuje czyszczenie wsadowe z małym buforem wysokiego poziomu dla limitów produkcyjnych;openclaw sessions cleanup --enforcestosuje limit natychmiast.- Krótkotrwałe sesje sond uruchomień modeli Gateway używają stałej retencji
24h, ale czyszczenie jest bramkowane presją: usuwa nieaktualne wiersze ścisłych sond uruchomień modeli tylko wtedy, gdy osiągnięta jest presja konserwacji/limitu wpisów sesji. Kwalifikują się wyłącznie ścisłe jawne klucze sond pasujące doagent:*:explicit:model-run-<uuid>; zwykłe sesje bezpośrednie, grupowe, wątkowe, Cron, hook, Heartbeat, ACP i podagentów nie dziedziczą tej 24-godzinnej retencji. Gdy uruchamia się czyszczenie uruchomień modeli, działa ono przed szerszym czyszczeniem nieaktualnych wpisówpruneAfteri limitemmaxEntries. rotateBytes: przestarzałe i ignorowane;openclaw doctor --fixusuwa je ze starszych konfiguracji.resetArchiveRetention: retencja archiwów transkrypcji*.reset.<timestamp>. DomyślniepruneAfter; ustawfalse, aby wyłączyć.maxDiskBytes: opcjonalny budżet dysku katalogu sesji. W trybiewarnzapisuje ostrzeżenia; w trybieenforcenajpierw usuwa najstarsze artefakty/sesje.highWaterBytes: opcjonalny cel po czyszczeniu budżetu. Domyślnie80%wartościmaxDiskBytes.
threadBindings: globalne wartości domyślne dla funkcji sesji powiązanych z wątkiem.enabled: główny przełącznik domyślny (dostawcy mogą nadpisać; Discord używachannels.discord.threadBindings.enabled)idleHours: domyślne automatyczne odogniskowanie po bezczynności w godzinach (0wyłącza; dostawcy mogą nadpisać)maxAgeHours: domyślny twardy maksymalny wiek w godzinach (0wyłącza; dostawcy mogą nadpisać)spawnSessions: domyślna bramka tworzenia powiązanych z wątkiem sesji roboczych zsessions_spawni odrodzeń wątków ACP. Domyślnietrue, gdy powiązania wątków są włączone; dostawcy/konta mogą nadpisać.defaultSpawnContext: domyślny natywny kontekst podagenta dla odrodzeń powiązanych z wątkiem ("fork"lub"isolated"). Domyślnie"fork".
Wiadomości
Prefiks odpowiedzi
Nadpisania według kanału/konta:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Rozstrzyganie (wygrywa najbardziej szczegółowe): konto → kanał → globalne. "" wyłącza i zatrzymuje kaskadę. "auto" wyprowadza [{identity.name}].
Zmienne szablonu:
| Zmienna | Opis | Przykład |
|---|---|---|
{model} | Krótka nazwa modelu | claude-opus-4-6 |
{modelFull} | Pełny identyfikator modelu | anthropic/claude-opus-4-6 |
{provider} | Nazwa dostawcy | anthropic |
{thinkingLevel} | Bieżący poziom myślenia | high, low, off |
{identity.name} | Nazwa tożsamości agenta | (tak samo jak "auto") |
{think} jest aliasem dla {thinkingLevel}.
Reakcja potwierdzenia
- Domyślnie używa
identity.emojiaktywnego agenta, w przeciwnym razie"👀". Ustaw"", aby wyłączyć. - Nadpisania według kanału:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Kolejność rozstrzygania: konto → kanał →
messages.ackReaction→ awaryjna wartość tożsamości. - Zakres:
group-mentions(domyślnie),group-all,direct,all. removeAckAfterReply: usuwa potwierdzenie po odpowiedzi w kanałach obsługujących reakcje, takich jak Slack, Discord, Signal, Telegram, WhatsApp i iMessage.messages.statusReactions.enabled: włącza reakcje statusu cyklu życia w Slack, Discord, Signal, Telegram i WhatsApp. W Slack i Discord brak ustawienia pozostawia reakcje statusu włączone, gdy reakcje potwierdzenia są aktywne. W Signal, Telegram i WhatsApp ustaw jawnie natrue, aby włączyć reakcje statusu cyklu życia.messages.statusReactions.emojis: nadpisuje klucze emoji cyklu życia:queued,thinking,compacting,tool,coding,web,deploy,build,concierge,done,error,stallSoftistallHard. Telegram zezwala tylko na stały zestaw reakcji, więc nieobsługiwane skonfigurowane emoji wracają do najbliższego obsługiwanego wariantu statusu dla danego czatu.
Debounce przychodzących wiadomości
Grupuje szybkie wiadomości wyłącznie tekstowe od tego samego nadawcy w jedną turę agenta. Multimedia/załączniki opróżniają kolejkę natychmiast. Polecenia sterujące omijają debounce.TTS (tekst na mowę)
autokontroluje domyślny tryb automatycznego TTS:off,always,inboundlubtagged./tts on|offmoże nadpisać lokalne preferencje, a/tts statuspokazuje stan efektywny.summaryModelzastępujeagents.defaults.model.primarydla automatycznego podsumowania.modelOverridesjest domyślnie włączone;modelOverrides.allowProviderma domyślną wartośćfalse(wymaga włączenia).- Klucze API korzystają awaryjnie z
ELEVENLABS_API_KEY/XI_API_KEYorazOPENAI_API_KEY. - Dołączone dostawcy mowy są własnością pluginów. Jeśli ustawiono
plugins.allow, uwzględnij każdy plugin dostawcy TTS, którego chcesz używać, na przykładmicrosoftdla Edge TTS. Starszy identyfikator dostawcyedgejest akceptowany jako alias dlamicrosoft. providers.openai.baseUrlzastępuje punkt końcowy OpenAI TTS. Kolejność rozwiązywania to konfiguracja, następnieOPENAI_TTS_BASE_URL, a następniehttps://api.openai.com/v1.- Gdy
providers.openai.baseUrlwskazuje punkt końcowy inny niż OpenAI, OpenClaw traktuje go jako serwer TTS zgodny z OpenAI i rozluźnia walidację modelu/głosu.
Talk
Domyślne ustawienia trybu Talk (macOS/iOS/Android).talk.providermusi pasować do klucza wtalk.providers, gdy skonfigurowano wielu dostawców Talk.- Starsze płaskie klucze Talk (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) służą wyłącznie do zgodności. Uruchomopenclaw doctor --fix, aby przepisać utrwaloną konfigurację dotalk.providers.<provider>. - Identyfikatory głosów korzystają awaryjnie z
ELEVENLABS_VOICE_IDlubSAG_VOICE_ID. providers.*.apiKeyprzyjmuje ciągi tekstowe jawnym tekstem lub obiekty SecretRef.- Awaryjne użycie
ELEVENLABS_API_KEYma zastosowanie tylko wtedy, gdy nie skonfigurowano klucza API Talk. providers.*.voiceAliasespozwala dyrektywom Talk używać przyjaznych nazw.providers.mlx.modelIdwybiera repozytorium Hugging Face używane przez lokalnego pomocnika MLX na macOS. Jeśli zostanie pominięte, macOS używamlx-community/Soprano-80M-bf16.- Odtwarzanie MLX na macOS działa przez dołączonego pomocnika
openclaw-mlx-tts, gdy jest obecny, albo przez plik wykonywalny wPATH;OPENCLAW_MLX_TTS_BINzastępuje ścieżkę pomocnika podczas programowania. consultThinkingLevelkontroluje poziom myślenia dla pełnego uruchomienia agenta OpenClaw stojącego za wywołaniami Control UI Talk realtimeopenclaw_agent_consult. Pozostaw nieustawione, aby zachować normalne zachowanie sesji/modelu.consultFastModeustawia jednorazowe nadpisanie trybu szybkiego dla konsultacji Control UI Talk realtime bez zmiany normalnego ustawienia trybu szybkiego sesji.speechLocaleustawia identyfikator lokalizacji BCP 47 używany przez rozpoznawanie mowy Talk w iOS/macOS. Pozostaw nieustawione, aby użyć domyślnego ustawienia urządzenia.silenceTimeoutMskontroluje, jak długo tryb Talk czeka po ciszy użytkownika, zanim wyśle transkrypcję. Brak ustawienia zachowuje domyślne okno pauzy platformy (700 ms on macOS and Android, 900 ms on iOS).realtime.instructionsdołącza skierowane do dostawcy instrukcje systemowe do wbudowanego promptu realtime OpenClaw, dzięki czemu styl głosu można skonfigurować bez utraty domyślnych wskazówekopenclaw_agent_consult.realtime.consultRoutingkontroluje awaryjne przekazywanie Gateway, gdy dostawca realtime tworzy finalną transkrypcję użytkownika bezopenclaw_agent_consult:provider-directzachowuje bezpośrednie odpowiedzi dostawcy, aforce-agent-consultkieruje sfinalizowane żądanie przez OpenClaw.
Powiązane
- Dokumentacja konfiguracji — wszystkie pozostałe klucze konfiguracji
- Konfiguracja — typowe zadania i szybka konfiguracja
- Przykłady konfiguracji