Kunci konfigurasi dengan cakupan agen di bawahDocumentation 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.*, dan talk.*. Untuk channel, tools, runtime Gateway, dan kunci tingkat
atas lainnya, lihat Referensi konfigurasi.
Default agen
agents.defaults.workspace
Default: ~/.openclaw/workspace.
agents.defaults.repoRoot
Root repositori opsional yang ditampilkan di baris Runtime pada prompt sistem. Jika tidak disetel, OpenClaw mendeteksi otomatis dengan berjalan ke atas dari workspace.
agents.defaults.skills
Daftar izin skill default opsional untuk agen yang tidak menyetel
agents.list[].skills.
- Hilangkan
agents.defaults.skillsuntuk skills yang tidak dibatasi secara default. - Hilangkan
agents.list[].skillsuntuk mewarisi default. - Setel
agents.list[].skills: []untuk tanpa skills. - Daftar
agents.list[].skillsyang tidak kosong adalah set final untuk agen tersebut; daftar itu tidak digabung dengan default.
agents.defaults.skipBootstrap
Menonaktifkan pembuatan otomatis file bootstrap workspace (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.skipOptionalBootstrapFiles
Melewati pembuatan file workspace opsional tertentu sambil tetap menulis file bootstrap yang wajib. Nilai valid: SOUL.md, USER.md, HEARTBEAT.md, dan IDENTITY.md.
agents.defaults.contextInjection
Mengontrol kapan file bootstrap workspace disisipkan ke dalam prompt sistem. Default: "always".
"continuation-skip": giliran lanjutan yang aman (setelah respons asisten selesai) melewati penyisipan ulang bootstrap workspace, sehingga mengurangi ukuran prompt. Jalankan Heartbeat dan percobaan ulang pasca-Compaction masih membangun ulang konteks."never": nonaktifkan bootstrap workspace dan penyisipan file konteks pada setiap giliran. Gunakan ini hanya untuk agen yang sepenuhnya memiliki siklus hidup promptnya sendiri (mesin konteks khusus, runtime native yang membangun konteks sendiri, atau alur kerja khusus tanpa bootstrap). Giliran Heartbeat dan pemulihan Compaction juga melewati penyisipan.
agents.defaults.bootstrapMaxChars
Jumlah karakter maksimum per file bootstrap workspace sebelum pemotongan. Default: 12000.
agents.defaults.bootstrapTotalMaxChars
Jumlah total karakter maksimum yang disisipkan di semua file bootstrap workspace. Default: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Mengontrol pemberitahuan prompt sistem yang terlihat oleh agen saat konteks bootstrap dipotong.
Default: "once".
"off": jangan pernah sisipkan teks pemberitahuan pemotongan ke dalam prompt sistem."once": sisipkan pemberitahuan ringkas satu kali per tanda tangan pemotongan unik (direkomendasikan)."always": sisipkan pemberitahuan ringkas pada setiap eksekusi saat ada pemotongan.
Peta kepemilikan anggaran konteks
OpenClaw memiliki beberapa anggaran prompt/konteks bervolume tinggi, dan semuanya sengaja dipisah berdasarkan subsistem alih-alih semuanya mengalir melalui satu knob generik.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: penyisipan bootstrap workspace normal.agents.defaults.startupContext.*: prelude eksekusi model satu kali saat reset/startup, termasuk filememory/*.mdharian terbaru. Perintah chat polos/newdan/resetdiakui tanpa memanggil model.skills.limits.*: daftar skills ringkas yang disisipkan ke dalam prompt sistem.agents.defaults.contextLimits.*: kutipan runtime terbatas dan blok milik runtime yang disisipkan.memory.qmd.limits.*: cuplikan pencarian memori terindeks dan ukuran penyisipan.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Mengontrol prelude startup giliran pertama yang disisipkan pada eksekusi model reset/startup.
Perintah chat polos /new dan /reset mengakui reset tanpa memanggil
model, sehingga tidak memuat prelude ini.
agents.defaults.contextLimits
Default bersama untuk permukaan konteks runtime terbatas.
memoryGetMaxChars: batas kutipan defaultmemory_getsebelum metadata pemotongan dan pemberitahuan kelanjutan ditambahkan.memoryGetDefaultLines: jendela baris defaultmemory_getsaatlinesdihilangkan.toolResultMaxChars: batas hasil tool live yang digunakan untuk hasil persisten dan pemulihan overflow.postCompactionMaxChars: batas kutipan AGENTS.md yang digunakan selama penyisipan refresh pasca-Compaction.
agents.list[].contextLimits
Override per agen untuk knob contextLimits bersama. Field yang dihilangkan mewarisi
dari agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Batas global untuk daftar skills ringkas yang disisipkan ke dalam prompt sistem. Ini
tidak memengaruhi pembacaan file SKILL.md sesuai permintaan.
agents.list[].skillsLimits.maxSkillsPromptChars
Override per agen untuk anggaran prompt skills.
agents.defaults.imageMaxDimensionPx
Ukuran piksel maksimum untuk sisi gambar terpanjang di blok gambar transkrip/tool sebelum panggilan provider.
Default: 1200.
Nilai yang lebih rendah biasanya mengurangi penggunaan token vision dan ukuran payload permintaan untuk eksekusi yang banyak memakai tangkapan layar.
Nilai yang lebih tinggi mempertahankan lebih banyak detail visual.
agents.defaults.userTimezone
Zona waktu untuk konteks prompt sistem (bukan timestamp pesan). Fallback ke zona waktu host.
agents.defaults.timeFormat
Format waktu dalam prompt sistem. Default: auto (preferensi OS).
agents.defaults.model
model: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Bentuk string hanya menetapkan model utama.
- Bentuk objek menetapkan model utama plus model failover berurutan.
imageModel: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Digunakan oleh jalur tool
imagesebagai konfigurasi model vision-nya. - Juga digunakan sebagai routing fallback ketika model yang dipilih/default tidak dapat menerima input gambar.
- Utamakan ref
provider/modeleksplisit. ID polos diterima untuk kompatibilitas; jika ID polos secara unik cocok dengan entri berkemampuan gambar yang dikonfigurasi dimodels.providers.*.models, OpenClaw mengaitkannya ke provider tersebut. Kecocokan terkonfigurasi yang ambigu memerlukan prefiks provider eksplisit.
- Digunakan oleh jalur tool
imageGenerationModel: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Digunakan oleh kapabilitas pembuatan gambar bersama dan surface tool/plugin masa depan apa pun yang menghasilkan gambar.
- Nilai umum:
google/gemini-3.1-flash-image-previewuntuk pembuatan gambar Gemini native,fal/fal-ai/flux/devuntuk fal,openai/gpt-image-2untuk OpenAI Images, atauopenai/gpt-image-1.5untuk output PNG/WebP OpenAI berlatar belakang transparan. - Jika Anda memilih provider/model secara langsung, konfigurasikan juga autentikasi provider yang cocok (misalnya
GEMINI_API_KEYatauGOOGLE_API_KEYuntukgoogle/*,OPENAI_API_KEYatau OpenAI Codex OAuth untukopenai/gpt-image-2/openai/gpt-image-1.5,FAL_KEYuntukfal/*). - Jika dihilangkan,
image_generatemasih dapat menyimpulkan default provider yang didukung autentikasi. Ia mencoba provider default saat ini terlebih dahulu, lalu provider pembuatan gambar terdaftar yang tersisa dalam urutan ID provider.
musicGenerationModel: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Digunakan oleh kapabilitas pembuatan musik bersama dan tool bawaan
music_generate. - Nilai umum:
google/lyria-3-clip-preview,google/lyria-3-pro-preview, atauminimax/music-2.6. - Jika dihilangkan,
music_generatemasih dapat menyimpulkan default provider yang didukung autentikasi. Ia mencoba provider default saat ini terlebih dahulu, lalu provider pembuatan musik terdaftar yang tersisa dalam urutan ID provider. - Jika Anda memilih provider/model secara langsung, konfigurasikan juga autentikasi/kunci API provider yang cocok.
- Digunakan oleh kapabilitas pembuatan musik bersama dan tool bawaan
videoGenerationModel: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Digunakan oleh kapabilitas pembuatan video bersama dan tool bawaan
video_generate. - Nilai umum:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flash, atauqwen/wan2.7-r2v. - Jika dihilangkan,
video_generatemasih dapat menyimpulkan default provider yang didukung autentikasi. Ia mencoba provider default saat ini terlebih dahulu, lalu provider pembuatan video terdaftar yang tersisa dalam urutan ID provider. - Jika Anda memilih provider/model secara langsung, konfigurasikan juga autentikasi/kunci API provider yang cocok.
- Provider pembuatan video Qwen yang dibundel mendukung hingga 1 video output, 1 gambar input, 4 video input, durasi 10 detik, serta opsi tingkat provider
size,aspectRatio,resolution,audio, danwatermark.
- Digunakan oleh kapabilitas pembuatan video bersama dan tool bawaan
pdfModel: menerima string ("provider/model") atau objek ({ primary, fallbacks }).- Digunakan oleh tool
pdfuntuk routing model. - Jika dihilangkan, tool PDF fallback ke
imageModel, lalu ke model sesi/default yang di-resolve.
- Digunakan oleh tool
pdfMaxBytesMb: batas ukuran PDF default untuk toolpdfketikamaxBytesMbtidak diteruskan saat pemanggilan.pdfMaxPages: halaman maksimum default yang dipertimbangkan oleh mode fallback ekstraksi di toolpdf.verboseDefault: level verbose default untuk agen. Nilai:"off","on","full". Default:"off".toolProgressDetail: mode detail untuk ringkasan tool/verbosedan baris tool draf progres. Nilai:"explain"(default, label manusia yang ringkas) atau"raw"(tambahkan command/detail mentah saat tersedia).agents.list[].toolProgressDetailper agen menimpa default ini.reasoningDefault: visibilitas reasoning default untuk agen. Nilai:"off","on","stream".agents.list[].reasoningDefaultper agen menimpa default ini. Default reasoning yang dikonfigurasi hanya diterapkan untuk owner, pengirim resmi, atau konteks Gateway admin operator ketika tidak ada override reasoning per pesan atau sesi yang ditetapkan.elevatedDefault: level output elevated default untuk agen. Nilai:"off","on","ask","full". Default:"on".model.primary: formatprovider/model(mis.openai/gpt-5.5untuk akses kunci API OpenAI atau Codex OAuth). Jika Anda menghilangkan provider, OpenClaw mencoba alias terlebih dahulu, lalu kecocokan provider terkonfigurasi unik untuk ID model persis itu, dan baru setelah itu fallback ke provider default yang dikonfigurasi (perilaku kompatibilitas yang sudah deprecated, jadi utamakanprovider/modeleksplisit). Jika provider tersebut tidak lagi mengekspos model default yang dikonfigurasi, OpenClaw fallback ke provider/model terkonfigurasi pertama alih-alih menampilkan default provider lama yang sudah dihapus.models: katalog model terkonfigurasi dan allowlist untuk/model. Setiap entri dapat menyertakanalias(pintasan) danparams(khusus provider, misalnyatemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold,chat_template_kwargs,extra_body/extraBody).- Gunakan entri
provider/*seperti"openai-codex/*": {}atau"vllm/*": {}untuk menampilkan semua model yang ditemukan untuk provider terpilih tanpa mencantumkan setiap ID model secara manual. - Edit aman: gunakan
openclaw config set agents.defaults.models '<json>' --strict-json --mergeuntuk menambahkan entri.config setmenolak penggantian yang akan menghapus entri allowlist yang sudah ada kecuali Anda meneruskan--replace. - Alur konfigurasi/onboarding yang di-scope ke provider menggabungkan model provider terpilih ke map ini dan mempertahankan provider tak terkait yang sudah dikonfigurasi.
- Untuk model OpenAI Responses langsung, Compaction sisi server diaktifkan otomatis. Gunakan
params.responsesServerCompaction: falseuntuk berhenti menyisipkancontext_management, atauparams.responsesCompactThresholduntuk menimpa ambang batas. Lihat Compaction sisi server OpenAI.
- Gunakan entri
params: parameter provider default global yang diterapkan ke semua model. Ditetapkan diagents.defaults.params(mis.{ cacheRetention: "long" }).- Precedensi merge
params(config):agents.defaults.params(basis global) ditimpa olehagents.defaults.models["provider/model"].params(per model), laluagents.list[].params(ID agen yang cocok) menimpa berdasarkan key. Lihat Prompt Caching untuk detail. params.extra_body/params.extraBody: JSON pass-through lanjutan yang digabungkan ke body requestapi: "openai-completions"untuk proxy kompatibel OpenAI. Jika bertabrakan dengan key request yang dihasilkan, body ekstra yang menang; route completions non-native tetap menghapusstorekhusus OpenAI setelahnya.params.chat_template_kwargs: argumen chat-template kompatibel vLLM/OpenAI yang digabungkan ke body requestapi: "openai-completions"tingkat atas. Untukvllm/nemotron-3-*dengan thinking nonaktif, plugin vLLM yang dibundel otomatis mengirimenable_thinking: falsedanforce_nonempty_content: true;chat_template_kwargseksplisit menimpa default yang dihasilkan, danextra_body.chat_template_kwargstetap memiliki precedensi akhir. Untuk kontrol thinking Qwen vLLM, tetapkanparams.qwenThinkingFormatke"chat-template"atau"top-level"pada entri model tersebut.compat.thinkingFormat: gaya payload thinking kompatibel OpenAI. Gunakan"qwen"untukenable_thinkingtingkat atas bergaya Qwen, atau"qwen-chat-template"untukchat_template_kwargs.enable_thinkingpada backend keluarga Qwen yang mendukung kwargs chat-template tingkat request, seperti vLLM. OpenClaw memetakan thinking yang dinonaktifkan kefalsedan thinking yang diaktifkan ketrue.compat.supportedReasoningEfforts: daftar upaya reasoning kompatibel OpenAI per model. Sertakan"xhigh"untuk endpoint kustom yang benar-benar menerimanya; OpenClaw kemudian mengekspos/think xhighdi menu command, baris sesi Gateway, validasi patch sesi, validasi CLI agen, dan validasillm-taskuntuk provider/model terkonfigurasi tersebut. Gunakancompat.reasoningEffortMapketika backend menginginkan nilai khusus provider untuk level kanonis.params.preserveThinking: opt-in khusus Z.AI untuk thinking yang dipertahankan. Saat diaktifkan dan thinking aktif, OpenClaw mengirimthinking.clear_thinking: falsedan memutar ulangreasoning_contentsebelumnya; lihat thinking Z.AI dan thinking yang dipertahankan.localService: manajer proses opsional tingkat provider untuk server model lokal/self-hosted. Ketika model yang dipilih milik provider tersebut, OpenClaw mem-probehealthUrl(ataubaseUrl + "/models"), menjalankancommanddenganargsjika endpoint down, menunggu hinggareadyTimeoutMs, lalu mengirim request model.commandharus berupa path absolut.idleStopMs: 0menjaga proses tetap hidup hingga OpenClaw keluar; nilai positif menghentikan proses yang di-spawn OpenClaw setelah sekian milidetik idle. Lihat Layanan model lokal.- Kebijakan runtime berada pada provider atau model, bukan pada
agents.defaults. Gunakanmodels.providers.<provider>.agentRuntimeuntuk aturan seluruh provider atauagents.defaults.models["provider/model"].agentRuntime/agents.list[].models["provider/model"].agentRuntimeuntuk aturan khusus model. Model agen OpenAI pada provider OpenAI resmi memilih Codex secara default. - Penulis config yang memutasi field ini (misalnya
/models set,/models set-image, dan command tambah/hapus fallback) menyimpan bentuk objek kanonis dan mempertahankan daftar fallback yang sudah ada bila memungkinkan. maxConcurrent: maksimum run agen paralel lintas sesi (setiap sesi tetap diserialkan). Default: 4.
Kebijakan runtime
id:"auto","pi", ID harness plugin terdaftar, atau alias backend CLI yang didukung. Plugin Codex yang dibundel mendaftarkancodex; plugin Anthropic yang dibundel menyediakan backend CLIclaude-cli.id: "auto"memungkinkan harness plugin terdaftar mengklaim giliran yang didukung dan menggunakan PI ketika tidak ada harness yang cocok. Runtime plugin eksplisit sepertiid: "codex"memerlukan harness tersebut dan gagal tertutup jika tidak tersedia atau gagal.- Key runtime seluruh agen bersifat legacy.
agents.defaults.agentRuntime,agents.list[].agentRuntime, pin runtime sesi, danOPENCLAW_AGENT_RUNTIMEdiabaikan oleh pemilihan runtime. Jalankanopenclaw doctor --fixuntuk menghapus nilai lama. - Model agen OpenAI menggunakan harness Codex secara default;
agentRuntime.id: "codex"provider/model tetap valid ketika Anda ingin membuatnya eksplisit. - Untuk deployment Claude CLI, utamakan
model: "anthropic/claude-opus-4-7"plusagentRuntime.id: "claude-cli"yang di-scope ke model. Ref model legacyclaude-cli/claude-opus-4-7masih berfungsi untuk kompatibilitas, tetapi config baru harus menjaga pemilihan provider/model tetap kanonis dan menaruh backend eksekusi dalam kebijakan runtime provider/model. - Ini hanya mengontrol eksekusi giliran agen teks. Pembuatan media, vision, PDF, musik, video, dan TTS tetap menggunakan pengaturan provider/model masing-masing.
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 atau mendefinisikan sendiri agents.defaults.models["zai/<model>"].params.thinking.
Model Z.AI mengaktifkan tool_stream secara bawaan untuk streaming panggilan alat. Tetapkan agents.defaults.models["zai/<model>"].params.tool_stream ke false untuk menonaktifkannya.
Model Anthropic Claude 4.6 secara bawaan menggunakan pemikiran adaptive ketika tidak ada tingkat pemikiran eksplisit yang ditetapkan.
agents.defaults.cliBackends
Backend CLI opsional untuk menjalankan fallback khusus teks (tanpa panggilan alat). Berguna sebagai cadangan saat penyedia API gagal.
- Backend CLI mengutamakan teks; alat selalu dinonaktifkan.
- Sesi didukung ketika
sessionArgditetapkan. - Penerusan gambar didukung ketika
imageArgmenerima jalur file. reseedFromRawTranscriptWhenUncompacted: truememungkinkan backend memulihkan sesi tidak valid yang aman dari ekor transkrip mentah OpenClaw yang dibatasi sebelum ringkasan Compaction pertama tersedia. Perubahan profil auth atau epoch kredensial tetap tidak pernah melakukan raw-reseed.
agents.defaults.systemPromptOverride
Ganti seluruh prompt sistem yang disusun OpenClaw dengan string tetap. Tetapkan di tingkat bawaan (agents.defaults.systemPromptOverride) atau per agen (agents.list[].systemPromptOverride). Nilai per agen diprioritaskan; nilai kosong atau hanya spasi diabaikan. Berguna untuk eksperimen prompt terkontrol.
agents.defaults.promptOverlays
Overlay prompt yang tidak bergantung pada penyedia, diterapkan berdasarkan keluarga model. ID model keluarga GPT-5 menerima kontrak perilaku bersama di seluruh penyedia; personality hanya mengontrol lapisan gaya interaksi yang ramah.
"friendly"(bawaan) dan"on"mengaktifkan lapisan gaya interaksi yang ramah."off"hanya menonaktifkan lapisan ramah; kontrak perilaku GPT-5 bertag tetap aktif.plugins.entries.openai.config.personalitylama masih dibaca ketika pengaturan bersama ini belum ditetapkan.
agents.defaults.heartbeat
Jalankan Heartbeat berkala.
every: string durasi (ms/s/m/h). Bawaan:30m(auth kunci API) atau1h(auth OAuth). Tetapkan ke0muntuk menonaktifkan.includeSystemPromptSection: ketika false, menghilangkan bagian Heartbeat dari prompt sistem dan melewati injeksiHEARTBEAT.mdke dalam konteks bootstrap. Bawaan:true.suppressToolErrorWarnings: ketika true, menekan payload peringatan kesalahan alat selama eksekusi Heartbeat.timeoutSeconds: waktu maksimum dalam detik yang diizinkan untuk giliran agen Heartbeat sebelum dibatalkan. Biarkan tidak ditetapkan untuk menggunakanagents.defaults.timeoutSeconds.directPolicy: kebijakan pengiriman langsung/DM.allow(bawaan) mengizinkan pengiriman ke target langsung.blockmenekan pengiriman ke target langsung dan memunculkanreason=dm-blocked.lightContext: ketika true, eksekusi Heartbeat menggunakan konteks bootstrap ringan dan hanya menyimpanHEARTBEAT.mddari file bootstrap ruang kerja.isolatedSession: ketika true, setiap Heartbeat berjalan dalam sesi baru tanpa riwayat percakapan sebelumnya. Pola isolasi yang sama seperti cronsessionTarget: "isolated". Mengurangi biaya token per Heartbeat dari sekitar 100K menjadi sekitar 2-5K token.skipWhenBusy: ketika true, eksekusi Heartbeat ditunda pada lane sibuk tambahan agen tersebut: pekerjaan subagen berkunci sesi miliknya sendiri atau perintah bersarang. Lane Cron selalu menunda Heartbeat, bahkan tanpa flag ini.- Per agen: tetapkan
agents.list[].heartbeat. Ketika ada agen yang mendefinisikanheartbeat, hanya agen tersebut yang menjalankan Heartbeat. - Heartbeat menjalankan giliran agen penuh — interval lebih pendek menghabiskan lebih banyak token.
agents.defaults.compaction
mode:defaultatausafeguard(peringkasan bertahap untuk riwayat panjang). Lihat Compaction.provider: ID Plugin penyedia Compaction terdaftar. Ketika ditetapkan,summarize()milik penyedia dipanggil alih-alih peringkasan LLM bawaan. Kembali ke bawaan saat gagal. Menetapkan penyedia memaksamode: "safeguard". Lihat Compaction.timeoutSeconds: jumlah detik maksimum yang diizinkan untuk satu operasi Compaction sebelum OpenClaw membatalkannya. Bawaan:900.keepRecentTokens: anggaran titik potong Pi untuk mempertahankan ekor transkrip terbaru secara verbatim./compactmanual menghormati ini ketika ditetapkan secara eksplisit; jika tidak, Compaction manual adalah checkpoint keras.identifierPolicy:strict(bawaan),off, ataucustom.strictmenambahkan panduan retensi pengenal buram bawaan di awal selama peringkasan Compaction.identifierInstructions: teks pelestarian pengenal khusus opsional yang digunakan ketikaidentifierPolicy=custom.qualityGuard: pemeriksaan retry-on-malformed-output untuk ringkasan safeguard. Diaktifkan secara bawaan dalam mode safeguard; tetapkanenabled: falseuntuk melewati audit.midTurnPrecheck: pemeriksaan tekanan tool-loop Pi opsional. Ketikaenabled: true, OpenClaw memeriksa tekanan konteks setelah hasil alat ditambahkan dan sebelum panggilan model berikutnya. Jika konteks tidak lagi muat, OpenClaw membatalkan upaya saat ini sebelum mengirim prompt dan menggunakan kembali jalur pemulihan precheck yang ada untuk memotong hasil alat atau melakukan Compaction dan mencoba lagi. Berfungsi dengan mode Compactiondefaultmaupunsafeguard. Bawaan: dinonaktifkan.postCompactionSections: nama bagian H2/H3 AGENTS.md opsional untuk disuntikkan kembali setelah Compaction. Bawaan ke["Session Startup", "Red Lines"]; tetapkan[]untuk menonaktifkan reinjeksi. Ketika tidak ditetapkan atau secara eksplisit ditetapkan ke pasangan bawaan tersebut, heading lamaEvery Session/Safetyjuga diterima sebagai fallback warisan.model: overrideprovider/model-idopsional hanya untuk peringkasan Compaction. Gunakan ini ketika sesi utama harus tetap menggunakan satu model tetapi ringkasan Compaction harus berjalan pada model lain; ketika tidak ditetapkan, Compaction menggunakan model utama sesi.maxActiveTranscriptBytes: ambang byte opsional (numberatau string seperti"20mb") yang memicu Compaction lokal normal sebelum eksekusi ketika JSONL aktif melewati ambang. MemerlukantruncateAfterCompactionagar Compaction yang berhasil dapat memutar ke transkrip penerus yang lebih kecil. Dinonaktifkan ketika tidak ditetapkan atau0.notifyUser: ketikatrue, mengirim pemberitahuan singkat kepada pengguna saat Compaction dimulai dan saat selesai (misalnya, “Memadatkan konteks…” dan “Compaction selesai”). Dinonaktifkan secara bawaan agar Compaction tetap senyap.memoryFlush: giliran agentic senyap sebelum auto-Compaction untuk menyimpan memori tahan lama. Tetapkanmodelke penyedia/model persis sepertiollama/qwen3:8bketika giliran housekeeping ini harus tetap pada model lokal; override tidak mewarisi rantai fallback sesi aktif. Dilewati ketika ruang kerja bersifat hanya-baca.
agents.defaults.runRetries
Batas iterasi percobaan ulang loop eksekusi luar untuk runner Pi tertanam guna mencegah loop eksekusi tak terbatas selama pemulihan kegagalan. Perhatikan bahwa pengaturan ini saat ini hanya berlaku untuk runtime agen tertanam, bukan runtime ACP atau CLI.
base: jumlah dasar iterasi percobaan ulang eksekusi untuk loop eksekusi luar. Bawaan:24.perProfile: iterasi percobaan ulang eksekusi tambahan yang diberikan per kandidat profil fallback. Bawaan:8.min: batas absolut minimum untuk iterasi percobaan ulang eksekusi. Bawaan:32.max: batas absolut maksimum untuk iterasi percobaan ulang eksekusi guna mencegah eksekusi tak terkendali. Bawaan:160.
agents.defaults.contextPruning
Memangkas hasil alat lama dari konteks dalam memori sebelum dikirim ke LLM. Tidak mengubah riwayat sesi di disk.
perilaku mode cache-ttl
perilaku mode cache-ttl
mode: "cache-ttl"mengaktifkan proses pruning.ttlmengontrol seberapa sering pruning dapat berjalan lagi (setelah cache terakhir disentuh).- Pruning terlebih dahulu melakukan soft-trim pada hasil alat yang terlalu besar, lalu hard-clear pada hasil alat yang lebih lama jika diperlukan.
... di tengah.Hard-clear mengganti seluruh hasil alat dengan placeholder.Catatan:- Blok gambar tidak pernah dipangkas/dibersihkan.
- Rasio berbasis karakter (perkiraan), bukan jumlah token yang persis.
- Jika pesan asisten lebih sedikit dari
keepLastAssistants, pruning dilewati.
Streaming blok
- Kanal non-Telegram memerlukan
*.blockStreaming: trueeksplisit untuk mengaktifkan balasan blok. - Override kanal:
channels.<channel>.blockStreamingCoalesce(dan varian per akun). Signal/Slack/Discord/Google Chat defaultminChars: 1500. humanDelay: jeda acak di antara balasan blok.natural= 800–2500ms. Override per agen:agents.list[].humanDelay.
Indikator mengetik
- Default:
instantuntuk chat langsung/mention,messageuntuk chat grup tanpa mention. - Override per sesi:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Sandboxing opsional untuk agen tertanam. Lihat Sandboxing untuk panduan lengkap.
Detail sandbox
Detail sandbox
Backend:Mode OpenShell:
docker: runtime Docker lokal (default)ssh: runtime jarak jauh generik berbasis SSHopenshell: runtime OpenShell
backend: "openshell" dipilih, pengaturan khusus runtime berpindah ke
plugins.entries.openshell.config.Konfigurasi backend SSH:target: target SSH dalam bentukuser@host[:port]command: perintah klien SSH (default:ssh)workspaceRoot: root jarak jauh absolut yang digunakan untuk workspace per cakupanidentityFile/certificateFile/knownHostsFile: file lokal yang sudah ada dan diteruskan ke OpenSSHidentityData/certificateData/knownHostsData: konten inline atau SecretRefs yang diwujudkan OpenClaw menjadi file sementara saat runtimestrictHostKeyChecking/updateHostKeys: kenop kebijakan host-key OpenSSH
identityDatamengungguliidentityFilecertificateDatamengunggulicertificateFileknownHostsDatamengungguliknownHostsFile- Nilai
*Databerbasis SecretRef di-resolve dari snapshot runtime rahasia aktif sebelum sesi sandbox dimulai
- mengisi workspace jarak jauh satu kali setelah dibuat atau dibuat ulang
- kemudian menjaga workspace SSH jarak jauh sebagai kanonis
- merutekan
exec, alat file, dan jalur media melalui SSH - tidak menyinkronkan perubahan jarak jauh kembali ke host secara otomatis
- tidak mendukung kontainer browser sandbox
none: workspace sandbox per cakupan di bawah~/.openclaw/sandboxesro: workspace sandbox di/workspace, workspace agen dipasang hanya-baca di/agentrw: workspace agen dipasang baca/tulis di/workspace
session: kontainer + workspace per sesiagent: satu kontainer + workspace per agen (default)shared: kontainer dan workspace bersama (tanpa isolasi lintas sesi)
mirror: isi remote dari lokal sebelum exec, sinkronkan kembali setelah exec; workspace lokal tetap kanonisremote: isi remote satu kali saat sandbox dibuat, lalu pertahankan workspace jarak jauh sebagai kanonis
remote, edit lokal host yang dibuat di luar OpenClaw tidak disinkronkan ke sandbox secara otomatis setelah langkah seed.
Transport adalah SSH ke sandbox OpenShell, tetapi plugin memiliki siklus hidup sandbox dan sinkronisasi mirror opsional.setupCommand berjalan sekali setelah pembuatan kontainer (melalui sh -lc). Memerlukan egress jaringan, root yang dapat ditulis, pengguna root.Kontainer default ke network: "none" — atur ke "bridge" (atau jaringan bridge kustom) jika agen memerlukan akses keluar.
"host" diblokir. "container:<id>" diblokir secara default kecuali Anda menetapkan
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true secara eksplisit (break-glass).Lampiran masuk ditempatkan di media/inbound/* dalam workspace aktif.docker.binds memasang direktori host tambahan; bind global dan per agen digabungkan.Browser sandbox (sandbox.browser.enabled): Chromium + CDP dalam kontainer. URL noVNC disisipkan ke prompt sistem. Tidak memerlukan browser.enabled di openclaw.json.
Akses pengamat noVNC menggunakan autentikasi VNC secara default dan OpenClaw menerbitkan URL token berumur pendek (alih-alih mengekspos kata sandi di URL bersama).allowHostControl: false(default) memblokir sesi sandbox agar tidak menargetkan browser host.networkdefault keopenclaw-sandbox-browser(jaringan bridge khusus). Atur kebridgehanya saat Anda secara eksplisit menginginkan konektivitas bridge global.cdpSourceRangesecara opsional membatasi ingress CDP di tepi kontainer ke rentang CIDR (misalnya172.21.0.1/32).sandbox.browser.bindsmemasang direktori host tambahan hanya ke kontainer browser sandbox. Saat ditetapkan (termasuk[]), ini menggantikandocker.bindsuntuk kontainer browser.- Default peluncuran didefinisikan di
scripts/sandbox-browser-entrypoint.shdan disetel untuk host kontainer:--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(default diaktifkan)--disable-3d-apis,--disable-software-rasterizer, dan--disable-gpudiaktifkan secara default dan dapat dinonaktifkan denganOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0jika penggunaan WebGL/3D memerlukannya.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0mengaktifkan kembali ekstensi jika workflow Anda bergantung padanya.--renderer-process-limit=2dapat diubah denganOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; atur0untuk menggunakan batas proses default Chromium.- ditambah
--no-sandboxsaatnoSandboxdiaktifkan. - Default adalah baseline image kontainer; gunakan image browser kustom dengan entrypoint kustom untuk mengubah default kontainer.
sandbox.docker.binds hanya untuk Docker.
Bangun image (dari checkout sumber):
docker build inline.
agents.list (override per agen)
Gunakan agents.list[].tts untuk memberi agen penyedia TTS, suara, model,
gaya, atau mode TTS otomatisnya sendiri. Blok agen digabungkan secara mendalam di atas
messages.tts global, sehingga kredensial bersama dapat tetap berada di satu tempat sementara agen
individual hanya menimpa kolom suara atau penyedia yang mereka butuhkan. Penggantian agen aktif
berlaku untuk balasan lisan otomatis, /tts audio, /tts status, dan
tool agen tts. Lihat Text-to-speech
untuk contoh penyedia dan prioritas.
id: id agen stabil (wajib).default: jika beberapa ditetapkan, yang pertama menang (peringatan dicatat). Jika tidak ada yang ditetapkan, entri daftar pertama menjadi default.model: bentuk string menetapkan primer khusus per agen yang ketat tanpa fallback model; bentuk objek{ primary }juga ketat kecuali Anda menambahkanfallbacks. Gunakan{ primary, fallbacks: [...] }untuk mengikutsertakan agen tersebut ke fallback, atau{ primary, fallbacks: [] }untuk membuat perilaku ketat eksplisit. Pekerjaan Cron yang hanya menimpaprimarytetap mewarisi fallback default kecuali Anda menetapkanfallbacks: [].params: parameter stream per agen yang digabungkan di atas entri model terpilih diagents.defaults.models. Gunakan ini untuk penggantian khusus agen seperticacheRetention,temperature, ataumaxTokenstanpa menduplikasi seluruh katalog model.tts: penggantian text-to-speech per agen opsional. Blok ini digabungkan secara mendalam di atasmessages.tts, jadi simpan kredensial penyedia bersama dan kebijakan fallback dimessages.tts, lalu tetapkan hanya nilai khusus persona seperti penyedia, suara, model, gaya, atau mode otomatis di sini.skills: allowlist skill per agen opsional. Jika dihilangkan, agen mewarisiagents.defaults.skillssaat ditetapkan; daftar eksplisit menggantikan default alih-alih menggabungkannya, dan[]berarti tidak ada skills.thinkingDefault: level thinking default per agen opsional (off | minimal | low | medium | high | xhigh | adaptive | max). Menimpaagents.defaults.thinkingDefaultuntuk agen ini ketika tidak ada penggantian per pesan atau sesi yang ditetapkan. Profil penyedia/model yang dipilih mengontrol nilai mana yang valid; untuk Google Gemini,adaptivemempertahankan thinking dinamis milik penyedia (thinkingLeveldihilangkan pada Gemini 3/3.1,thinkingBudget: -1pada Gemini 2.5).reasoningDefault: visibilitas reasoning default per agen opsional (on | off | stream). Menimpaagents.defaults.reasoningDefaultuntuk agen ini ketika tidak ada penggantian reasoning per pesan atau sesi yang ditetapkan.fastModeDefault: default per agen opsional untuk mode cepat (true | false). Berlaku ketika tidak ada penggantian mode cepat per pesan atau sesi yang ditetapkan.models: penggantian katalog/runtime model per agen opsional yang dikunci berdasarkan id lengkapprovider/model. Gunakanmodels["provider/model"].agentRuntimeuntuk pengecualian runtime per agen.runtime: deskriptor runtime per agen opsional. Gunakantype: "acp"dengan defaultruntime.acp(agent,backend,mode,cwd) ketika agen harus menggunakan sesi harness ACP secara default.identity.avatar: path relatif workspace, URLhttp(s), atau URIdata:.identitymenurunkan default:ackReactiondariemoji,mentionPatternsdariname/emoji.subagents.allowAgents: allowlist id agen untuk target eksplisitsessions_spawn.agentId(["*"]= apa pun; default: hanya agen yang sama). Sertakan id peminta ketika panggilanagentIdyang menargetkan diri sendiri harus diizinkan.- Pelindung pewarisan sandbox: jika sesi peminta berada dalam sandbox,
sessions_spawnmenolak target yang akan berjalan tanpa sandbox. subagents.requireAgentId: saat true, blokir panggilansessions_spawnyang menghilangkanagentId(memaksa pemilihan profil eksplisit; default: false).
Routing multi-agen
Jalankan beberapa agen terisolasi di dalam satu Gateway. Lihat Multi-Agent.Kolom pencocokan binding
type(opsional):routeuntuk routing normal (type yang hilang default ke route),acpuntuk binding percakapan ACP persisten.match.channel(wajib)match.accountId(opsional;*= akun apa pun; dihilangkan = akun default)match.peer(opsional;{ kind: direct|group|channel, id })match.guildId/match.teamId(opsional; khusus channel)acp(opsional; hanya untuktype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(persis, tanpa peer/guild/team)match.accountId: "*"(seluruh channel)- Agen default
bindings pertama yang cocok menang.
Untuk entri type: "acp", OpenClaw menyelesaikan berdasarkan identitas percakapan persis (match.channel + akun + match.peer.id) dan tidak menggunakan urutan tingkat binding route di atas.
Profil akses per agen
Akses penuh (tanpa sandbox)
Akses penuh (tanpa sandbox)
Tool hanya-baca + workspace
Tool hanya-baca + workspace
Tidak ada akses sistem berkas (hanya perpesanan)
Tidak ada akses sistem berkas (hanya perpesanan)
Sesi
Detail kolom sesi
Detail kolom sesi
scope: strategi pengelompokan sesi dasar untuk konteks obrolan grup.per-sender(default): setiap pengirim mendapatkan sesi terisolasi dalam konteks channel.global: semua peserta dalam konteks channel berbagi satu sesi (gunakan hanya saat konteks bersama memang dimaksudkan).
dmScope: cara DM dikelompokkan.main: semua DM berbagi sesi utama.per-peer: isolasi berdasarkan id pengirim lintas channel.per-channel-peer: isolasi per channel + pengirim (direkomendasikan untuk kotak masuk multi-pengguna).per-account-channel-peer: isolasi per akun + channel + pengirim (direkomendasikan untuk multi-akun).
identityLinks: petakan id kanonis ke peer berprefiks penyedia untuk berbagi sesi lintas channel. Perintah dock seperti/dock_discordmenggunakan peta yang sama untuk mengalihkan rute balasan sesi aktif ke peer channel tertaut lain; lihat Docking channel.reset: kebijakan reset utama.dailymereset pada waktu lokalatHour;idlemereset setelahidleMinutes. Saat keduanya dikonfigurasi, yang kedaluwarsa lebih dulu yang berlaku. Kesegaran reset harian menggunakansessionStartedAtpada baris sesi; kesegaran reset idle menggunakanlastInteractionAt. Penulisan latar belakang/peristiwa sistem seperti heartbeat, bangun cron, notifikasi exec, dan pembukuan gateway dapat memperbaruiupdatedAt, tetapi tidak menjaga sesi harian/idle tetap segar.resetByType: override per jenis (direct,group,thread).dmlama diterima sebagai alias untukdirect.mainKey: bidang lama. Runtime selalu menggunakan"main"untuk bucket obrolan langsung utama.agentToAgent.maxPingPongTurns: jumlah maksimum giliran balas-balik antar agen selama pertukaran agen-ke-agen (integer, rentang:0-20, default:5).0menonaktifkan chaining ping-pong.sendPolicy: cocokkan berdasarkanchannel,chatType(direct|group|channel, dengan alias lamadm),keyPrefix, ataurawKeyPrefix. Penolakan pertama menang.maintenance: kontrol pembersihan + retensi penyimpanan sesi.mode:warnhanya memancarkan peringatan;enforcemenerapkan pembersihan.pruneAfter: batas usia untuk entri usang (default30d).maxEntries: jumlah maksimum entri dalamsessions.json(default500). Runtime menulis pembersihan batch dengan buffer high-water kecil untuk batas berukuran produksi;openclaw sessions cleanup --enforcemenerapkan batas segera.rotateBytes: usang dan diabaikan;openclaw doctor --fixmenghapusnya dari konfigurasi lama.resetArchiveRetention: retensi untuk arsip transkrip*.reset.<timestamp>. Default kepruneAfter; setelfalseuntuk menonaktifkan.maxDiskBytes: anggaran disk direktori sesi opsional. Dalam modewarn, ini mencatat peringatan; dalam modeenforce, ini menghapus artefak/sesi tertua terlebih dahulu.highWaterBytes: target opsional setelah pembersihan anggaran. Default ke80%darimaxDiskBytes.
threadBindings: default global untuk fitur sesi terikat thread.enabled: sakelar default utama (penyedia dapat meng-override; Discord menggunakanchannels.discord.threadBindings.enabled)idleHours: default auto-unfocus karena tidak aktif dalam jam (0menonaktifkan; penyedia dapat meng-override)maxAgeHours: default usia maksimum keras dalam jam (0menonaktifkan; penyedia dapat meng-override)spawnSessions: gerbang default untuk membuat sesi kerja terikat thread darisessions_spawndan spawn thread ACP. Default ketruesaat binding thread diaktifkan; penyedia/akun dapat meng-override.defaultSpawnContext: konteks subagen native default untuk spawn terikat thread ("fork"atau"isolated"). Default ke"fork".
Pesan
Prefiks respons
Override per-channel/akun:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Resolusi (yang paling spesifik menang): akun → channel → global. "" menonaktifkan dan menghentikan cascade. "auto" menghasilkan [{identity.name}].
Variabel templat:
| Variabel | Deskripsi | Contoh |
|---|---|---|
{model} | Nama model pendek | claude-opus-4-6 |
{modelFull} | Pengidentifikasi model lengkap | anthropic/claude-opus-4-6 |
{provider} | Nama penyedia | anthropic |
{thinkingLevel} | Level berpikir saat ini | high, low, off |
{identity.name} | Nama identitas agen | (sama seperti "auto") |
{think} adalah alias untuk {thinkingLevel}.
Reaksi ack
- Default ke
identity.emojiagen aktif, jika tidak"👀". Setel""untuk menonaktifkan. - Override per-channel:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Urutan resolusi: akun → channel →
messages.ackReaction→ fallback identitas. - Cakupan:
group-mentions(default),group-all,direct,all. removeAckAfterReply: menghapus ack setelah balasan pada channel yang mendukung reaksi seperti Slack, Discord, Telegram, WhatsApp, dan iMessage.messages.statusReactions.enabled: mengaktifkan reaksi status siklus hidup pada Slack, Discord, dan Telegram. Pada Slack dan Discord, tidak disetel mempertahankan reaksi status aktif saat reaksi ack aktif. Pada Telegram, setel secara eksplisit ketrueuntuk mengaktifkan reaksi status siklus hidup.
Debounce inbound
Menggabungkan pesan teks-saja yang cepat dari pengirim yang sama menjadi satu giliran agen. Media/lampiran langsung flush. Perintah kontrol melewati debouncing.TTS (teks-ke-suara)
automengontrol mode auto-TTS default:off,always,inbound, atautagged./tts on|offdapat meng-override preferensi lokal, dan/tts statusmenampilkan status efektif.summaryModelmeng-overrideagents.defaults.model.primaryuntuk ringkasan otomatis.modelOverridesdiaktifkan secara default;modelOverrides.allowProviderdefault kefalse(ikut serta).- Kunci API fallback ke
ELEVENLABS_API_KEY/XI_API_KEYdanOPENAI_API_KEY. - Penyedia ucapan bawaan dimiliki Plugin. Jika
plugins.allowdisetel, sertakan setiap Plugin penyedia TTS yang ingin Anda gunakan, misalnyamicrosoftuntuk Edge TTS. Id penyedia lamaedgediterima sebagai alias untukmicrosoft. providers.openai.baseUrlmeng-override endpoint TTS OpenAI. Urutan resolusi adalah konfigurasi, laluOPENAI_TTS_BASE_URL, laluhttps://api.openai.com/v1.- Saat
providers.openai.baseUrlmengarah ke endpoint non-OpenAI, OpenClaw memperlakukannya sebagai server TTS yang kompatibel dengan OpenAI dan melonggarkan validasi model/suara.
Talk
Default untuk mode Talk (macOS/iOS/Android).talk.providerharus cocok dengan kunci dalamtalk.providerssaat beberapa penyedia Talk dikonfigurasi.- Kunci Talk datar lama (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) hanya untuk kompatibilitas. Jalankanopenclaw doctor --fixuntuk menulis ulang konfigurasi tersimpan ketalk.providers.<provider>. - ID suara fallback ke
ELEVENLABS_VOICE_IDatauSAG_VOICE_ID. providers.*.apiKeymenerima string plaintext atau objek SecretRef.- Fallback
ELEVENLABS_API_KEYhanya berlaku saat tidak ada kunci API Talk yang dikonfigurasi. providers.*.voiceAliasesmemungkinkan direktif Talk menggunakan nama ramah.providers.mlx.modelIdmemilih repo Hugging Face yang digunakan oleh helper MLX lokal macOS. Jika dihilangkan, macOS menggunakanmlx-community/Soprano-80M-bf16.- Pemutaran MLX macOS berjalan melalui helper
openclaw-mlx-ttsbawaan saat tersedia, atau executable padaPATH;OPENCLAW_MLX_TTS_BINmeng-override path helper untuk pengembangan. consultThinkingLevelmengontrol level berpikir untuk jalankan agen OpenClaw penuh di balik panggilanopenclaw_agent_consultrealtime Talk Control UI. Biarkan tidak disetel untuk mempertahankan perilaku sesi/model normal.consultFastModemenyetel override fast-mode sekali pakai untuk konsultasi realtime Talk Control UI tanpa mengubah pengaturan fast-mode normal sesi.speechLocalemenyetel id lokal BCP 47 yang digunakan oleh pengenalan ucapan Talk iOS/macOS. Biarkan tidak disetel untuk menggunakan default perangkat.silenceTimeoutMsmengontrol berapa lama mode Talk menunggu setelah pengguna diam sebelum mengirim transkrip. Tidak disetel mempertahankan jendela jeda default platform (700 ms on macOS and Android, 900 ms on iOS).realtime.instructionsmenambahkan instruksi sistem yang menghadap penyedia ke prompt realtime bawaan OpenClaw, sehingga gaya suara dapat dikonfigurasi tanpa kehilangan panduan defaultopenclaw_agent_consult.
Terkait
- Referensi konfigurasi — semua kunci konfigurasi lain
- Konfigurasi — tugas umum dan penyiapan cepat
- Contoh konfigurasi