CLI バックエンド Plugin により、OpenClaw はローカルの AI CLI をテキスト推論バックエンドとして呼び出せます。バックエンドはモデル参照内のプロバイダープレフィックスとして表示されます。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.
上流サービスが通常の HTTP モデル API を公開している場合は、代わりに
provider plugin を作成してください。上流ランタイムが完全なエージェントセッション、ツールイベント、Compaction、またはバックグラウンドタスクの状態を所有している場合は、agent harness を使用してください。
Plugin が所有するもの
CLI バックエンド Plugin には 3 つの契約があります。| 契約 | ファイル | 目的 |
|---|---|---|
| パッケージエントリ | package.json | OpenClaw に Plugin ランタイムモジュールを示す |
| マニフェスト所有権 | openclaw.plugin.json | ランタイム読み込み前にバックエンド ID を宣言する |
| ランタイム登録 | index.ts | コマンドのデフォルトで api.registerCliBackend(...) を呼び出す |
api.registerCliBackend(...) を呼び出したときに開始します。
最小バックエンド Plugin
パッケージメタデータを作成する
package.json
./src/index.ts の場合は、ビルド済み JavaScript の対応ファイルを指す openclaw.runtimeExtensions を追加してください。Entry points を参照してください。バックエンドの所有権を宣言する
openclaw.plugin.json
cliBackends はランタイム所有権リストです。設定やモデル選択で acme-cli/... が指定されたときに、OpenClaw が Plugin を自動読み込みできるようにします。setup.cliBackends は記述子優先のセットアップサーフェスです。モデル検出、オンボーディング、またはステータスが Plugin ランタイムを読み込まずにバックエンドを認識するべき場合に追加してください。セットアップに静的記述子だけで十分な場合にのみ requiresRuntime: false を使用します。設定の形
CliBackendConfig は、OpenClaw が CLI をどのように起動し解析するべきかを記述します。
| フィールド | 用途 |
|---|---|
command | バイナリ名または絶対コマンドパス |
args | 新規実行用の基本 argv |
resumeArgs | 再開セッション用の代替 argv。{sessionId} をサポート |
output / resumeOutput | パーサー: json、jsonl、または text |
input | プロンプト転送: arg または stdin |
modelArg | モデル ID の前に使用するフラグ |
modelAliases | OpenClaw のモデル ID を CLI ネイティブ ID にマップする |
sessionArg / sessionArgs | セッション ID の渡し方 |
sessionMode | always、existing、または none |
sessionIdFields | OpenClaw が CLI 出力から読み取る JSON フィールド |
systemPromptArg / systemPromptFileArg | システムプロンプト転送 |
systemPromptWhen | first、always、または never |
imageArg / imageMode | 画像パスのサポート |
serialize | 同一バックエンドの実行順序を維持する |
reliability.watchdog | 出力なしタイムアウトの調整 |
高度なバックエンドフック
CliBackendPlugin では次も定義できます。
| フック | 用途 |
|---|---|
normalizeConfig(config, context) | マージ後にレガシーユーザー設定を書き換える |
resolveExecutionArgs(ctx) | 思考の深さなど、リクエストスコープのフラグを追加する |
prepareExecution(ctx) | 起動前に一時的な認証または設定ブリッジを作成する |
transformSystemPrompt(ctx) | 最終的な CLI 固有のシステムプロンプト変換を適用する |
textTransforms | 双方向のプロンプト/出力置換 |
defaultAuthProfileId | 特定の OpenClaw 認証プロファイルを優先する |
authEpochMode | 認証変更が保存済み CLI セッションを無効化する方法を決める |
nativeToolMode | CLI に常時有効のネイティブツールがあるかを宣言する |
bundleMcp / bundleMcpMode | OpenClaw の loopback MCP ツールブリッジにオプトインする |
MCP ツールブリッジ
CLI バックエンドはデフォルトでは OpenClaw ツールを受け取りません。CLI が MCP 設定を利用できる場合は、明示的にオプトインします。| モード | 用途 |
|---|---|
claude-config-file | MCP 設定ファイルを受け取る CLI |
codex-config-overrides | argv 上で設定オーバーライドを受け取る CLI |
gemini-system-settings | システム設定ディレクトリから MCP 設定を読み取る CLI |
nativeToolMode: "always-on" を設定し、呼び出し元がネイティブツールなしを要求したときに OpenClaw がクローズドに失敗できるようにします。
ユーザー設定
ユーザーは任意のバックエンドデフォルトを上書きできます。PATH の外にある場合の command だけです。
検証
バンドル済み Plugin では、ビルダーとセットアップ登録に焦点を当てたテストを追加し、その Plugin の対象テストレーンを実行します。チェックリスト
package.json に openclaw.extensions があり、公開パッケージ用のビルド済みランタイムエントリがあるopenclaw.plugin.json が cliBackends と意図した activation.onStartup を宣言しているセットアップ/モデル検出がバックエンドをコールド状態で見るべき場合、
setup.cliBackends が存在するapi.registerCliBackend(...) がマニフェストと同じバックエンド ID を使用しているagents.defaults.cliBackends.<id> 配下のユーザー上書きが引き続き優先されるセッション、システムプロンプト、画像、出力パーサーの設定が実際の CLI 契約と一致している
対象テストと少なくとも 1 つのライブ CLI スモークがバックエンドパスを証明している
関連
- CLI backends - ユーザー設定とランタイム動作
- Building plugins - パッケージとマニフェストの基本
- Plugin SDK overview - 登録 API リファレンス
- Plugin manifest -
cliBackendsとセットアップ記述子 - Agent harness - 完全な外部エージェントランタイム