Klucze konfiguracji o zakresie agenta podDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
agents.*, multiAgent.*, session.*,
messages.* i talk.*. Klucze dotyczące kanałów, narzędzi, środowiska uruchomieniowego Gateway i innych
kluczy najwyższego poziomu znajdziesz w referencji konfiguracji.
Domyślne ustawienia agenta
agents.defaults.workspace
Domyślnie: ~/.openclaw/workspace.
agents.defaults.repoRoot
Opcjonalny katalog główny repozytorium pokazywany w wierszu Runtime promptu systemowego. Jeśli nie jest ustawiony, OpenClaw wykrywa go automatycznie, przechodząc w górę od obszaru roboczego.
agents.defaults.skills
Opcjonalna domyślna lista dozwolonych Skills dla agentów, które nie ustawiają
agents.list[].skills.
- Pomiń
agents.defaults.skills, aby domyślnie zezwolić na nieograniczone Skills. - Pomiń
agents.list[].skills, aby dziedziczyć wartości domyślne. - Ustaw
agents.list[].skills: [], aby nie zezwalać na żadne Skills. - Niepusta lista
agents.list[].skillsjest ostatecznym zestawem dla tego agenta; nie jest scalana z wartościami domyślnymi.
agents.defaults.skipBootstrap
Wyłącza automatyczne tworzenie plików rozruchowych 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 rozruchowe. Prawidłowe wartości: SOUL.md, USER.md, HEARTBEAT.md i IDENTITY.md.
agents.defaults.contextInjection
Kontroluje, kiedy pliki rozruchowe obszaru roboczego są wstrzykiwane do promptu systemowego. Domyślnie: "always".
"continuation-skip": bezpieczne tury kontynuacji (po ukończonej odpowiedzi asystenta) pomijają ponowne wstrzykiwanie rozruchu obszaru roboczego, zmniejszając rozmiar promptu. Uruchomienia Heartbeat i ponowne próby po Compaction nadal odbudowują kontekst."never": wyłącza rozruch obszaru roboczego i wstrzykiwanie plików kontekstu w każdej turze. Używaj tego tylko dla agentów, które w pełni kontrolują cykl życia swojego promptu (niestandardowe silniki kontekstu, natywne środowiska uruchomieniowe budujące własny kontekst lub wyspecjalizowane przepływy pracy bez rozruchu). Tury Heartbeat i odzyskiwania po Compaction również pomijają wstrzykiwanie.
agents.defaults.bootstrapMaxChars
Maksymalna liczba znaków na plik rozruchowy obszaru roboczego przed obcięciem. Domyślnie: 12000.
agents.defaults.bootstrapTotalMaxChars
Maksymalna łączna liczba znaków wstrzykiwanych ze wszystkich plików rozruchowych obszaru roboczego. Domyślnie: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Kontroluje widoczne dla agenta powiadomienie w prompcie systemowym, gdy kontekst rozruchowy zostanie obcięty.
Domyślnie: "once".
"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 (zalecane)."always": wstrzyknij zwięzłe powiadomienie przy każdym uruchomieniu, gdy istnieje obcięcie.
Mapa własności budżetu kontekstu
OpenClaw ma wiele wysokowolumenowych budżetów promptu/kontekstu i są one celowo rozdzielone według podsystemu, zamiast przepływać przez jedno ogólne pokrętło.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: standardowe wstrzykiwanie rozruchu obszaru roboczego.agents.defaults.startupContext.*: jednorazowy prelude uruchomienia modelu po resecie/starcie, w tym ostatnie dzienne plikimemory/*.md. Same polecenia czatu/newi/resetsą potwierdzane bez wywoływania modelu.skills.limits.*: kompaktowa lista Skills wstrzykiwana do promptu systemowego.agents.defaults.contextLimits.*: ograniczone fragmenty środowiska uruchomieniowego i wstrzykiwane bloki należące do środowiska uruchomieniowego.memory.qmd.limits.*: rozmiarowanie indeksowanego fragmentu wyszukiwania pamięci i wstrzyknięcia.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Kontroluje prelude pierwszej tury uruchomienia wstrzykiwany przy uruchomieniach modelu po resecie/starcie.
Same polecenia czatu /new i /reset potwierdzają reset bez wywoływania
modelu, więc nie ładują tego prelude.
agents.defaults.contextLimits
Wspólne wartości domyślne dla ograniczonych powierzchni kontekstu środowiska uruchomieniowego.
memoryGetMaxChars: domyślny limit fragmentumemory_getprzed dodaniem metadanych obcięcia i powiadomienia o kontynuacji.memoryGetDefaultLines: domyślne okno liniimemory_get, gdylinesjest pominięte.toolResultMaxChars: limit wyników narzędzi na żywo używany dla utrwalanych wyników i odzyskiwania po przepełnieniu.postCompactionMaxChars: limit fragmentu AGENTS.md używany podczas wstrzykiwania odświeżenia po Compaction.
agents.list[].contextLimits
Nadpisanie dla konkretnego agenta dla wspólnych pokręteł contextLimits. Pominięte pola dziedziczą
z agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Globalny limit dla kompaktowej listy Skills wstrzykiwanej do promptu systemowego. Nie
wpływa to na odczytywanie plików SKILL.md na żądanie.
agents.list[].skillsLimits.maxSkillsPromptChars
Nadpisanie dla konkretnego agenta dla budżetu promptu Skills.
agents.defaults.imageMaxDimensionPx
Maksymalny rozmiar w pikselach najdłuższego boku obrazu w blokach obrazów transkryptu/narzędzia przed wywołaniami dostawcy.
Domyślnie: 1200.
Niższe wartości zwykle zmniejszają użycie tokenów wizyjnych i rozmiar ładunku żądania w uruchomieniach z dużą liczbą zrzutów ekranu.
Wyższe wartości zachowują więcej szczegółów wizualnych.
agents.defaults.userTimezone
Strefa czasowa dla kontekstu promptu systemowego (nie znaczników czasu wiadomości). W razie braku ustawienia używa strefy czasowej 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 główny.
- Forma obiektu ustawia model główny oraz uporządkowane modele przełączania awaryjnego.
imageModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używane przez ścieżkę narzędzia
imagejako konfiguracja modelu wizyjnego. - Używane także jako trasa rezerwowa, gdy wybrany/domyślny model nie może przyjmować wejścia obrazu.
- 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żywane przez ścieżkę narzędzia
imageGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używane przez współdzieloną funkcję generowania obrazów i każdą przyszłą powierzchnię narzędzia/pluginu, 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 OpenAI PNG/WebP z przezroczystym tłem. - Jeśli wybierzesz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnianie 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ę wspieranego uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania obrazów w kolejności identyfikatorów dostawców.
musicGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używane przez współdzieloną funkcję generowania muzyki i 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ę wspieranego uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania muzyki w kolejności identyfikatorów dostawców. - Jeśli wybierzesz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnianie/klucz API dostawcy.
- Używane przez współdzieloną funkcję generowania muzyki i wbudowane narzędzie
videoGenerationModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używane przez współdzieloną funkcję generowania wideo i 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ę wspieranego uwierzytelnieniem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania wideo w kolejności identyfikatorów dostawców. - Jeśli wybierzesz dostawcę/model bezpośrednio, skonfiguruj także pasujące uwierzytelnianie/klucz API dostawcy.
- Dołączony dostawca generowania wideo Qwen obsługuje do 1 wyjściowego wideo, 1 obrazu wejściowego, 4 wejściowych wideo, czas trwania 10 sekund oraz opcje na poziomie dostawcy
size,aspectRatio,resolution,audioiwatermark.
- Używane przez współdzieloną funkcję generowania wideo i wbudowane narzędzie
pdfModel: akceptuje ciąg znaków ("provider/model") albo obiekt ({ primary, fallbacks }).- Używane przez narzędzie
pdfdo trasowania modeli. - Jeśli pominięto, narzędzie PDF przechodzi awaryjnie do
imageModel, a następnie do rozwiązanego modelu sesji/domyślnego.
- Używane 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 uwzględnianych 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ółów dla podsumowań narzędzi/verbosei szkicowych linii postępu narzędzi. Wartości:"explain"(domyślne, kompaktowe etykiety czytelne dla człowieka) albo"raw"(dołącz surowe polecenie/szczegóły, gdy są dostępne).agents.list[].toolProgressDetaildla danego agenta zastępuje tę wartość domyślną.reasoningDefault: domyślna widoczność rozumowania dla agentów. Wartości:"off","on","stream".agents.list[].reasoningDefaultdla danego agenta zastępuje tę wartość domyślną. Skonfigurowane domyślne wartości rozumowania są stosowane tylko dla właścicieli, autoryzowanych nadawców albo kontekstów Gateway operator-admin, gdy nie ustawiono zastąpienia rozumowania dla wiadomości lub sesji.elevatedDefault: domyślny poziom wyniku podniesionego 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 wraca do skonfigurowanego domyślnego dostawcy (przestarzałe zachowanie zgodności, więc preferuj jawneprovider/model). Jeśli ten dostawca nie udostępnia już skonfigurowanego domyślnego modelu, OpenClaw przechodzi awaryjnie 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,chat_template_kwargs,extra_body/extraBody).- Używaj wpisów
provider/*, takich jak"openai-codex/*": {}albo"vllm/*": {}, aby pokazać wszystkie wykryte modele dla wybranych dostawców bez ręcznego wypisywania każdego identyfikatora modelu. - Bezpieczne edycje: użyj
openclaw config set agents.defaults.models '<json>' --strict-json --merge, aby dodać wpisy.config setodmawia zastąpień, które usunęłyby istniejące wpisy listy dozwolonych, chyba że przekażesz--replace. - Przepływy konfiguracji/onboardingu w zakresie dostawcy scalają wybrane modele dostawcy z tą mapą i zachowują już skonfigurowanych, niepowiązanych dostawców.
- 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 zastąpić próg. Zobacz Compaction po stronie serwera OpenAI.
- Używaj wpisów
params: globalne domyślne parametry dostawcy stosowane do wszystkich modeli. Ustawiane wagents.defaults.params(np.{ cacheRetention: "long" }).- Pierwszeństwo 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 znajdziesz w Prompt Caching. params.extra_body/params.extraBody: zaawansowany przekazywany 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ąstorespecyficzne tylko dla OpenAI.params.chat_template_kwargs: argumenty szablonu czatu zgodne z vLLM/OpenAI scalane z treściami żądań najwyższego poziomuapi: "openai-completions". Dlavllm/nemotron-3-*z wyłączonym myśleniem 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 ostateczny priorytet. Dla kontrolek myślenia Qwen ustawparams.qwenThinkingFormatna"chat-template"albo"top-level"w tym wpisie modelu.compat.thinkingFormat: styl ładunku myślenia zgodny z OpenAI. Użyj"qwen"dla stylu Qwen zenable_thinkingnajwyższego poziomu albo"qwen-chat-template"dlachat_template_kwargs.enable_thinkingna 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.compat.supportedReasoningEfforts: lista poziomów wysiłku rozumowania zgodna z OpenAI dla danego modelu. Uwzględnij"xhigh"dla niestandardowych punktów końcowych, które naprawdę go akceptują; OpenClaw udostępnia wtedy/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 wymaga wartości specyficznej dla dostawcy dla kanonicznego poziomu.params.preserveThinking: opcjonalna zgoda tylko dla Z.AI na zachowane myślenie. Gdy włączone i myślenie jest włączone, OpenClaw wysyłathinking.clear_thinking: falsei odtwarza wcześniejszereasoning_content; zobacz myślenie i zachowane myślenie Z.AI.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 sprawdzahealthUrl(albobaseUrl + "/models"), uruchamiacommandzargs, jeśli punkt końcowy jest niedostępny, czeka doreadyTimeoutMs, a następnie wysyła żądanie modelu.commandmusi być ścieżką bezwzględną.idleStopMs: 0utrzymuje proces przy życiu do zakończenia OpenClaw; wartość dodatnia zatrzymuje proces uruchomiony przez OpenClaw po tylu milisekundach bezczynności. Zobacz Lokalne usługi modeli.- Polityka runtime należy do dostawców lub modeli, nie do
agents.defaults. Użyjmodels.providers.<provider>.agentRuntimedla reguł obejmujących całego 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. - Programy zapisujące konfigurację, które modyfikują te pola (na przykład
/models set,/models set-imagei polecenia dodawania/usuwania awaryjnych modeli), zapisują kanoniczną formę obiektu i w miarę możliwości zachowują istniejące listy awaryjne. maxConcurrent: maksymalna liczba równoległych uruchomień agentów między sesjami (każda sesja nadal jest serializowana). Domyślnie: 4.
Polityka runtime
id:"auto","pi", 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 PI, gdy żaden harness nie pasuje. Jawny runtime pluginu, taki jakid: "codex", wymaga tego harnessu i kończy się zamkniętą porażką, jeśli jest niedostępny albo zawiedzie.- Klucze runtime całego agenta są przestarzałe.
agents.defaults.agentRuntime,agents.list[].agentRuntime, przypięcia runtime sesji iOPENCLAW_AGENT_RUNTIMEsą ignorowane przez wybór runtime. Uruchomopenclaw doctor --fix, aby usunąć nieaktualne wartości. - Modele agentów OpenAI domyślnie używają harnessu Codex;
agentRuntime.id: "codex"dostawcy/modelu pozostaje poprawne, gdy chcesz ustawić to jawnie. - Dla wdrożeń Claude CLI preferuj
model: "anthropic/claude-opus-4-7"plusagentRuntime.id: "claude-cli"w zakresie modelu. Starsze referencje modeliclaude-cli/claude-opus-4-7nadal działają dla zgodności, ale nowa konfiguracja powinna utrzymywać kanoniczny wybór dostawcy/modelu i umieszczać backend wykonawczy w polityce runtime dostawcy/modelu. - To kontroluje wyłącznie wykonywanie tekstowych tur agenta. Generowanie mediów, wizja, PDF, muzyka, wideo i TTS nadal używają swoich ustawień dostawcy/modelu.
agents.defaults.models):
| Alias | Model |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.5 |
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-preview |
--thinking off lub samodzielnie zdefiniujesz agents.defaults.models["zai/<model>"].params.thinking.
Modele Z.AI domyślnie włączają tool_stream do strumieniowania wywołań narzędzi. Ustaw agents.defaults.models["zai/<model>"].params.tool_stream na false, aby to wyłączyć.
Modele Anthropic Claude 4.6 domyślnie używają rozumowania adaptive, gdy nie ustawiono jawnego poziomu rozumowania.
agents.defaults.cliBackends
Opcjonalne zaplecza CLI dla tekstowych uruchomień awaryjnych (bez wywołań narzędzi). Przydatne jako kopia zapasowa, gdy dostawcy API zawodzą.
- Zaplecza CLI są zorientowane na tekst; narzędzia są zawsze wyłączone.
- Sesje są obsługiwane, gdy ustawiono
sessionArg. - Przekazywanie obrazów jest obsługiwane, gdy
imageArgprzyjmuje ścieżki plików. reseedFromRawTranscriptWhenUncompacted: truepozwala zapleczu odzyskać bezpieczne unieważnione sesje z ograniczonego surowego końca transkrypcji OpenClaw, zanim pojawi się pierwsze podsumowanie Compaction. Zmiany profilu uwierzytelniania lub epoki poświadczeń nadal nigdy nie używają ponownego zasiewania z surowej transkrypcji.
agents.defaults.systemPromptOverride
Zastępuje cały prompt systemowy złożony przez OpenClaw stałym ciągiem znaków. Ustaw na poziomie domyślnym (agents.defaults.systemPromptOverride) lub dla agenta (agents.list[].systemPromptOverride). Wartości dla agenta mają pierwszeństwo; wartość pusta lub zawierająca tylko białe znaki jest ignorowana. Przydatne do kontrolowanych eksperymentów z promptami.
agents.defaults.promptOverlays
Niezależne od dostawcy nakładki promptów stosowane według rodziny modelu. Identyfikatory modeli z rodziny GPT-5 otrzymują wspólny kontrakt zachowania u różnych dostawców; personality steruje tylko przyjazną warstwą stylu interakcji.
"friendly"(domyślnie) i"on"włączają przyjazną warstwę 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) lub1h(uwierzytelnianie OAuth). Ustaw na0m, aby wyłączyć.includeSystemPromptSection: gdy ma wartość false, pomija sekcję Heartbeat w prompcie systemowym i pomija wstrzyknięcieHEARTBEAT.mddo kontekstu rozruchowego. Domyślnie:true.suppressToolErrorWarnings: gdy ma wartość 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.directPolicy: zasady 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 ma wartość true, uruchomienia Heartbeat używają lekkiego kontekstu rozruchowego i zachowują tylkoHEARTBEAT.mdz plików rozruchowych obszaru roboczego.isolatedSession: gdy ma wartość true, każde Heartbeat działa w nowej sesji bez wcześniejszej historii rozmowy. Ten sam wzorzec izolacji co w CronsessionTarget: "isolated". Zmniejsza koszt tokenów na Heartbeat z ~100K do ~2-5K tokenów.skipWhenBusy: gdy ma wartość true, uruchomienia Heartbeat są odraczane na dodatkowych zajętych ścieżkach tego agenta: jego własnej, kluczowanej sesją pracy subagenta lub zagnieżdżonych poleceń. Ścieżki Cron zawsze odraczają Heartbeat, nawet bez tej flagi.- Dla agenta: ustaw
agents.list[].heartbeat. Gdy dowolny agent definiujeheartbeat, tylko ci agenci uruchamiają Heartbeat. - Heartbeat uruchamiają 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 Plugin 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:900.keepRecentTokens: budżet punktu odcięcia Pi na zachowanie dosłownego najnowszego końca transkrypcji. Ręczne/compactrespektuje to, gdy jest jawnie ustawione; w przeciwnym razie ręczne Compaction jest twardym punktem kontrolnym.identifierPolicy:strict(domyślnie),offlubcustom.strictpoprzedza podsumowywanie Compaction wbudowanymi wskazówkami dotyczącymi zachowania nieprzezroczystych identyfikatorów.identifierInstructions: opcjonalny niestandardowy tekst zachowania identyfikatorów używany, gdyidentifierPolicy=custom.qualityGuard: kontrole ponawiania przy nieprawidłowo sformatowanym wyjściu dla podsumowań safeguard. Domyślnie włączone w trybie safeguard; ustawenabled: false, aby pominąć audyt.midTurnPrecheck: opcjonalna kontrola presji pętli narzędzi Pi. 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 z kontroli wstępnej, aby przyciąć wyniki narzędzi albo wykonać Compaction i ponowić próbę. Działa z trybami Compactiondefaultisafeguard. Domyślnie: wyłączone.postCompactionSections: opcjonalne nazwy sekcji H2/H3 z AGENTS.md do ponownego wstrzyknięcia po Compaction. Domyślnie["Session Startup", "Red Lines"]; ustaw[], aby wyłączyć ponowne wstrzykiwanie. Gdy nieustawione lub jawnie ustawione na tę domyślną parę, starsze nagłówkiEvery Session/Safetysą również akceptowane jako starszy mechanizm awaryjny.model: opcjonalne nadpisanieprovider/model-idtylko dla podsumowywania Compaction. Użyj tego, gdy główna sesja powinna zachować jeden model, ale podsumowania Compaction powinny działać na innym; gdy nieustawione, Compaction używa podstawowego modelu sesji.maxActiveTranscriptBytes: opcjonalny próg bajtów (numberlub ciągi takie jak"20mb"), który wyzwala zwykłe lokalne Compaction przed uruchomieniem, gdy aktywny JSONL przekroczy próg. WymagatruncateAfterCompaction, aby udane Compaction mogło obrócić transkrypcję do mniejszego następcy. Wyłączone, gdy nieustawione lub0.notifyUser: gdytrue, wysyła krótkie powiadomienia do użytkownika, gdy Compaction się rozpoczyna i gdy się kończy (na przykład „Kompaktowanie kontekstu…” i „Compaction zakończone”). Domyślnie wyłączone, aby Compaction pozostało ciche.memoryFlush: cicha tura agentowa przed automatycznym Compaction w celu zapisania trwałych wspomnień. Ustawmodelna dokładny dostawca/model, taki jakollama/qwen3:8b, gdy ta tura porządkowa ma pozostać na modelu lokalnym; nadpisanie nie dziedziczy aktywnego łańcucha awaryjnego sesji. Pomijane, gdy obszar roboczy jest tylko do odczytu.
agents.defaults.runRetries
Granice iteracji ponawiania zewnętrznej pętli uruchomienia dla osadzonego runnera Pi, aby zapobiegać nieskończonym pętlom wykonania podczas odzyskiwania po awarii. Pamiętaj, że to ustawienie obecnie dotyczy tylko osadzonego środowiska uruchomieniowego agenta, a nie środowisk uruchomieniowych ACP ani CLI.
base: bazowa liczba iteracji ponawiania uruchomienia dla zewnętrznej pętli uruchomienia. Domyślnie:24.perProfile: dodatkowe iteracje ponawiania uruchomienia przyznane na każdego kandydata profilu awaryjnego. Domyślnie:8.min: minimalny bezwzględny limit iteracji ponawiania uruchomienia. Domyślnie:32.max: maksymalny bezwzględny limit iteracji ponawiania uruchomienia, aby zapobiec 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.
Działanie trybu cache-ttl
Działanie trybu cache-ttl
mode: "cache-ttl"włącza przebiegi przycinania.ttlkontroluje, jak często przycinanie może zostać uruchomione ponownie (po ostatnim dotknięciu cache).- Przycinanie najpierw miękko skraca zbyt duże wyniki narzędzi, a następnie, jeśli trzeba, twardo czyści starsze wyniki narzędzi.
... w środku.Twarde czyszczenie zastępuje cały wynik narzędzia symbolem zastępczym.Uwagi:- Bloki obrazów nigdy nie są skracane/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 bloków
- Kanały inne niż Telegram wymagają jawnego
*.blockStreaming: true, aby włączyć odpowiedzi blokowe. - Nadpisania kanałów:
channels.<channel>.blockStreamingCoalesce(oraz warianty dla poszczególnych 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
- Wartości domyślne:
instantdla czatów bezpośrednich/wzmianek,messagedla czatów grupowych bez wzmianki. - Nadpisania dla sesji:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Opcjonalna izolacja sandbox dla osadzonego agenta. Pełny przewodnik znajdziesz w Sandboxing.
Szczegóły sandbox
Szczegóły sandbox
Backend:Tryb OpenShell:
docker: lokalne środowisko uruchomieniowe Docker (domyślne)ssh: ogólne zdalne środowisko uruchomieniowe oparte na SSHopenshell: środowisko uruchomieniowe OpenShell
backend: "openshell", ustawienia specyficzne dla środowiska uruchomieniowego przenoszą się 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 przestrzeni roboczych poszczególnych zakresówidentityFile/certificateFile/knownHostsFile: istniejące pliki lokalne przekazywane do OpenSSHidentityData/certificateData/knownHostsData: zawartość inline lub SecretRefs, które OpenClaw materializuje w plikach tymczasowych w czasie wykonywaniastrictHostKeyChecking/updateHostKeys: przełączniki zasad kluczy hosta OpenSSH
identityDatama pierwszeństwo przedidentityFilecertificateDatama pierwszeństwo przedcertificateFileknownHostsDatama pierwszeństwo przedknownHostsFile- Wartości
*Dataoparte na SecretRef są rozwiązywane z aktywnego zrzutu środowiska uruchomieniowego sekretów przed rozpoczęciem sesji sandbox
- zasila zdalną przestrzeń roboczą raz po utworzeniu lub ponownym utworzeniu
- następnie utrzymuje zdalną przestrzeń roboczą SSH jako kanoniczną
- kieruje
exec, narzędzia plikowe i ścieżki mediów przez SSH - nie synchronizuje automatycznie zdalnych zmian z powrotem na host
- nie obsługuje kontenerów przeglądarki sandbox
none: przestrzeń robocza sandbox dla danego zakresu pod~/.openclaw/sandboxesro: przestrzeń robocza sandbox w/workspace, przestrzeń robocza agenta zamontowana tylko do odczytu w/agentrw: przestrzeń robocza agenta zamontowana do odczytu/zapisu w/workspace
session: kontener + przestrzeń robocza dla każdej sesjiagent: jeden kontener + przestrzeń robocza na agenta (domyślnie)shared: współdzielony kontener i przestrzeń robocza (bez izolacji między sesjami)
mirror: zasila zdalne środowisko lokalnym przed exec, synchronizuje z powrotem po exec; lokalna przestrzeń robocza pozostaje kanonicznaremote: zasila zdalne środowisko raz podczas tworzenia sandbox, a następnie utrzymuje zdalną przestrzeń roboczą jako kanoniczną
remote edycje lokalne na hoście wykonane poza OpenClaw nie są automatycznie synchronizowane do sandbox po etapie zasilenia.
Transport odbywa się przez SSH do sandbox OpenShell, ale Plugin jest właścicielem cyklu życia sandbox i opcjonalnej synchronizacji lustrzanej.setupCommand uruchamia się raz po utworzeniu kontenera (przez sh -lc). Wymaga wychodzącego dostępu do sieci, zapisywalnego katalogu głównego i użytkownika root.Kontenery domyślnie używają network: "none" — ustaw "bridge" (lub niestandardową sieć bridge), 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).Załączniki przychodzące są umieszczane w media/inbound/* w aktywnej przestrzeni roboczej.docker.binds montuje dodatkowe katalogi hosta; globalne i przypisane do agenta powiązania są scalane.Przeglądarka sandbox (sandbox.browser.enabled): Chromium + CDP w kontenerze. URL noVNC jest 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 sesje sandbox przed wskazywaniem przeglądarki hosta jako celu.networkdomyślnie ustawione jest naopenclaw-sandbox-browser(dedykowana sieć bridge). Ustawbridgetylko wtedy, gdy jawnie chcesz globalnej łączności bridge.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 sandbox. Po ustawieniu (w tym[]) zastępujedocker.bindsdla kontenera przeglądarki.- Domyślne ustawienia uruchamiania są zdefiniowane w
scripts/sandbox-browser-entrypoint.shi dostrojone dla hostów 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 entrypoint, aby zmienić wartości domyślne kontenera.
sandbox.docker.binds są dostępne tylko w Docker.
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 dane uwierzytelniające mogą pozostać w jednym miejscu, podczas gdy poszczególni
agenci nadpisują tylko te pola głosu lub dostawcy, których potrzebują. Nadpisanie aktywnego agenta
ma zastosowanie do automatycznych odpowiedzi mówionych, /tts audio, /tts status oraz
narzędzia agenta tts. Zobacz Zamiana tekstu na mowę,
aby poznać przykłady dostawców i kolejność pierwszeństwa.
id: stabilny identyfikator agenta (wymagany).default: gdy ustawiono wiele, wygrywa pierwszy (rejestrowane jest ostrzeżenie). Jeśli nie ustawiono żadnego, domyślny jest pierwszy wpis listy.model: forma tekstowa ustawia ścisły podstawowy model dla agenta bez modelu awaryjnego; forma obiektu{ primary }również jest ścisła, chyba że dodaszfallbacks. Użyj{ primary, fallbacks: [...] }, aby włączyć dla tego agenta modele awaryjne, albo{ primary, fallbacks: [] }, aby jawnie ustawić zachowanie ścisłe. Zadania Cron, które nadpisują tylkoprimary, nadal dziedziczą domyślne modele awaryjne, 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 zamiany tekstu na mowę dla agenta. Blok jest głęboko scalany zmessages.tts, więc współdzielone dane uwierzytelniające dostawcy i zasady awaryjne trzymaj 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 lub sesji. Wybrany profil dostawcy/modelu kontroluje, które wartości są prawidłowe; dla Google Geminiadaptivezachowuje dynamiczne myślenie kontrolowane 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 lub sesji.fastModeDefault: opcjonalna wartość domyślna trybu szybkiego dla agenta (true | false). Ma zastosowanie, gdy nie ustawiono nadpisania trybu szybkiego dla wiadomości lub sesji.models: opcjonalny katalog modeli/nadpisania środowiska uruchomieniowego dla agenta, kluczowane pełnymi identyfikatoramiprovider/model. Użyjmodels["provider/model"].agentRuntimedla wyjątków środowiska uruchomieniowego dla agenta.runtime: opcjonalny deskryptor środowiska uruchomieniowego dla agenta. Użyjtype: "acp"z wartościami domyślnymiruntime.acp(agent,backend,mode,cwd), gdy agent powinien domyślnie używać sesji uprzęży ACP.identity.avatar: ścieżka względna wobec obszaru roboczego, URLhttp(s)lub URIdata:.identitywyprowadza wartości domyślne:ackReactionzemoji,mentionPatternszname/emoji.subagents.allowAgents: lista dozwolonych identyfikatorów agentów dla jawnych celówsessions_spawn.agentId(["*"]= dowolny; domyślnie: tylko ten sam agent). Uwzględnij identyfikator żądającego, gdy wywołaniaagentIdcelujące w siebie powinny być dozwolone.- Ochrona dziedziczenia piaskownicy: jeśli sesja żądającego działa w piaskownicy,
sessions_spawnodrzuca cele, które uruchomiłyby się bez piaskownicy. subagents.requireAgentId: gdy ma wartość true, blokuj wywołaniasessions_spawn, które pomijająagentId(wymusza jawny wybór profilu; domyślnie: false).
Routing wielu agentów
Uruchamiaj wielu izolowanych agentów w jednym Gateway. Zobacz Wielu agentów.Pola dopasowania powiązania
type(opcjonalne):routedla normalnego routingu (brakujący typ 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)- Domyślny agent
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ń routingu.
Profile dostępu dla 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 ramach kontekstu kanału.global: wszyscy uczestnicy w kontekście kanału współdzielą jedną sesję (używaj tylko wtedy, gdy współdzielony kontekst jest zamierzony).
dmScope: sposób grupowania wiadomości DM.main: wszystkie wiadomości DM współdzielą główną sesję.per-peer: izoluje według identyfikatora nadawcy między kanałami.per-channel-peer: izoluje według kanału + nadawcy (zalecane dla skrzynek odbiorczych z wieloma użytkownikami).per-account-channel-peer: izoluje według konta + kanału + nadawcy (zalecane dla wielu kont).
identityLinks: mapuje kanoniczne identyfikatory na peery z prefiksem dostawcy na potrzeby współdzielenia sesji między kanałami. Polecenia dockowania, takie jak/dock_discord, używają tej samej mapy do przełączania trasy odpowiedzi aktywnej sesji na inny powiązany peer kanału; zobacz Dockowanie kanałów.reset: podstawowa polityka resetowania.dailyresetuje o lokalnej godzinieatHour;idleresetuje poidleMinutes. Gdy skonfigurowane są oba, wygrywa to, które wygaśnie jako pierwsze. Świeżość resetu dziennego używasessionStartedAtz wiersza sesji; świeżość resetu bezczynności używalastInteractionAt. Zapisy w tle/zdarzenia systemowe, takie jak heartbeat, wybudzenia cron, powiadomienia exec i księgowanie gateway, mogą aktualizowaćupdatedAt, ale nie utrzymują świeżości sesji dziennych/bezczynnych.resetByType: nadpisania dla poszczególnych typów (direct,group,thread). Starszedmjest akceptowane jako aliasdirect.mainKey: pole starszej wersji. Ś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ńcuch ping-pong.sendPolicy: dopasowuje wedługchannel,chatType(direct|group|channel, ze starszym aliasemdm),keyPrefixlubrawKeyPrefix. Pierwsza odmowa wygrywa.maintenance: kontrolki czyszczenia magazynu sesji + retencji.mode:warnemituje tylko ostrzeżenia;enforcestosuje czyszczenie.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 niewielkim buforem górnego progu dla limitów rozmiaru produkcyjnego;openclaw sessions cleanup --enforcestosuje limit natychmiast.rotateBytes: przestarzałe i ignorowane;openclaw doctor --fixusuwa je ze starszych konfiguracji.resetArchiveRetention: retencja archiwów transkrypcji*.reset.<timestamp>. Domyślnie używapruneAfter; ustawfalse, aby wyłączyć.maxDiskBytes: opcjonalny budżet dyskowy 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ątkami.enabled: główny przełącznik domyślny (dostawcy mogą nadpisywać; Discord używachannels.discord.threadBindings.enabled)idleHours: domyślne automatyczne odogniskowanie po bezczynności w godzinach (0wyłącza; dostawcy mogą nadpisywać)maxAgeHours: domyślny twardy maksymalny wiek w godzinach (0wyłącza; dostawcy mogą nadpisywać)spawnSessions: domyślna bramka tworzenia sesji roboczych powiązanych z wątkami zsessions_spawni spawnów wątków ACP. Domyślnietrue, gdy powiązania wątków są włączone; dostawcy/konta mogą nadpisywać.defaultSpawnContext: domyślny natywny kontekst subagenta dla spawnów powiązanych z wątkami ("fork"lub"isolated"). Domyślnie"fork".
Wiadomości
Prefiks odpowiedzi
Nadpisania dla poszczególnych kanałów/kont:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Rozstrzyganie (najbardziej szczegółowe wygrywa): 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 {thinkingLevel}.
Reakcja potwierdzenia
- Domyślnie używa
identity.emojiaktywnego agenta, w przeciwnym razie"👀". Ustaw"", aby wyłączyć. - Nadpisania dla poszczególnych kanałów:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Kolejność rozstrzygania: konto → kanał →
messages.ackReaction→ awaryjnie tożsamość. - 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, Telegram, WhatsApp i iMessage.messages.statusReactions.enabled: włącza reakcje statusu cyklu życia w Slack, Discord i Telegram. W Slack i Discord brak ustawienia utrzymuje reakcje statusu włączone, gdy aktywne są reakcje potwierdzenia. W Telegram ustaw to jawnie natrue, aby włączyć reakcje statusu cyklu życia.
Debounce przychodzących wiadomości
Grupuje szybkie wiadomości wyłącznie tekstowe od tego samego nadawcy w jedną turę agenta. Media/załączniki opróżniają grupę natychmiast. Polecenia sterujące omijają debounce.TTS (text-to-speech)
autokontroluje domyślny tryb automatycznego TTS:off,always,inboundlubtagged./tts on|offmoże nadpisać lokalne preferencje, a/tts statuspokazuje stan efektywny.summaryModelnadpisujeagents.defaults.model.primarydla automatycznego podsumowania.modelOverridesjest domyślnie włączone;modelOverrides.allowProviderdomyślnie ma wartośćfalse(opt-in).- Klucze API używają awaryjnie
ELEVENLABS_API_KEY/XI_API_KEYiOPENAI_API_KEY. - Dołączani dostawcy mowy należą do 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 aliasmicrosoft. providers.openai.baseUrlnadpisuje punkt końcowy OpenAI TTS. Kolejność rozstrzygania to konfiguracja, potemOPENAI_TTS_BASE_URL, potemhttps://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
Wartości domyślne 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ą przeznaczone wyłącznie do zgodności. Uruchomopenclaw doctor --fix, aby przepisać utrwaloną konfigurację dotalk.providers.<provider>. - Identyfikatory głosów używają awaryjnie
ELEVENLABS_VOICE_IDlubSAG_VOICE_ID. providers.*.apiKeyakceptuje ciągi tekstowe jawne albo 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 pominięto, 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_BINnadpisuje ścieżkę pomocnika na potrzeby programowania. consultThinkingLevelkontroluje poziom myślenia dla pełnego uruchomienia agenta OpenClaw 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 zmieniania normalnego ustawienia trybu szybkiego sesji.speechLocaleustawia identyfikator locale 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 instrukcje systemowe skierowane do dostawcy do wbudowanego promptu realtime OpenClaw, aby można było skonfigurować styl głosu bez utraty domyślnych wskazówekopenclaw_agent_consult.
Powiązane
- Dokumentacja konfiguracji — wszystkie pozostałe klucze konfiguracji
- Konfiguracja — typowe zadania i szybka konfiguracja
- Przykłady konfiguracji