Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.* kunci config dan penyiapan penyedia khusus / URL dasar. Untuk agen, channel, dan kunci config tingkat atas lainnya, lihat Referensi konfigurasi.
Alat
Profil alat
tools.profile menetapkan allowlist dasar sebelum tools.allow/tools.deny:
Onboarding lokal menetapkan default config lokal baru ke
tools.profile: "coding" saat belum diatur (profil eksplisit yang sudah ada dipertahankan).| Profil | Mencakup |
|---|---|
minimal | hanya 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 | Tidak ada pembatasan (sama seperti belum diatur) |
Grup alat
| Grup | Alat |
|---|---|
group:runtime | exec, process, code_execution (bash diterima sebagai alias untuk 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 | heartbeat_respond, cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list, update_plan |
group:media | image, image_generate, music_generate, video_generate, tts |
group:openclaw | Semua alat bawaan (tidak termasuk plugin penyedia) |
tools.allow / tools.deny
Kebijakan allow/deny alat global (deny menang). Tidak peka huruf besar/kecil, mendukung wildcard *. Diterapkan bahkan saat sandbox Docker nonaktif.
write dan apply_patch adalah id alat terpisah. allow: ["write"] juga mengaktifkan apply_patch untuk model yang kompatibel, tetapi deny: ["write"] tidak menolak apply_patch. Untuk memblokir semua mutasi file, tolak group:fs atau cantumkan setiap alat yang melakukan mutasi secara eksplisit:
tools.byProvider
Membatasi alat lebih lanjut untuk penyedia atau model tertentu. Urutan: profil dasar → profil penyedia → allow/deny.
tools.toolsBySender
Membatasi alat untuk identitas peminta tertentu. Ini adalah defense-in-depth di atas kontrol akses channel; nilai pengirim harus berasal dari adapter channel, bukan teks pesan.
channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName>, atau "*". Id channel adalah id OpenClaw kanonis; alias seperti teams dinormalisasi menjadi msteams. Kunci lama tanpa prefiks hanya diterima sebagai id:. Urutan pencocokan adalah channel+id, id, e164, username, name, lalu wildcard.
agents.list[].tools.toolsBySender per agen menimpa kecocokan pengirim global saat cocok, bahkan dengan kebijakan kosong {}.
tools.elevated
Mengontrol akses exec elevated di luar sandbox:
- Override per agen (
agents.list[].tools.elevated) hanya dapat membatasi lebih lanjut. /elevated on|off|ask|fullmenyimpan status per sesi; direktif inline berlaku untuk satu pesan.execelevated melewati sandboxing dan menggunakan jalur escape yang dikonfigurasi (gatewaysecara default, ataunodesaat target exec adalahnode).
tools.exec
tools.loopDetection
Pemeriksaan keamanan loop tool dinonaktifkan secara default. Setel enabled: true untuk mengaktifkan deteksi. Pengaturan dapat didefinisikan secara global di tools.loopDetection dan ditimpa per agen di agents.list[].tools.loopDetection.
Riwayat pemanggilan tool maksimum yang disimpan untuk analisis loop.
Ambang pola berulang tanpa progres untuk peringatan.
Ambang berulang yang lebih tinggi untuk memblokir loop kritis.
Ambang penghentian paksa untuk setiap proses tanpa progres.
Peringatkan pada panggilan berulang dengan tool yang sama/argumen yang sama.
Peringatkan/blokir pada tool polling yang dikenal (
process.poll, command_status, dll.).Peringatkan/blokir pada pola pasangan bergantian tanpa progres.
tools.web
tools.media
Mengonfigurasi pemahaman media masuk (gambar/audio/video):
Media model entry fields
Media model entry fields
Entri penyedia (
type: "provider" atau dihilangkan):provider: id penyedia API (openai,anthropic,google/gemini,groq, dll.)model: pengganti id modelprofile/preferredProfile: pemilihan profilauth-profiles.json
type: "cli"):command: executable untuk dijalankanargs: argumen bertemplat (mendukung{{MediaPath}},{{Prompt}},{{MaxChars}}, dll.;openclaw doctor --fixmemigrasikan placeholder{input}yang tidak berlaku lagi ke{{MediaPath}})
capabilities: daftar opsional (image,audio,video). Default:openai/anthropic/minimax→ gambar,google→ gambar+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: penggantian per entri.tools.media.image.timeoutSecondsdan entritimeoutSecondsmodel gambar yang cocok juga berlaku saat agen memanggil toolimageeksplisit.- Kegagalan beralih ke entri berikutnya.
auth-profiles.json → variabel env → models.providers.*.apiKey.Kolom penyelesaian asinkron:asyncCompletion.directSend: flag kompatibilitas yang tidak berlaku lagi. Tugas media asinkron yang selesai tetap dimediasi sesi peminta sehingga agen menerima hasilnya, memutuskan cara memberi tahu pengguna, dan menggunakan tool pesan saat pengiriman sumber memerlukannya.
tools.agentToAgent
tools.sessions
Mengontrol sesi mana yang dapat ditargetkan oleh tool sesi (sessions_list, sessions_history, sessions_send).
Default: tree (sesi saat ini + sesi yang dibuat olehnya, seperti subagen).
Visibility scopes
Visibility scopes
self: hanya kunci sesi saat ini.tree: sesi saat ini + sesi yang dibuat oleh sesi saat ini (subagen).agent: sesi apa pun yang dimiliki id agen saat ini (dapat mencakup pengguna lain jika Anda menjalankan sesi per pengirim di bawah id agen yang sama).all: sesi apa pun. Penargetan lintas agen tetap memerlukantools.agentToAgent.- Pembatasan sandbox: saat sesi saat ini berada dalam sandbox dan
agents.defaults.sandbox.sessionToolsVisibility="spawned", visibilitas dipaksa menjaditreemeskipuntools.sessions.visibility="all".
tools.sessions_spawn
Mengontrol dukungan lampiran inline untuk sessions_spawn.
Catatan lampiran
Catatan lampiran
- Lampiran hanya didukung untuk
runtime: "subagent". Runtime ACP menolaknya. - File diwujudkan ke dalam ruang kerja turunan di
.openclaw/attachments/<uuid>/dengan.manifest.json. - Konten lampiran otomatis disunting dari persistensi transkrip.
- Input Base64 divalidasi dengan pemeriksaan alfabet/padding ketat dan pelindung ukuran pra-decode.
- Izin file adalah
0700untuk direktori dan0600untuk file. - Pembersihan mengikuti kebijakan
cleanup:deleteselalu menghapus lampiran;keepmempertahankannya hanya ketikaretainOnSessionKeep: true.
tools.experimental
Flag alat bawaan eksperimental. Default nonaktif kecuali aturan aktif otomatis GPT-5 strict-agentic berlaku.
planTool: mengaktifkan alatupdate_planterstruktur untuk pelacakan pekerjaan multilangkah yang tidak trivial.- Default:
falsekecualiagents.defaults.embeddedPi.executionContract(atau override per agen) diatur ke"strict-agentic"untuk proses OpenAI atau OpenAI Codex keluarga GPT-5. Aturtrueuntuk memaksa alat aktif di luar cakupan tersebut, ataufalseuntuk tetap menonaktifkannya bahkan untuk proses GPT-5 strict-agentic. - Ketika diaktifkan, prompt sistem juga menambahkan panduan penggunaan agar model hanya menggunakannya untuk pekerjaan substansial dan mempertahankan paling banyak satu langkah
in_progress.
agents.defaults.subagents
model: model default untuk sub-agen yang dibuat. Jika dihilangkan, sub-agen mewarisi model pemanggil.allowAgents: allowlist default ID agen target untuksessions_spawnketika agen peminta tidak menetapkansubagents.allowAgentsmiliknya sendiri (["*"]= apa saja; default: agen yang sama saja).runTimeoutSeconds: timeout default (detik) untuksessions_spawnketika panggilan alat menghilangkanrunTimeoutSeconds.0berarti tanpa timeout.announceTimeoutMs: timeout per panggilan (milidetik) untuk upaya pengiriman pengumumanagentGateway. Default:120000. Percobaan ulang sementara dapat membuat total waktu tunggu pengumuman lebih lama dari satu timeout yang dikonfigurasi.- Kebijakan alat per-subagen:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Penyedia kustom dan URL dasar
OpenClaw menggunakan katalog model bawaan. Tambahkan penyedia kustom melaluimodels.providers di konfigurasi atau ~/.openclaw/agents/<agentId>/agent/models.json.
Autentikasi dan prioritas penggabungan
Autentikasi dan prioritas penggabungan
- Gunakan
authHeader: true+headersuntuk kebutuhan autentikasi kustom. - Override root konfigurasi agen dengan
OPENCLAW_AGENT_DIR(atauPI_CODING_AGENT_DIR, alias variabel lingkungan lama). - Prioritas penggabungan untuk ID penyedia yang cocok:
- Nilai
baseUrlmodels.jsonagen yang tidak kosong menang. - Nilai
apiKeyagen yang tidak kosong menang hanya ketika penyedia tersebut tidak dikelola SecretRef dalam konteks konfigurasi/profil autentikasi saat ini. - Nilai
apiKeypenyedia yang dikelola SecretRef disegarkan dari marker sumber (ENV_VAR_NAMEuntuk referensi env,secretref-manageduntuk referensi file/exec) alih-alih mempertahankan secret yang sudah di-resolve. - Nilai header penyedia yang dikelola SecretRef disegarkan dari marker sumber (
secretref-env:ENV_VAR_NAMEuntuk referensi env,secretref-manageduntuk referensi file/exec). apiKey/baseUrlagen yang kosong atau hilang fallback kemodels.providersdi konfigurasi.contextWindow/maxTokensmodel yang cocok menggunakan nilai yang lebih tinggi antara konfigurasi eksplisit dan nilai katalog implisit.contextTokensmodel yang cocok mempertahankan batas runtime eksplisit ketika ada; gunakan untuk membatasi konteks efektif tanpa mengubah metadata model native.- Gunakan
models.mode: "replace"ketika Anda ingin konfigurasi sepenuhnya menulis ulangmodels.json. - Persistensi marker bersifat otoritatif terhadap sumber: marker ditulis dari snapshot konfigurasi sumber aktif (pra-resolusi), bukan dari nilai secret runtime yang sudah di-resolve.
- Nilai
Detail bidang penyedia
Katalog tingkat atas
Katalog tingkat atas
models.mode: perilaku katalog penyedia (mergeataureplace).models.providers: peta penyedia kustom yang di-key berdasarkan ID penyedia.- Edit aman: gunakan
openclaw config set models.providers.<id> '<json>' --strict-json --mergeatauopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeuntuk pembaruan aditif.config setmenolak penggantian destruktif kecuali Anda meneruskan--replace.
- Edit aman: gunakan
Koneksi dan autentikasi penyedia
Koneksi dan autentikasi penyedia
models.providers.*.api: adapter permintaan (openai-completions,openai-responses,anthropic-messages,google-generative-ai, dll). Untuk backend/v1/chat/completionsyang dihosting sendiri seperti MLX, vLLM, SGLang, dan sebagian besar server lokal yang kompatibel dengan OpenAI, gunakanopenai-completions. Penyedia kustom denganbaseUrltetapi tanpaapidefault keopenai-completions; aturopenai-responseshanya ketika backend mendukung/v1/responses.models.providers.*.apiKey: kredensial penyedia (utamakan substitusi SecretRef/env).models.providers.*.auth: strategi autentikasi (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: jendela konteks native default untuk model di bawah penyedia ini ketika entri model tidak menetapkancontextWindow.models.providers.*.contextTokens: batas konteks runtime efektif default untuk model di bawah penyedia ini ketika entri model tidak menetapkancontextTokens.models.providers.*.maxTokens: batas token output default untuk model di bawah penyedia ini ketika entri model tidak menetapkanmaxTokens.models.providers.*.timeoutSeconds: timeout opsional per-penyedia untuk permintaan HTTP model dalam detik, termasuk koneksi, header, body, dan penanganan pembatalan permintaan total.models.providers.*.injectNumCtxForOpenAICompat: untuk Ollama +openai-completions, injeksikanoptions.num_ctxke dalam permintaan (default:true).models.providers.*.authHeader: memaksa pengiriman kredensial dalam headerAuthorizationketika diperlukan.models.providers.*.baseUrl: URL dasar API upstream.models.providers.*.headers: header statis ekstra untuk routing proxy/tenant.
Override transport permintaan
Override transport permintaan
models.providers.*.request: override transport untuk permintaan HTTP penyedia model.request.headers: header ekstra (digabungkan dengan default penyedia). Nilai menerima SecretRef.request.auth: override strategi autentikasi. Mode:"provider-default"(gunakan autentikasi bawaan penyedia),"authorization-bearer"(dengantoken),"header"(denganheaderName,value,prefixopsional).request.proxy: override proxy HTTP. Mode:"env-proxy"(gunakan variabel envHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(denganurl). Kedua mode menerima sub-objektlsopsional.request.tls: override TLS untuk koneksi langsung. Bidang:ca,cert,key,passphrase(semuanya menerima SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: ketikatrue, izinkan HTTPS kebaseUrlketika DNS me-resolve ke rentang privat, CGNAT, atau rentang serupa, melalui pelindung fetch HTTP penyedia (opt-in operator untuk endpoint yang kompatibel dengan OpenAI dan dihosting sendiri yang tepercaya). URL stream penyedia model local loopback sepertilocalhost,127.0.0.1, dan[::1]diizinkan otomatis kecuali ini secara eksplisit diatur kefalse; host LAN, tailnet, dan DNS privat tetap memerlukan opt-in. WebSocket menggunakanrequestyang sama untuk header/TLS tetapi bukan gate SSRF fetch tersebut. Defaultfalse.
Entri katalog model
Entri katalog model
models.providers.*.models: entri katalog model penyedia eksplisit.models.providers.*.models.*.input: modalitas input model. Gunakan["text"]untuk model hanya teks dan["text", "image"]untuk model gambar/vision native. Lampiran gambar hanya diinjeksi ke turn agen ketika model yang dipilih ditandai mampu gambar.models.providers.*.models.*.contextWindow: metadata jendela konteks model native. Ini menimpacontextWindowtingkat penyedia untuk model tersebut.models.providers.*.models.*.contextTokens: batas konteks runtime opsional. Ini menimpacontextTokenstingkat penyedia; gunakan ketika Anda menginginkan anggaran konteks efektif yang lebih kecil daripadacontextWindownative model;openclaw models listmenampilkan kedua nilai ketika berbeda.models.providers.*.models.*.compat.supportsDeveloperRole: petunjuk kompatibilitas opsional. Untukapi: "openai-completions"denganbaseUrlnon-native yang tidak kosong (host bukanapi.openai.com), OpenClaw memaksanya menjadifalsesaat runtime.baseUrlkosong/dihilangkan mempertahankan perilaku default OpenAI.models.providers.*.models.*.compat.requiresStringContent: petunjuk kompatibilitas opsional untuk endpoint chat kompatibel OpenAI yang hanya string. Ketikatrue, OpenClaw meratakan arraymessages[].contentteks murni menjadi string biasa sebelum mengirim permintaan.models.providers.*.models.*.compat.strictMessageKeys: petunjuk kompatibilitas opsional untuk endpoint chat kompatibel OpenAI yang ketat. Ketikatrue, OpenClaw memangkas objek pesan Chat Completions keluar menjadiroledancontentsebelum mengirim permintaan.models.providers.*.models.*.compat.thinkingFormat: petunjuk payload thinking opsional. Gunakan"qwen"untukenable_thinkingtingkat atas, atau"qwen-chat-template"untukchat_template_kwargs.enable_thinkingpada server kompatibel OpenAI keluarga Qwen yang mendukung kwargs chat-template tingkat permintaan, seperti vLLM.
Penemuan Amazon Bedrock
Penemuan Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: root pengaturan penemuan otomatis Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: aktifkan/nonaktifkan penemuan implisit.plugins.entries.amazon-bedrock.config.discovery.region: region AWS untuk penemuan.plugins.entries.amazon-bedrock.config.discovery.providerFilter: filter ID penyedia opsional untuk penemuan tertarget.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: interval polling untuk penyegaran penemuan.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: jendela konteks fallback untuk model yang ditemukan.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: token output maksimum fallback untuk model yang ditemukan.
--custom-image-input untuk memaksa metadata yang mampu menangani gambar atau --custom-text-input untuk memaksa metadata hanya-teks.
Contoh penyedia
Cerebras (GLM 4.7 / GPT OSS)
Cerebras (GLM 4.7 / GPT OSS)
Plugin penyedia Gunakan
cerebras bawaan dapat mengonfigurasi ini melalui openclaw onboard --auth-choice cerebras-api-key. Gunakan konfigurasi penyedia eksplisit hanya saat menimpa nilai default.cerebras/zai-glm-4.7 untuk Cerebras; zai/glm-4.7 untuk Z.AI langsung.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Model lokal (LM Studio)
Model lokal (LM Studio)
Lihat Model Lokal. TL;DR: jalankan model lokal besar melalui LM Studio Responses API pada perangkat keras serius; tetap gabungkan model hosted sebagai fallback.
MiniMax M2.7 (langsung)
MiniMax M2.7 (langsung)
MINIMAX_API_KEY. Pintasan: openclaw onboard --auth-choice minimax-global-api atau openclaw onboard --auth-choice minimax-cn-api. Katalog model default hanya ke M2.7. Pada jalur streaming yang kompatibel dengan Anthropic, OpenClaw menonaktifkan pemikiran MiniMax secara default kecuali Anda secara eksplisit menetapkan thinking sendiri. /fast on atau params.fastMode: true menulis ulang MiniMax-M2.7 menjadi MiniMax-M2.7-highspeed.Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" atau openclaw onboard --auth-choice moonshot-api-key-cn.Endpoint Moonshot native mengiklankan kompatibilitas penggunaan streaming pada transport bersama openai-completions, dan OpenClaw menentukannya berdasarkan kapabilitas endpoint, bukan hanya ID penyedia bawaan.OpenCode
OpenCode
OPENCODE_API_KEY (atau OPENCODE_ZEN_API_KEY). Gunakan ref opencode/... untuk katalog Zen atau ref opencode-go/... untuk katalog Go. Pintasan: openclaw onboard --auth-choice opencode-zen atau openclaw onboard --auth-choice opencode-go.Synthetic (kompatibel dengan Anthropic)
Synthetic (kompatibel dengan Anthropic)
/v1 (klien Anthropic menambahkannya). Pintasan: openclaw onboard --auth-choice synthetic-api-key.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* dan z-ai/* diterima sebagai alias. Pintasan: openclaw onboard --auth-choice zai-api-key.- Endpoint umum:
https://api.z.ai/api/paas/v4 - Endpoint coding (default):
https://api.z.ai/api/coding/paas/v4 - Untuk endpoint umum, definisikan penyedia kustom dengan penimpaan URL dasar.
Terkait
- Konfigurasi — agen
- Konfigurasi — channel
- Referensi konfigurasi — kunci tingkat atas lainnya
- Tool dan plugin