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,請改寫
提供者 Plugin。如果上游執行階段擁有完整的代理程式工作階段、工具事件、Compaction 或背景任務狀態,請使用代理程式控制架構。
Plugin 擁有的內容
CLI 後端 Plugin 有三個合約:| 合約 | 檔案 | 用途 |
|---|---|---|
| 套件進入點 | package.json | 將 OpenClaw 指向 Plugin 執行階段模組 |
| Manifest 擁有權 | openclaw.plugin.json | 在執行階段載入前宣告後端 id |
| 執行階段註冊 | index.ts | 使用命令預設值呼叫 api.registerCliBackend(...) |
api.registerCliBackend(...) 時,執行階段行為才會開始。
最小後端 Plugin
建立套件中繼資料
package.json
./src/index.ts,請新增指向已建置 JavaScript 對應檔案的 openclaw.runtimeExtensions。請參閱進入點。宣告後端擁有權
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 | 無輸出逾時調校 |
進階後端 Hook
CliBackendPlugin 也可以定義:
| Hook | 用法 |
|---|---|
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.cliBackendsapi.registerCliBackend(...) 使用與 Manifest 相同的後端 idagents.defaults.cliBackends.<id> 底下的使用者覆蓋仍然優先工作階段、系統提示、圖片和輸出剖析器設定符合真實 CLI 合約
目標測試和至少一個 live CLI smoke 證明後端路徑
相關
- CLI 後端 - 使用者設定和執行階段行為
- 建置 Plugin - 套件和 Manifest 基礎
- Plugin SDK 概觀 - 註冊 API 參考
- Plugin Manifest -
cliBackends和設定描述器 - 代理程式控制架構 - 完整外部代理程式執行階段