tools.* oraz konfiguracja niestandardowego dostawcy / baseUrl. Informacje o agentach,
kanałach i innych kluczach konfiguracji najwyższego poziomu znajdziesz w
Odwołaniu do konfiguracji.
Narzędzia
Profile narzędzi
tools.profile ustawia bazową listę dozwolonych przed tools.allow/tools.deny:
Lokalny onboarding domyślnie ustawia nowe lokalne konfiguracje na tools.profile: "coding", gdy wartość nie jest ustawiona (istniejące jawne profile są zachowywane).
| Profil | Obejmuje |
|---|---|
minimal | tylko session_status |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | Brak ograniczeń (tak samo jak brak ustawienia) |
Grupy narzędzi
| Grupa | Narzędzia |
|---|---|
group:runtime | exec, process, code_execution (bash jest akceptowany jako alias dla exec) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas |
group:automation | cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image, image_generate, video_generate, tts |
group:openclaw | Wszystkie wbudowane narzędzia (z wyłączeniem Pluginów dostawców) |
tools.allow / tools.deny
Globalna polityka dozwalania/zabraniania narzędzi (deny ma pierwszeństwo). Niewrażliwa na wielkość liter, obsługuje wildcardy *. Stosowana nawet wtedy, gdy sandbox Docker jest wyłączony.
tools.byProvider
Dalsze ograniczanie narzędzi dla konkretnych dostawców lub modeli. Kolejność: profil bazowy → profil dostawcy → allow/deny.
tools.elevated
Steruje dostępem do podwyższonego exec poza sandboxem:
- Nadpisanie per agent (
agents.list[].tools.elevated) może tylko dalej ograniczać. /elevated on|off|ask|fullzapisuje stan per sesja; dyrektywy inline mają zastosowanie do pojedynczej wiadomości.- Podwyższone
execomija sandboxing i używa skonfigurowanej ścieżki ucieczki (gatewaydomyślnie lubnode, gdy celem exec jestnode).
tools.exec
tools.loopDetection
Kontrole bezpieczeństwa pętli narzędzi są domyślnie wyłączone. Ustaw enabled: true, aby aktywować wykrywanie.
Ustawienia można definiować globalnie w tools.loopDetection i nadpisywać per agent w agents.list[].tools.loopDetection.
historySize: maksymalna historia wywołań narzędzi przechowywana do analizy pętli.warningThreshold: próg powtarzającego się wzorca bez postępu dla ostrzeżeń.criticalThreshold: wyższy próg powtarzania dla blokowania krytycznych pętli.globalCircuitBreakerThreshold: próg twardego zatrzymania dla dowolnego przebiegu bez postępu.detectors.genericRepeat: ostrzeganie przy powtarzanych wywołaniach tego samego narzędzia z tymi samymi argumentami.detectors.knownPollNoProgress: ostrzeganie/blokowanie przy znanych narzędziach odpytywania (process.poll,command_statusitp.).detectors.pingPong: ostrzeganie/blokowanie przy naprzemiennych wzorcach par bez postępu.- Jeśli
warningThreshold >= criticalThresholdlubcriticalThreshold >= globalCircuitBreakerThreshold, walidacja kończy się niepowodzeniem.
tools.web
tools.media
Konfiguruje rozumienie multimediów przychodzących (obraz/audio/wideo):
Pola wpisu modelu multimediów
Pola wpisu modelu multimediów
Wpis dostawcy (
type: "provider" lub pominięte):provider: identyfikator dostawcy API (openai,anthropic,google/gemini,groqitd.)model: nadpisanie identyfikatora modeluprofile/preferredProfile: wybór profilu zauth-profiles.json
type: "cli"):command: wykonywalny program do uruchomieniaargs: argumenty z szablonami (obsługuje{{MediaPath}},{{Prompt}},{{MaxChars}}itd.)
capabilities: opcjonalna lista (image,audio,video). Domyślnie:openai/anthropic/minimax→ image,google→ image+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: nadpisania per wpis.- Błędy powodują fallback do następnego wpisu.
auth-profiles.json → zmienne środowiskowe → models.providers.*.apiKey.Pola asynchronicznego zakończenia:asyncCompletion.directSend: gdy ma wartośćtrue, ukończone asynchroniczne zadaniamusic_generateivideo_generatenajpierw próbują bezpośredniego dostarczenia do kanału. Domyślnie:false(starsza ścieżka wybudzania sesji żądającego/dostarczania modelu).
tools.agentToAgent
tools.sessions
Steruje tym, które sesje mogą być celem dla narzędzi sesji (sessions_list, sessions_history, sessions_send).
Domyślnie: tree (bieżąca sesja + sesje uruchomione przez nią, takie jak podagenci).
self: tylko bieżący klucz sesji.tree: bieżąca sesja + sesje uruchomione przez bieżącą sesję (podagenci).agent: dowolna sesja należąca do bieżącego identyfikatora agenta (może obejmować innych użytkowników, jeśli uruchamiasz sesje per nadawca pod tym samym identyfikatorem agenta).all: dowolna sesja. Kierowanie między agentami nadal wymagatools.agentToAgent.- Ograniczenie sandboxa: gdy bieżąca sesja jest w sandboxie i
agents.defaults.sandbox.sessionToolsVisibility="spawned", widoczność jest wymuszana natree, nawet jeślitools.sessions.visibility="all".
tools.sessions_spawn
Steruje obsługą załączników inline dla sessions_spawn.
- Załączniki są obsługiwane tylko dla
runtime: "subagent". Runtime ACP je odrzuca. - Pliki są materializowane w przestrzeni roboczej dziecka w
.openclaw/attachments/<uuid>/z plikiem.manifest.json. - Zawartość załączników jest automatycznie redagowana przy utrwalaniu transkryptu.
- Dane wejściowe Base64 są walidowane ścisłymi kontrolami alfabetu/dopełnienia oraz zabezpieczeniem rozmiaru przed dekodowaniem.
- Uprawnienia plików to
0700dla katalogów i0600dla plików. - Czyszczenie podąża za polityką
cleanup:deletezawsze usuwa załączniki;keepzachowuje je tylko wtedy, gdyretainOnSessionKeep: true.
tools.experimental
Eksperymentalne flagi wbudowanych narzędzi. Domyślnie wyłączone, chyba że działa reguła automatycznego włączenia strict-agentic GPT-5.
planTool: włącza ustrukturyzowane narzędzieupdate_plando śledzenia nietrywialnej pracy wieloetapowej.- Domyślnie:
false, chyba żeagents.defaults.embeddedPi.executionContract(lub nadpisanie per agent) jest ustawione na"strict-agentic"dla uruchomienia rodziny GPT-5 OpenAI lub OpenAI Codex. Ustawtrue, aby wymusić włączenie narzędzia poza tym zakresem, albofalse, aby pozostawić je wyłączone nawet dla uruchomień strict-agentic GPT-5. - Gdy jest włączone, prompt systemowy dodaje także wskazówki użycia, aby model używał go tylko do istotnej pracy i utrzymywał co najwyżej jeden krok
in_progress.
agents.defaults.subagents
model: domyślny model dla uruchamianych podagentów. Jeśli pominięto, podagenci dziedziczą model wywołującego.allowAgents: domyślna lista dozwolonych identyfikatorów agentów docelowych dlasessions_spawn, gdy agent żądający nie ustawia własnegosubagents.allowAgents(["*"]= dowolny; domyślnie: tylko ten sam agent).runTimeoutSeconds: domyślny limit czasu (sekundy) dlasessions_spawn, gdy wywołanie narzędzia pomijarunTimeoutSeconds.0oznacza brak limitu czasu.- Polityka narzędzi per podagent:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Niestandardowi dostawcy i baseUrl
OpenClaw używa wbudowanego katalogu modeli. Dodaj niestandardowych dostawców przez models.providers w konfiguracji lub ~/.openclaw/agents/<agentId>/agent/models.json.
- Użyj
authHeader: true+headersdla niestandardowych potrzeb uwierzytelniania. - Nadpisz katalog główny konfiguracji agenta przez
OPENCLAW_AGENT_DIR(lubPI_CODING_AGENT_DIR, starszy alias zmiennej środowiskowej). - Pierwszeństwo scalania dla pasujących identyfikatorów dostawców:
- Niepuste wartości
baseUrlwmodels.jsonagenta mają pierwszeństwo. - Niepuste wartości
apiKeyagenta mają pierwszeństwo tylko wtedy, gdy ten dostawca nie jest zarządzany przez SecretRef w bieżącym kontekście konfiguracji/profilu uwierzytelniania. - Wartości
apiKeydostawców zarządzanych przez SecretRef są odświeżane z markerów źródła (ENV_VAR_NAMEdla referencji env,secretref-manageddla referencji file/exec) zamiast utrwalania rozstrzygniętych sekretów. - Wartości nagłówków dostawców zarządzanych przez SecretRef są odświeżane z markerów źródła (
secretref-env:ENV_VAR_NAMEdla referencji env,secretref-manageddla referencji file/exec). - Puste lub brakujące
apiKey/baseUrlagenta używają fallbacku domodels.providersw konfiguracji. - Dla pasujących modeli
contextWindow/maxTokensużywają wyższej wartości z jawnej konfiguracji i niejawnych wartości katalogu. - Dla pasujących modeli
contextTokenszachowuje jawny limit runtime, gdy istnieje; użyj tego, aby ograniczyć efektywny kontekst bez zmiany natywnych metadanych modelu. - Użyj
models.mode: "replace", gdy chcesz, aby konfiguracja całkowicie przepisałamodels.json. - Utrwalanie markerów jest autorytatywne względem źródła: markery są zapisywane z migawki aktywnej konfiguracji źródłowej (przed rozstrzyganiem), a nie z rozstrzygniętych wartości sekretów w czasie działania.
- Niepuste wartości
Szczegóły pól dostawcy
models.mode: zachowanie katalogu dostawców (mergelubreplace).models.providers: mapa niestandardowych dostawców kluczowana identyfikatorem dostawcy.- Bezpieczne edycje: używaj
openclaw config set models.providers.<id> '<json>' --strict-json --mergelubopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergedo aktualizacji addytywnych.config setodmawia destrukcyjnych zastąpień, jeśli nie przekażesz--replace.
- Bezpieczne edycje: używaj
models.providers.*.api: adapter żądań (openai-completions,openai-responses,anthropic-messages,google-generative-aiitd.).models.providers.*.apiKey: poświadczenie dostawcy (preferowane SecretRef/podstawienie env).models.providers.*.auth: strategia uwierzytelniania (api-key,token,oauth,aws-sdk).models.providers.*.injectNumCtxForOpenAICompat: dla Ollama +openai-completionswstrzykujeoptions.num_ctxdo żądań (domyślnie:true).models.providers.*.authHeader: wymusza przesyłanie poświadczeń w nagłówkuAuthorization, gdy jest to wymagane.models.providers.*.baseUrl: bazowy URL nadrzędnego API.models.providers.*.headers: dodatkowe statyczne nagłówki do routingu proxy/dzierżawy.models.providers.*.request: nadpisania transportu dla żądań HTTP dostawcy modeli.request.headers: dodatkowe nagłówki (scalane z domyślnymi nagłówkami dostawcy). Wartości akceptują SecretRef.request.auth: nadpisanie strategii uwierzytelniania. Tryby:"provider-default"(użyj wbudowanego uwierzytelniania dostawcy),"authorization-bearer"(ztoken),"header"(zheaderName,value, opcjonalnymprefix).request.proxy: nadpisanie proxy HTTP. Tryby:"env-proxy"(użyj zmiennych środowiskowychHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(zurl). Oba tryby akceptują opcjonalny podobiekttls.request.tls: nadpisanie TLS dla połączeń bezpośrednich. Pola:ca,cert,key,passphrase(wszystkie akceptują SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: gdy ma wartośćtrue, zezwala na HTTPS dobaseUrl, gdy DNS rozstrzyga do zakresów prywatnych, CGNAT lub podobnych, przez ochronę pobierania HTTP dostawcy (świadoma zgoda operatora dla zaufanych self-hosted punktów końcowych zgodnych z OpenAI). WebSocket używa tego samegorequestdla nagłówków/TLS, ale nie dla tej ochrony SSRF pobierania. Domyślniefalse.
models.providers.*.models: jawne wpisy katalogu modeli dostawcy.models.providers.*.models.*.contextWindow: natywne metadane okna kontekstu modelu.models.providers.*.models.*.contextTokens: opcjonalny limit kontekstu runtime. Użyj tego, gdy chcesz mniejszy efektywny budżet kontekstu niż natywnecontextWindowmodelu.models.providers.*.models.*.compat.supportsDeveloperRole: opcjonalna wskazówka zgodności. Dlaapi: "openai-completions"z niepustym, nienatywnymbaseUrl(host inny niżapi.openai.com) OpenClaw wymusza w runtime wartośćfalse. Puste/pominiętebaseUrlzachowuje domyślne zachowanie OpenAI.models.providers.*.models.*.compat.requiresStringContent: opcjonalna wskazówka zgodności dla punktów końcowych czatu zgodnych z OpenAI obsługujących tylko ciągi znaków. Gdy ma wartośćtrue, OpenClaw spłaszcza czysto tekstowe tablicemessages[].contentdo zwykłych ciągów przed wysłaniem żądania.plugins.entries.amazon-bedrock.config.discovery: główny poziom ustawień automatycznego wykrywania Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: włącza/wyłącza niejawne wykrywanie.plugins.entries.amazon-bedrock.config.discovery.region: region AWS do wykrywania.plugins.entries.amazon-bedrock.config.discovery.providerFilter: opcjonalny filtr identyfikatora dostawcy do ukierunkowanego wykrywania.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: interwał odpytywania odświeżania wykrywania.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: zapasowe okno kontekstu dla wykrytych modeli.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: zapasowa maksymalna liczba tokenów wyjściowych dla wykrytych modeli.
Przykłady dostawców
Cerebras (GLM 4.6 / 4.7)
Cerebras (GLM 4.6 / 4.7)
cerebras/zai-glm-4.7 dla Cerebras; zai/glm-4.7 dla bezpośredniego Z.AI.OpenCode
OpenCode
OPENCODE_API_KEY (lub OPENCODE_ZEN_API_KEY). Używaj referencji opencode/... dla katalogu Zen albo opencode-go/... dla katalogu Go. Skrót: openclaw onboard --auth-choice opencode-zen lub openclaw onboard --auth-choice opencode-go.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* i z-ai/* są akceptowanymi aliasami. Skrót: openclaw onboard --auth-choice zai-api-key.- Ogólny punkt końcowy:
https://api.z.ai/api/paas/v4 - Punkt końcowy kodowania (domyślny):
https://api.z.ai/api/coding/paas/v4 - Dla ogólnego punktu końcowego zdefiniuj niestandardowego dostawcę z nadpisaniem
baseUrl.
Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" lub openclaw onboard --auth-choice moonshot-api-key-cn.Natywne punkty końcowe Moonshot reklamują zgodność z użyciem streamingu na współdzielonym
transporcie openai-completions, a OpenClaw opiera to na możliwościach punktu końcowego,
a nie tylko na identyfikatorze wbudowanego dostawcy.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Synthetic (zgodny z Anthropic)
Synthetic (zgodny z Anthropic)
baseUrl powinien pomijać /v1 (klient Anthropic dopisuje je sam). Skrót: openclaw onboard --auth-choice synthetic-api-key.MiniMax M2.7 (bezpośrednio)
MiniMax M2.7 (bezpośrednio)
MINIMAX_API_KEY. Skróty:
openclaw onboard --auth-choice minimax-global-api lub
openclaw onboard --auth-choice minimax-cn-api.
Katalog modeli domyślnie obejmuje tylko M2.7.
Na ścieżce streamingu zgodnej z Anthropic OpenClaw domyślnie wyłącza myślenie MiniMax,
chyba że jawnie ustawisz thinking. /fast on lub
params.fastMode: true przepisuje MiniMax-M2.7 na
MiniMax-M2.7-highspeed.Modele lokalne (LM Studio)
Modele lokalne (LM Studio)
Zobacz Local Models. W skrócie: uruchamiaj duży model lokalny przez API Responses LM Studio na odpowiednio wydajnym sprzęcie; zachowaj scalenie modeli hostowanych jako fallback.
Powiązane
- Odwołanie do konfiguracji — inne klucze najwyższego poziomu
- Konfiguracja — agenci
- Konfiguracja — kanały
- Narzędzia i Pluginy