Plugin backend CLI memungkinkan OpenClaw memanggil CLI AI lokal sebagai backend inferensi teks. Backend muncul sebagai prefiks penyedia dalam referensi model:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Jika layanan upstream mengekspos API model HTTP biasa, tulis
Plugin penyedia sebagai gantinya. Jika runtime
upstream memiliki sesi agen lengkap, peristiwa alat, compaction, atau status
tugas latar belakang, gunakan harness agen.
Yang dimiliki Plugin
Plugin backend CLI memiliki tiga kontrak:| Kontrak | File | Tujuan |
|---|---|---|
| Entri paket | package.json | Mengarahkan OpenClaw ke modul runtime Plugin |
| Kepemilikan manifest | openclaw.plugin.json | Mendeklarasikan id backend sebelum runtime dimuat |
| Pendaftaran runtime | index.ts | Memanggil api.registerCliBackend(...) dengan default perintah |
api.registerCliBackend(...).
Plugin backend minimal
Buat metadata paket
package.json
./src/index.ts, tambahkan
openclaw.runtimeExtensions yang menunjuk ke peer JavaScript yang sudah
dibangun. Lihat Titik entri.Deklarasikan kepemilikan backend
openclaw.plugin.json
cliBackends adalah daftar kepemilikan runtime. Ini memungkinkan OpenClaw
memuat Plugin secara otomatis ketika konfigurasi atau pemilihan model
menyebut acme-cli/....setup.cliBackends adalah permukaan setup berbasis deskriptor terlebih
dahulu. Tambahkan ini ketika penemuan model, onboarding, atau status harus
mengenali backend tanpa memuat runtime Plugin. Gunakan requiresRuntime: false hanya ketika deskriptor statis tersebut cukup untuk setup.Bentuk konfigurasi
CliBackendConfig menjelaskan bagaimana OpenClaw harus meluncurkan dan
mengurai CLI:
| Bidang | Penggunaan |
|---|---|
command | Nama biner atau path perintah absolut |
args | argv dasar untuk eksekusi baru |
resumeArgs | argv alternatif untuk sesi yang dilanjutkan; mendukung {sessionId} |
output / resumeOutput | Parser: json, jsonl, atau text |
input | Transport prompt: arg atau stdin |
modelArg | Flag yang digunakan sebelum id model |
modelAliases | Memetakan id model OpenClaw ke id native CLI |
sessionArg / sessionArgs | Cara meneruskan id sesi |
sessionMode | always, existing, atau none |
sessionIdFields | Bidang JSON yang dibaca OpenClaw dari output CLI |
systemPromptArg / systemPromptFileArg | Transport prompt sistem |
systemPromptWhen | first, always, atau never |
imageArg / imageMode | Dukungan path gambar |
serialize | Menjaga eksekusi backend yang sama tetap berurutan |
reliability.watchdog | Penyesuaian timeout tanpa output |
Hook backend lanjutan
CliBackendPlugin juga dapat mendefinisikan:
| Hook | Penggunaan |
|---|---|
normalizeConfig(config, context) | Menulis ulang konfigurasi pengguna lama setelah merge |
resolveExecutionArgs(ctx) | Menambahkan flag berlingkup permintaan seperti effort berpikir |
prepareExecution(ctx) | Membuat jembatan autentikasi atau konfigurasi sementara sebelum peluncuran |
transformSystemPrompt(ctx) | Menerapkan transformasi prompt sistem akhir yang spesifik CLI |
textTransforms | Penggantian prompt/output dua arah |
defaultAuthProfileId | Memilih profil autentikasi OpenClaw tertentu |
authEpochMode | Menentukan bagaimana perubahan autentikasi membatalkan sesi CLI tersimpan |
nativeToolMode | Mendeklarasikan apakah CLI memiliki alat native yang selalu aktif |
bundleMcp / bundleMcpMode | Mengikutsertakan jembatan alat MCP loopback OpenClaw |
Jembatan alat MCP
Backend CLI tidak menerima alat OpenClaw secara default. Jika CLI dapat mengonsumsi konfigurasi MCP, ikut sertakan secara eksplisit:| Mode | Penggunaan |
|---|---|
claude-config-file | CLI yang menerima file konfigurasi MCP |
codex-config-overrides | CLI yang menerima override konfigurasi pada argv |
gemini-system-settings | CLI yang membaca pengaturan MCP dari direktori pengaturan sistemnya |
nativeToolMode: "always-on" agar OpenClaw dapat gagal secara tertutup ketika
pemanggil mensyaratkan tidak ada alat native.
Konfigurasi pengguna
Pengguna dapat menimpa default backend apa pun:command ketika biner berada di luar PATH.
Verifikasi
Untuk Plugin yang dibundel, tambahkan pengujian terfokus di sekitar builder dan pendaftaran setup, lalu jalankan lane pengujian tertarget milik Plugin:Checklist
package.json memiliki openclaw.extensions dan entri runtime yang sudah dibangun untuk paket yang dipublikasikanopenclaw.plugin.json mendeklarasikan cliBackends dan activation.onStartup yang disengajasetup.cliBackends hadir ketika setup/penemuan model harus melihat backend dalam keadaan dinginapi.registerCliBackend(...) menggunakan id backend yang sama dengan manifestOverride pengguna di bawah
agents.defaults.cliBackends.<id> tetap menangPengaturan sesi, prompt sistem, gambar, dan parser output cocok dengan kontrak CLI nyata
Pengujian tertarget dan setidaknya satu smoke CLI langsung membuktikan path backend
Terkait
- Backend CLI - konfigurasi pengguna dan perilaku runtime
- Membangun Plugin - dasar paket dan manifest
- Gambaran umum SDK Plugin - referensi API pendaftaran
- Manifest Plugin -
cliBackendsdan deskriptor setup - Harness agen - runtime agen eksternal penuh