Mesin konteks OpenClaw
Empat titik siklus hidup perakitan, default legacy, menulis mesin plugin dengan commitTurn dan semantik transkrip, parameter host yang diterima, persyaratan kapabilitas host, isolasi kegagalan, dan arti sebenarnya ownsCompaction
Semua yang dilihat model dirakit oleh sesuatu. Di OpenClaw, sesuatu itu adalah mesin konteks, dan mesin ini dapat diganti lewat plugin. Mesin bawaan mempertahankan perilaku aslinya, tetapi antarmuka di bawahnya adalah tempat strategi yang berat pada retrieval atau ringkasan dipasang. Berikut titik-titik siklus hidupnya, kontrak yang harus dipatuhi plugin, dan dua perilaku kegagalan yang mencegah mesin yang buruk membungkam agen.
Empat titik siklus hidup
- Ingest dipanggil saat pesan baru masuk ke sesi agar mesin dapat menyimpan atau mengindeksnya; assemble dipanggil sebelum setiap eksekusi model dan mengembalikan kumpulan pesan yang berurutan ditambah tambahan system prompt opsional yang muat dalam anggaran token; compact dipanggil saat jendela penuh atau saat pengguna memintanya; dan hook after-turn memungkinkan mesin menyimpan state, memulai compaction di latar belakang, atau memperbarui indeks.
- Metode maintain opsional melakukan pemeliharaan transkrip setelah bootstrap, giliran yang berhasil, atau compaction, menggunakan helper penulisan ulang yang aman, dan dapat dideklarasikan sebagai pekerjaan latar belakang agar tidak memblokir balasan; compaction anggaran yang diantrekan dan menerima pemeliharaan latar belakang menjaga runtime yang disiapkan tetap hidup selama pemeliharaan, eksekusi ulang, dan pembuangan, jadi diterima tidak berarti pembersihan sudah selesai.
- Dua hook subagent opsional menyiapkan state bersama sebelum eksekusi anak dimulai dan membersihkannya saat selesai; hook persiapan menerima kunci sesi induk dan anak, mode konteks, pengenal transkrip yang tersedia, dan masa hidup opsional, serta dapat mengembalikan handle rollback yang dipanggil OpenClaw jika spawn gagal sesudahnya.
- Mesin legacy bawaan sengaja dibuat tipis: ingest tidak melakukan apa-apa karena pengelola sesi yang menyimpan pesan, assemble diteruskan ke pipeline sanitize, validate, dan limit yang sudah ada, compact didelegasikan ke peringkasan bawaan, dan hook after-turn tidak melakukan apa pun; mesin ini tidak mendaftarkan alat dan tidak menambahkan apa pun ke system prompt.
ownsCompaction: false tidak berarti OpenClaw otomatis kembali ke jalur compaction milik mesin legacy.
Menulis mesin
Plugin mendaftarkan mesin dengan ID, nama, apakah mesin itu memiliki compaction, dan parameter host yang diterimanya; OpenClaw mengambil irisan antara deklarasi itu dan field yang tersedia untuk setiap metode siklus hidup, sehingga kunci yang tidak dideklarasikan atau tidak dikenal tidak pernah disuntikkan, dan mesin yang tidak menyertakan deklarasi menerima setiap field host saat ini. Untuk giliran yang diterima dan harus durable, mesin mendeklarasikan kedua semantik transkrip dan mengimplementasikan metode commit sebagai satu penulisan atomik yang idempoten dengan advancement key sebagai kuncinya, yang mengembalikan status committed untuk penulisan pertama dan status duplicate saat percobaan ulang dari host menyajikan kunci yang sama; payload hanya mencakup rentang dari entri pengguna yang diterima hingga entri terminal yang diterima, dan riwayat sebelumnya dibaca melalui kursor transkrip. Tanpa deklarasi dan metode yang lengkap, OpenClaw memakai jalur legacy untuk seluruh giliran logis itu termasuk percobaan ulangnya, membiarkan slot yang dikonfigurasi tidak berubah, dan mencoba mesin itu lagi pada giliran berikutnya. Hasil assemble membawa pesan, perkiraan jumlah token, tambahan system prompt opsional, flag otoritas prompt yang menentukan perkiraan mana yang dipakai precheck overflow, dan siklus hidup proyeksi opsional untuk host dengan utas backend yang persisten.
Persyaratan dan kegagalan
- Mesin dapat mendeklarasikan persyaratan kapabilitas host, misalnya bahwa ia harus mengendalikan prompt yang sebenarnya melalui assemble; eksekusi agen native dan tersemat memenuhi kapabilitas itu, sedangkan backend baris perintah generik tidak, sehingga mesin yang mewajibkannya ditolak sebelum proses dimulai, secara fail-closed dengan pesan yang deskriptif.
- Jika mesin non-legacy tidak ada, gagal validasi kontrak, melempar error saat pembuatan, atau melempar error dari metode siklus hidup, OpenClaw mengarantinanya untuk proses gateway saat ini, menurunkan pekerjaan konteks ke legacy agar balasan tetap berjalan, dan mencatat error beserta operasi yang gagal agar operator dapat memperbaiki, memperbarui, atau menonaktifkan plugin.
- Memiliki compaction menonaktifkan auto-compaction bawaan di dalam percobaan dan precheck overflow generik sebelum prompt untuk eksekusi itu, sehingga mesin bertanggung jawab atas compaction manual, pemulihan overflow, dan pekerjaan proaktif apa pun; tidak memilikinya membuat auto-compaction bawaan tetap tersedia, tetapi compaction manual dan pemulihan overflow tetap dirutekan ke mesin, itulah sebabnya metode compact yang tidak melakukan apa-apa tidak aman.
Compaction OpenClaw adalah perilaku yang didelegasikan oleh mesin legacy, dan penjelasan konteks OpenClaw membahas hal yang dirakit itu.
Memilih dan membatalkan pilihan
Slot ini eksklusif saat runtime: hanya satu mesin terdaftar yang di-resolve untuk satu eksekusi atau compaction, meskipun plugin mesin lain yang diaktifkan tetap dimuat dan menjalankan kode pendaftarannya. Menghapus instalasi plugin yang sedang dipilih di slot akan mengembalikannya ke default, dan reset yang sama berlaku untuk slot memori, jadi tidak perlu mengedit konfigurasi secara manual. Mengganti mesin tidak menulis ulang sesi yang ada; sesi tersebut berlanjut dengan riwayatnya saat ini sementara mesin baru mengambil alih eksekusi berikutnya. Plugin memori adalah slot terpisah yang menyediakan pencarian dan retrieval, dan mesin dapat memanfaatkannya selama perakitan melalui helper yang terdokumentasi alih-alih masuk langsung ke tata letaknya. Plugin OpenClaw membahas sistem plugin, dan pencarian memori OpenClaw membahas sisi retrieval.
Di Diali
Di Diali, konfigurasi runtime dihasilkan dari dasbor dan diganti pada setiap rilis, sehingga pemilihan mesin menjadi bagian dari konfigurasi yang dihasilkan itu, bukan file yang diedit pelanggan secara manual. OpenClaw yang di-hosting di Diali menjelaskan asisten yang di-hosting, dan keamanan Diali menjelaskan batas di sekitar setiap runtime.
- Ingest, assemble, compact, after turn: empat titik, satu kontrak.
- Mesin yang rusak dikarantina; legacy membuat agen tetap menjawab.
- Deklarasikan semantik transkrip, atau giliran itu diam-diam memakai legacy.
Berhenti membaca, buat agen Anda sendiri
Siapkan agen, pilih saluran, dan biarkan ia bekerja di dalam aplikasi yang sudah selalu Anda buka.
