Plugin SDK reference
Plugin рдореЗрдирд┐рдлреЗрд╕реНрдЯ
рдпрд╣ рдкреГрд╖реНрда рдХреЗрд╡рд▓ рдиреЗрдЯрд┐рд╡ OpenClaw Plugin рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╣реИред
рд╕рдВрдЧрдд рдмрдВрдбрд▓ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП, Plugin рдмрдВрдбрд▓ рджреЗрдЦреЗрдВред
рд╕рдВрдЧрдд рдмрдВрдбрд▓ рдлрд╝реЙрд░реНрдореИрдЯ рдЕрд▓рдЧ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
- Codex рдмрдВрдбрд▓:
.codex-plugin/plugin.json - Claude рдмрдВрдбрд▓:
.claude-plugin/plugin.jsonрдпрд╛ рдмрд┐рдирд╛ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╡рд╛рд▓рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ Claude рдШрдЯрдХ рд▓реЗрдЖрдЙрдЯ - Cursor рдмрдВрдбрд▓:
.cursor-plugin/plugin.json
OpenClaw рдЙрди рдмрдВрдбрд▓ рд▓реЗрдЖрдЙрдЯ рдХреЛ рднреА рд╕реНрд╡рддрдГ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд
openclaw.plugin.json рд╕реНрдХреАрдорд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред
рд╕рдВрдЧрдд рдмрдВрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, OpenClaw рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрдВрдбрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд
skill рд░реВрдЯ, Claude рдХрдорд╛рдВрдб рд░реВрдЯ, Claude рдмрдВрдбрд▓ settings.json рдбрд┐рдлрд╝реЙрд▓реНрдЯ,
Claude рдмрдВрдбрд▓ LSP рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдФрд░ рд╕рдорд░реНрдерд┐рдд hook рдкреИрдХ рдкрдврд╝рддрд╛ рд╣реИ, рдЬрдм рд▓реЗрдЖрдЙрдЯ
OpenClaw рд░рдирдЯрд╛рдЗрдо рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рд╣рд░ рдиреЗрдЯрд┐рд╡ OpenClaw Plugin рдХреЛ Plugin рд░реВрдЯ рдореЗрдВ рдПрдХ openclaw.plugin.json рдлрд╝рд╛рдЗрд▓
рд╢рд┐рдк рдХрд░рдиреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред OpenClaw рдЗрд╕ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ Plugin рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдкрд╕реНрдерд┐рдд рдпрд╛ рдЕрдорд╛рдиреНрдп рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЛ
Plugin рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕рддреНрдпрд╛рдкрди рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред
рдкреВрд░рд╛ Plugin рд╕рд┐рд╕реНрдЯрдо рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВ: Pluginsред рдиреЗрдЯрд┐рд╡ рдХреНрд╖рдорддрд╛ рдореЙрдбрд▓ рдФрд░ рд╡рд░реНрддрдорд╛рди рдмрд╛рд╣рд░реА-рд╕рдВрдЧрддрддрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП: рдХреНрд╖рдорддрд╛ рдореЙрдбрд▓ред
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИ
openclaw.plugin.json рд╡рд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ рдЬрд┐рд╕реЗ OpenClaw рдЖрдкрдХрд╛
Plugin рдХреЛрдб рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрдврд╝рддрд╛ рд╣реИред рдиреАрдЪреЗ рджреА рдЧрдИ рд╣рд░ рдЪреАрдЬрд╝ рдЗрддрдиреА рд╣рд▓реНрдХреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
рдХрд┐ Plugin рд░рдирдЯрд╛рдЗрдо рдмреВрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХреА рдЬрд╛ рд╕рдХреЗред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
- Plugin рдкрд╣рдЪрд╛рди, рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕рддреНрдпрд╛рдкрди, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧ UI рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП
- auth, рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ, рдФрд░ рд╕реЗрдЯрдЕрдк рдореЗрдЯрд╛рдбреЗрдЯрд╛ (alias, auto-enable, provider env vars, auth choices) рдХреЗ рд▓рд┐рдП
- control-plane рд╕рддрд╣реЛрдВ рдХреЗ рд▓рд┐рдП activation рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП
- рдореЙрдбрд▓-рдлрд╝реИрдорд┐рд▓реА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреЗ рд▓рд┐рдП
- рд╕реНрдерд┐рд░ рдХреНрд╖рдорддрд╛-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╕реНрдиреИрдкрд╢реЙрдЯ (
contracts) рдХреЗ рд▓рд┐рдП - QA runner рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬрд┐рд╕реЗ рд╕рд╛рдЭрд╛
openclaw qaрд╣реЛрд╕реНрдЯ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗ - catalog рдФрд░ validation рд╕рддрд╣реЛрдВ рдореЗрдВ merge рдХрд┐рдП рдЧрдП channel-specific config metadata рдХреЗ рд▓рд┐рдП
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ: рд░рдирдЯрд╛рдЗрдо рд╡реНрдпрд╡рд╣рд╛рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ, рдХреЛрдб entrypoints рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ,
рдпрд╛ npm install metadata рдХреЗ рд▓рд┐рдПред рд╡реЗ рдЖрдкрдХреЗ Plugin рдХреЛрдб рдФрд░ package.json рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг
{ "id": "voice-call", "configSchema": { "type": "object", "additionalProperties": false, "properties": {} }}рд╕рдореГрджреНрдз рдЙрджрд╛рд╣рд░рдг
{ "id": "openrouter", "name": "OpenRouter", "description": "OpenRouter provider plugin", "version": "1.0.0", "providers": ["openrouter"], "modelSupport": { "modelPrefixes": ["router-"] }, "modelIdNormalization": { "providers": { "openrouter": { "prefixWhenBare": "openrouter" } } }, "providerEndpoints": [ { "endpointClass": "openrouter", "hostSuffixes": ["openrouter.ai"] } ], "providerRequest": { "providers": { "openrouter": { "family": "openrouter" } } }, "cliBackends": ["openrouter-cli"], "syntheticAuthRefs": ["openrouter-cli"], "setup": { "providers": [ { "id": "openrouter", "envVars": ["OPENROUTER_API_KEY"] } ] }, "providerAuthAliases": { "openrouter-coding": "openrouter" }, "channelEnvVars": { "openrouter-chatops": ["OPENROUTER_CHATOPS_TOKEN"] }, "providerAuthChoices": [ { "provider": "openrouter", "method": "api-key", "choiceId": "openrouter-api-key", "choiceLabel": "OpenRouter API key", "groupId": "openrouter", "groupLabel": "OpenRouter", "optionKey": "openrouterApiKey", "cliFlag": "--openrouter-api-key", "cliOption": "--openrouter-api-key <key>", "cliDescription": "OpenRouter API key", "onboardingScopes": ["text-inference"] } ], "uiHints": { "apiKey": { "label": "API key", "placeholder": "sk-or-v1-...", "sensitive": true } }, "configSchema": { "type": "object", "additionalProperties": false, "properties": { "apiKey": { "type": "string" } } }}рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдлрд╝реАрд▓реНрдб рд╕рдВрджрд░реНрдн
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
id |
рд╣рд╛рдБ | string |
рдХреИрдирдирд┐рдХрд▓ plugin id. рдпрд╣ plugins.entries.<id> рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ id рд╣реИред |
configSchema |
рд╣рд╛рдБ | object |
рдЗрд╕ plugin рдХреЗ config рдХреЗ рд▓рд┐рдП рдЗрдирд▓рд╛рдЗрди JSON Schema. |
requiresPlugins |
рдирд╣реАрдВ | string[] |
Plugin ids рдЬреЛ рдЗрд╕ plugin рдХреЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рде рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред Discovery plugin рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд░рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХ plugin рди рдорд┐рд▓рдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреА рд╣реИред |
enabledByDefault |
рдирд╣реАрдВ | true |
bundled plugin рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ, рдпрд╛ рдХреЛрдИ рднреА non-true рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ plugin рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд░рд╣реЗред |
enabledByDefaultOnPlatforms |
рдирд╣реАрдВ | string[] |
bundled plugin рдХреЛ рдХреЗрд╡рд▓ рд╕реВрдЪреАрдмрджреНрдз Node.js platforms рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ["darwin"]. рд╕реНрдкрд╖реНрдЯ config рдлрд┐рд░ рднреА рдкреНрд░рд╛рдердорд┐рдХ рд░рд╣реЗрдЧрд╛ред |
legacyPluginIds |
рдирд╣реАрдВ | string[] |
Legacy ids рдЬреЛ рдЗрд╕ рдХреИрдирдирд┐рдХрд▓ plugin id рдореЗрдВ normalize рд╣реЛрддреЗ рд╣реИрдВред |
autoEnableWhenConfiguredProviders |
рдирд╣реАрдВ | string[] |
Provider ids рдЬреЛ auth, config, рдпрд╛ model refs рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕ plugin рдХреЛ auto-enable рдХрд░реЗрдВред |
kind |
рдирд╣реАрдВ | "memory" | "context-engine" |
plugins.slots.* рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ exclusive plugin kind рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред |
channels |
рдирд╣реАрдВ | string[] |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ Channel ids. Discovery рдФрд░ config validation рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
providers |
рдирд╣реАрдВ | string[] |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ Provider ids. |
providerCatalogEntry |
рдирд╣реАрдВ | string |
plugin root рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ lightweight provider-catalog module path, manifest-scoped provider catalog metadata рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ рдкреВрд░реЗ plugin runtime рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдП рдмрд┐рдирд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред |
modelSupport |
рдирд╣реАрдВ | object |
runtime рд╕реЗ рдкрд╣рд▓реЗ plugin рдХреЛ auto-load рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ manifest-owned shorthand model-family metadata. |
modelCatalog |
рдирд╣реАрдВ | object |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ providers рдХреЗ рд▓рд┐рдП declarative model catalog metadata. рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреА read-only listing, onboarding, model pickers, aliases, рдФрд░ plugin runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ suppression рдХреЗ рд▓рд┐рдП control-plane contract рд╣реИред |
modelPricing |
рдирд╣реАрдВ | object |
Provider-owned external pricing lookup policy. рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ local/self-hosted providers рдХреЛ remote pricing catalogs рд╕реЗ opt out рдХрд░рдиреЗ рдпрд╛ core рдореЗрдВ provider ids hardcode рдХрд┐рдП рдмрд┐рдирд╛ provider refs рдХреЛ OpenRouter/LiteLLM catalog ids рдкрд░ map рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред |
modelIdNormalization |
рдирд╣реАрдВ | object |
Provider-owned model-id alias/prefix cleanup рдЬреЛ provider runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред |
providerEndpoints |
рдирд╣реАрдВ | object[] |
Provider routes рдХреЗ рд▓рд┐рдП manifest-owned endpoint host/baseUrl metadata, рдЬрд┐рд╕реЗ core рдХреЛ provider runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ classify рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
providerRequest |
рдирд╣реАрдВ | object |
Generic request policy рджреНрд╡рд╛рд░рд╛ provider runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рд╕реНрддрд╛ provider-family рдФрд░ request-compatibility metadata. |
secretProviderIntegrations |
рдирд╣реАрдВ | Record<string, object> |
Declarative SecretRef exec provider presets рдЬрд┐рдиреНрд╣реЗрдВ setup рдпрд╛ install surfaces core рдореЗрдВ provider-specific integrations hardcode рдХрд┐рдП рдмрд┐рдирд╛ offer рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
cliBackends |
рдирд╣реАрдВ | string[] |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ CLI inference backend ids. explicit config refs рд╕реЗ startup auto-activation рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
syntheticAuthRefs |
рдирд╣реАрдВ | string[] |
Provider рдпрд╛ CLI backend refs рдЬрд┐рдирдХреЗ plugin-owned synthetic auth hook рдХреЛ runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ cold model discovery рдХреЗ рджреМрд░рд╛рди probe рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред |
nonSecretAuthMarkers |
рдирд╣реАрдВ | string[] |
Bundled-plugin-owned placeholder API key values рдЬреЛ non-secret local, OAuth, рдпрд╛ ambient credential state рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред |
commandAliases |
рдирд╣реАрдВ | object[] |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ Command names, рдЬрд┐рдиреНрд╣реЗрдВ runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ plugin-aware config рдФрд░ CLI diagnostics рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдПред |
providerAuthEnvVars |
рдирд╣реАрдВ | Record<string, string[]> |
Provider auth/status lookup рдХреЗ рд▓рд┐рдП deprecated compatibility env metadata. рдирдП plugins рдХреЗ рд▓рд┐рдП setup.providers[].envVars рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ; OpenClaw deprecation window рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рдЕрднреА рднреА рдкрдврд╝рддрд╛ рд╣реИред |
providerAuthAliases |
рдирд╣реАрдВ | Record<string, string> |
Provider ids рдЬрд┐рдиреНрд╣реЗрдВ auth lookup рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп provider id рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ coding provider рдЬреЛ base provider API key рдФрд░ auth profiles рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИред |
channelEnvVars |
рдирд╣реАрдВ | Record<string, string[]> |
рд╕рд╕реНрддрд╛ channel env metadata рдЬрд┐рд╕реЗ OpenClaw plugin code рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ inspect рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ env-driven channel setup рдпрд╛ auth surfaces рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ generic startup/config helpers рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред |
providerAuthChoices |
рдирд╣реАрдВ | object[] |
Onboarding pickers, preferred-provider resolution, рдФрд░ simple CLI flag wiring рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ auth-choice metadata. |
activation |
рдирд╣реАрдВ | object |
startup, provider, command, channel, route, рдФрд░ capability-triggered loading рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ activation planner metadata. рдХреЗрд╡рд▓ metadata; actual behavior рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдЕрднреА рднреА plugin runtime рдХреЗ рдкрд╛рд╕ рд╣реИред |
setup |
рдирд╣реАрдВ | object |
рд╕рд╕реНрддреЗ setup/onboarding descriptors рдЬрд┐рдиреНрд╣реЗрдВ discovery рдФрд░ setup surfaces plugin runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ inspect рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
qaRunners |
рдирд╣реАрдВ | object[] |
shared openclaw qa host рджреНрд╡рд╛рд░рд╛ plugin runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╕реНрддреЗ QA runner descriptors. |
contracts |
рдирд╣реАрдВ | object |
external auth hooks, embeddings, speech, realtime transcription, realtime voice, media-understanding, image-generation, music-generation, video-generation, web-fetch, web search, рдФрд░ tool ownership рдХреЗ рд▓рд┐рдП static capability ownership snapshot. |
mediaUnderstandingProviderMetadata |
рдирд╣реАрдВ | Record<string, object> |
contracts.mediaUnderstandingProviders рдореЗрдВ рдШреЛрд╖рд┐рдд provider ids рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреЗ media-understanding defaults. |
imageGenerationProviderMetadata |
рдирд╣реАрдВ | Record<string, object> |
contracts.imageGenerationProviders рдореЗрдВ рдШреЛрд╖рд┐рдд provider ids рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ image-generation auth metadata, рдЬрд┐рд╕рдореЗрдВ provider-owned auth aliases рдФрд░ base-url guards рд╢рд╛рдорд┐рд▓ рд╣реИрдВред |
videoGenerationProviderMetadata |
рдирд╣реАрдВ | Record<string, object> |
contracts.videoGenerationProviders рдореЗрдВ рдШреЛрд╖рд┐рдд provider ids рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ video-generation auth metadata, рдЬрд┐рд╕рдореЗрдВ provider-owned auth aliases рдФрд░ base-url guards рд╢рд╛рдорд┐рд▓ рд╣реИрдВред |
musicGenerationProviderMetadata |
рдирд╣реАрдВ | Record<string, object> |
contracts.musicGenerationProviders рдореЗрдВ рдШреЛрд╖рд┐рдд provider ids рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ music-generation auth metadata, рдЬрд┐рд╕рдореЗрдВ provider-owned auth aliases рдФрд░ base-url guards рд╢рд╛рдорд┐рд▓ рд╣реИрдВред |
toolMetadata |
рдирд╣реАрдВ | Record<string, object> |
contracts.tools рдореЗрдВ рдШреЛрд╖рд┐рдд Plugin-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рд╣рд▓реНрдХрд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХрд┐рд╕реА рдЯреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧ, рдкрд░рд┐рд╡реЗрд╢, рдпрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдорд╛рдг рдореМрдЬреВрдж рд╣реЛрдиреЗ рддрдХ рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
channelConfigs |
рдирд╣реАрдВ | Record<string, object> |
рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рд╕реНрдХрд╡рд░реА рдФрд░ рд╕рддреНрдпрд╛рдкрди рд╕рддрд╣реЛрдВ рдореЗрдВ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓рд╛ рдЪреИрдирд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдореЗрдЯрд╛рдбреЗрдЯрд╛ред |
skills |
рдирд╣реАрдВ | string[] |
рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Skills рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ, Plugin рд░реВрдЯ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ред |
name |
рдирд╣реАрдВ | string |
рдордиреБрд╖реНрдп-рдкрдардиреАрдп Plugin рдирд╛рдоред |
description |
рдирд╣реАрдВ | string |
Plugin рд╕рддрд╣реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢ред |
icon |
рдирд╣реАрдВ | string |
рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕/рдХреИрдЯрд▓реЙрдЧ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП HTTPS рдЫрд╡рд┐ URLред ClawHub рдХрд┐рд╕реА рднреА рдорд╛рдиреНрдп https:// URL рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдпрд╛ рдЕрдорд╛рдиреНрдп рд╣реЛрдиреЗ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ Plugin рдЖрдЗрдХрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИред |
version |
рдирд╣реАрдВ | string |
рд╕реВрдЪрдирд╛рддреНрдордХ Plugin рд╕рдВрд╕реНрдХрд░рдгред |
uiHints |
рдирд╣реАрдВ | Record<string, object> |
рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП UI рд▓реЗрдмрд▓, рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░, рдФрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рд╕рдВрдХреЗрддред |
рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрджрд░реНрдн
рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдЙрди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдСрде рд╕рд┐рдЧреНрдирд▓ рдмрддрд╛рддреЗ рд╣реИрдВ
рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд contracts.*GenerationProviders рд╕реВрдЪреА рдореЗрдВ рдШреЛрд╖рд┐рдд рд╣реИрдВред
OpenClaw рдЗрди рдлрд╝реАрд▓реНрдб рдХреЛ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрдврд╝рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрд░ рдЯреВрд▓
рд╣рд░ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ Plugin рдХреЛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рддрдп рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдХреЛрдИ рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЗрди рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕рд╕реНрддреЗ, рдШреЛрд╖рдгрд╛рддреНрдордХ рддрдереНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ, рдЕрдиреБрд░реЛрдз рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо, рдЯреЛрдХрди рд░рд┐рдлрд╝реНрд░реЗрд╢, рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕рддреНрдпрд╛рдкрди, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬрдирд░реЗрд╢рди рд╡реНрдпрд╡рд╣рд╛рд░ Plugin рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред
{ "contracts": { "imageGenerationProviders": ["example-image"] }, "imageGenerationProviderMetadata": { "example-image": { "aliases": ["example-image-oauth"], "authProviders": ["example-image"], "configSignals": [ { "rootPath": "plugins.entries.example-image.config", "overlayPath": "image", "mode": { "path": "mode", "default": "local", "allowed": ["local"] }, "requiredAny": ["workflow", "workflowPath"], "required": ["promptNodeId"] } ], "authSignals": [ { "provider": "example-image" }, { "provider": "example-image-oauth", "providerBaseUrl": { "provider": "example-image", "defaultBaseUrl": "https://api.example.com/v1", "allowedBaseUrls": ["https://api.example.com/v1"] } } ] } }}рд╣рд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдВрдЯреНрд░реА рд╕рдорд░реНрдерд┐рдд рдХрд░рддреА рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
aliases |
рдирд╣реАрдВ | string[] |
рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ ids рдЬрд┐рдиреНрд╣реЗрдВ рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдСрде рдЙрдкрдирд╛рдо рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред |
authProviders |
рдирд╣реАрдВ | string[] |
рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ ids рдЬрд┐рдирдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдСрде рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрд╕ рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рдСрде рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред |
configSignals |
рдирд╣реАрдВ | object[] |
рд▓реЛрдХрд▓ рдпрд╛ рд╕реНрд╡рдпрдВ-рд╣реЛрд╕реНрдЯреЗрдб рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреЗ рдХреЗрд╡рд▓-рдХреЙрдиреНрдлрд╝рд┐рдЧ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рд┐рдЧреНрдирд▓, рдЬрд┐рдиреНрд╣реЗрдВ рдСрде рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ env vars рдХреЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред |
authSignals |
рдирд╣реАрдВ | object[] |
рд╕реНрдкрд╖реНрдЯ рдСрде рд╕рд┐рдЧреНрдирд▓ред рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рдпреЗ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ id, aliases, рдФрд░ authProviders рд╕реЗ рдмрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рдЧреНрдирд▓ рд╕реЗрдЯ рдХреЛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред |
referenceAudioInputs |
рдирд╣реАрдВ | boolean |
рдХреЗрд╡рд▓ рд╡реАрдбрд┐рдпреЛ-рдЬрдирд░реЗрд╢рдиред рдЬрдм рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд╕рдВрджрд░реНрдн рдСрдбрд┐рдпреЛ рдПрд╕реЗрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реЛ рддреЛ true рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ; рдЕрдиреНрдпрдерд╛ video_generate рдСрдбрд┐рдпреЛ рд╕рдВрджрд░реНрдн рдкреИрд░рд╛рдореАрдЯрд░ рдЫрд┐рдкрд╛ рджреЗрддрд╛ рд╣реИред |
рд╣рд░ configSignals рдПрдВрдЯреНрд░реА рд╕рдорд░реНрдерд┐рдд рдХрд░рддреА рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
rootPath |
рд╣рд╛рдБ | string |
рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП Plugin-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдбреЙрдЯ рдкрд╛рде, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП plugins.entries.example.configред |
overlayPath |
рдирд╣реАрдВ | string |
рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдбреЙрдЯ рдкрд╛рде, рдЬрд┐рд╕рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░реВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдУрд╡рд░рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ image, video, рдпрд╛ music рдЬреИрд╕реА рдХреНрд╖рдорддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред |
overlayMapPath |
рдирд╣реАрдВ | string |
рд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдбреЙрдЯ рдкрд╛рде, рдЬрд┐рд╕рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рд╣рд░ рдПрдХ рд░реВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдУрд╡рд░рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ accounts рдЬреИрд╕реЗ рдирд╛рдорд┐рдд рдЕрдХрд╛рдЙрдВрдЯ рдореИрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдХрд╛рдЙрдВрдЯ рдкрд╛рддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
required |
рдирд╣реАрдВ | string[] |
рдкреНрд░рднрд╛рд╡реА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдбреЙрдЯ рдкрд╛рде рдЬрд┐рдирдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдорд╛рди рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП; рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдРрд░реЗ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред |
requiredAny |
рдирд╣реАрдВ | string[] |
рдкреНрд░рднрд╛рд╡реА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдбреЙрдЯ рдкрд╛рде, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
mode |
рдирд╣реАрдВ | object |
рдкреНрд░рднрд╛рд╡реА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЛрдб рдЧрд╛рд░реНрдбред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХреЗрд╡рд▓-рдХреЙрдиреНрдлрд╝рд┐рдЧ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рд┐рд░реНрдлрд╝ рдПрдХ рдореЛрдб рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реЛред |
рд╣рд░ mode рдЧрд╛рд░реНрдб рд╕рдорд░реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
path |
рдирд╣реАрдВ | string |
рдкреНрд░рднрд╛рд╡реА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдбреЙрдЯ рдкрд╛рдеред рдбрд┐рдлрд╝реЙрд▓реНрдЯ mode рд╣реИред |
default |
рдирд╣реАрдВ | string |
рдЬрдм рдХреЙрдиреНрдлрд╝рд┐рдЧ рдкрд╛рде рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рддрдм рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЛрдб рдорд╛рдиред |
allowed |
рдирд╣реАрдВ | string[] |
рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░, рд╕рд┐рдЧреНрдирд▓ рдХреЗрд╡рд▓ рддрдм рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░рднрд╛рд╡реА рдореЛрдб рдЗрди рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛред |
disallowed |
рдирд╣реАрдВ | string[] |
рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░, рд╕рд┐рдЧреНрдирд▓ рддрдм рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкреНрд░рднрд╛рд╡реА рдореЛрдб рдЗрди рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛред |
рд╣рд░ authSignals рдПрдВрдЯреНрд░реА рд╕рдорд░реНрдерд┐рдд рдХрд░рддреА рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
provider |
рд╣рд╛рдБ | string |
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдСрде рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ idред |
providerBaseUrl |
рдирд╣реАрдВ | object |
рд╡реИрдХрд▓реНрдкрд┐рдХ рдЧрд╛рд░реНрдб рдЬреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдХреЗрд╡рд▓ рддрдм рдЧрд┐рдирддрд╛ рд╣реИ рдЬрдм рд╕рдВрджрд░реНрднрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдЕрдиреБрдордд рдмреЗрд╕ URL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реЛред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ рдСрде рдЙрдкрдирд╛рдо рдХреЗрд╡рд▓ рдХреБрдЫ APIs рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реЛред |
рд╣рд░ providerBaseUrl рдЧрд╛рд░реНрдб рд╕рдорд░реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
provider |
рд╣рд╛рдБ | string |
рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧ id, рдЬрд┐рд╕рдХрд╛ baseUrl рдЬрд╛рдБрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред |
defaultBaseUrl |
рдирд╣реАрдВ | string |
рдЬрдм рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧ baseUrl рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рддрдм рдорд╛рдирдиреЗ рд╡рд╛рд▓рд╛ рдмреЗрд╕ URLред |
allowedBaseUrls |
рд╣рд╛рдБ | string[] |
рдЗрд╕ рдСрде рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдордд рдмреЗрд╕ URLsред рдЬрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреЗрд╕ URL рдЗрди рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛, рддреЛ рд╕рд┐рдЧреНрдирд▓ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
рдЯреВрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрджрд░реНрдн
toolMetadata рдЯреВрд▓ рдирд╛рдо рд╕реЗ рдХреА рдЧрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде, рдЬрдирд░реЗрд╢рди рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреИрд╕реА рд╣реА
configSignals рдФрд░ authSignals рдЖрдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред contracts.tools рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
toolMetadata рд╕рд╕реНрддрд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкреНрд░рдорд╛рдг рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ OpenClaw рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдЯреВрд▓ рдлрд╝реИрдХреНрдЯрд░реА рд╕реЗ null
рд╡рд╛рдкрд╕ рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Plugin рд░рдирдЯрд╛рдЗрдо рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХреЗред
{ "setup": { "providers": [ { "id": "example", "envVars": ["EXAMPLE_API_KEY"] } ] }, "contracts": { "tools": ["example_search"] }, "toolMetadata": { "example_search": { "authSignals": [ { "provider": "example" } ], "configSignals": [ { "rootPath": "plugins.entries.example.config", "overlayPath": "search", "required": ["apiKey"] } ] } }}рдпрджрд┐ рдХрд┐рд╕реА рдЯреВрд▓ рдХреЗ рдкрд╛рд╕ toolMetadata рдирд╣реАрдВ рд╣реИ, рддреЛ OpenClaw рдореМрдЬреВрджрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИ рдФрд░
рдЯреВрд▓ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдкреЙрд▓рд┐рд╕реА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдкрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓рд╛ Plugin рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рд╣реЙрдЯ-рдкрд╛рде
рдЯреВрд▓ рдЬрд┐рдирдХреА рдлрд╝реИрдХреНрдЯрд░реА рдСрде/рдХреЙрдиреНрдлрд╝рд┐рдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП Plugin рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП
рдХреЛрд░ рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рд╡рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп toolMetadata рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
providerAuthChoices рд╕рдВрджрд░реНрдн
рд╣рд░ providerAuthChoices рдПрдВрдЯреНрд░реА рдПрдХ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдпрд╛ рдСрде рд╡рд┐рдХрд▓реНрдк рдмрддрд╛рддреА рд╣реИред
OpenClaw рдЗрд╕реЗ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрдврд╝рддрд╛ рд╣реИред
рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд╕реЗрдЯрдЕрдк рд╕реВрдЪрд┐рдпрд╛рдБ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЗрди рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ, рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕реЗрдЯрдЕрдк
рд╡рд┐рдХрд▓реНрдкреЛрдВ, рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓-рдХреИрдЯрд▓реЙрдЧ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ |
|---|---|---|---|
provider |
рд╣рд╛рдБ | string |
рдкреНрд░рджрд╛рддрд╛ рдЖрдИрдбреА рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред |
method |
рд╣рд╛рдБ | string |
рдЬрд┐рд╕ рдкрд░ рдбрд┐рд╕реНрдкреИрдЪ рдХрд░рдирд╛ рд╣реИ рд╡рд╣ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рдЖрдИрдбреАред |
choiceId |
рд╣рд╛рдБ | string |
рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдФрд░ CLI рдлрд╝реНрд▓реЛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг-рд╡рд┐рдХрд▓реНрдк рдЖрдИрдбреАред |
choiceLabel |
рдирд╣реАрдВ | string |
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд▓реЗрдмрд▓ред рдЕрдЧрд░ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реЛ, рддреЛ OpenClaw choiceId рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИред |
choiceHint |
рдирд╣реАрдВ | string |
рдкрд┐рдХрд░ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рд╕рд╣рд╛рдпрдХ рдЯреЗрдХреНрд╕реНрдЯред |
assistantPriority |
рдирд╣реАрдВ | number |
рдХрдо рдорд╛рди рд╕рд╣рд╛рдпрдХ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкрд┐рдХрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдХреНрд░рдордмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВред |
assistantVisibility |
рдирд╣реАрдВ | "visible" | "manual-only" |
рдореИрдиреНрдпреБрдЕрд▓ CLI рдЪрдпрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реБрдП рднреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рд╣рд╛рдпрдХ рдкрд┐рдХрд░ рд╕реЗ рдЫрд┐рдкрд╛рдПрдБред |
deprecatedChoiceIds |
рдирд╣реАрдВ | string[] |
рдкреБрд░рд╛рдиреЗ рд╡рд┐рдХрд▓реНрдк рдЖрдИрдбреА рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╡рд┐рдХрд▓реНрдк рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
groupId |
рдирд╣реАрдВ | string |
рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдореВрд╣ рдЖрдИрдбреАред |
groupLabel |
рдирд╣реАрдВ | string |
рдЙрд╕ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд▓реЗрдмрд▓ред |
groupHint |
рдирд╣реАрдВ | string |
рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рд╕рд╣рд╛рдпрдХ рдЯреЗрдХреНрд╕реНрдЯред |
optionKey |
рдирд╣реАрдВ | string |
рд╕рд░рд▓ рдПрдХ-рдлрд╝реНрд▓реИрдЧ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдХреБрдВрдЬреАред |
cliFlag |
рдирд╣реАрдВ | string |
CLI рдлрд╝реНрд▓реИрдЧ рдирд╛рдо, рдЬреИрд╕реЗ --openrouter-api-keyред |
cliOption |
рдирд╣реАрдВ | string |
рдкреВрд░рд╛ CLI рд╡рд┐рдХрд▓реНрдк рдЖрдХрд╛рд░, рдЬреИрд╕реЗ --openrouter-api-key <key>ред |
cliDescription |
рдирд╣реАрдВ | string |
CLI рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд┐рд╡рд░рдгред |
onboardingScopes |
рдирд╣реАрдВ | Array<"text-inference" | "image-generation" | "music-generation"> |
рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрд┐рди рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рд╕рддрд╣реЛрдВ рдореЗрдВ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реЛ, рддреЛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ["text-inference"] рд╣реЛрддрд╛ рд╣реИред |
commandAliases рд╕рдВрджрд░реНрдн
commandAliases рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ Plugin рдРрд╕рд╛ рд░рдирдЯрд╛рдЗрдо рдХрдорд╛рдВрдб рдирд╛рдо рд░рдЦрддрд╛ рд╣реЛ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рдЧрд▓рддреА рд╕реЗ plugins.allow рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ root CLI рдХрдорд╛рдВрдб рдХреА рддрд░рд╣ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред OpenClaw
Plugin рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
{ "commandAliases": [ { "name": "dreaming", "kind": "runtime-slash", "cliCommand": "memory" } ]}| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ |
|---|---|---|---|
name |
рд╣рд╛рдБ | string |
рдХрдорд╛рдВрдб рдирд╛рдо рдЬреЛ рдЗрд╕ Plugin рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред |
kind |
рдирд╣реАрдВ | "runtime-slash" |
рдЙрдкрдирд╛рдо рдХреЛ root CLI рдХрдорд╛рдВрдб рдХреЗ рдмрдЬрд╛рдп рдЪреИрдЯ рд╕реНрд▓реИрд╢ рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред |
cliCommand |
рдирд╣реАрдВ | string |
CLI рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдмрдВрдзрд┐рдд root CLI рдХрдорд╛рдВрдб, рдЕрдЧрд░ рдХреЛрдИ рдореМрдЬреВрдж рд╣реЛред |
activation рд╕рдВрджрд░реНрдн
activation рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм Plugin рдХрдо рд▓рд╛рдЧрдд рдореЗрдВ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реЛ рдХрд┐ рдХрд┐рди рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдЗрд╡реЗрдВрдЯреНрд╕
рдореЗрдВ рдЙрд╕реЗ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдмреНрд▓реЙрдХ рдкреНрд▓рд╛рдирд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ, рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ API рдирд╣реАрдВред рдпрд╣
рд░рдирдЯрд╛рдЗрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рдХрд░рддрд╛, register(...) рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛, рдФрд░ рдпрд╣ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдХрд┐
Plugin рдХреЛрдб рдкрд╣рд▓реЗ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рд╕рдХреНрд░рд┐рдпрдг рдкреНрд▓рд╛рдирд░ рдореМрдЬреВрджрд╛ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рд╕реНрд╡рд╛рдорд┐рддреНрд╡
рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреИрд╕реЗ providers, channels, commandAliases, setup.providers,
contracts.tools, рдФрд░ рд╣реБрдХреНрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ Plugins рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд╕рдВрдХреАрд░реНрдг рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реЛред рдЬрдм
providers, channels, commandAliases, рд╕реЗрдЯрдЕрдк рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░, рдпрд╛ contracts
рд╕рдВрдмрдВрдз рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реЛрдВ, рддреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд▓рд╛рдирд░
рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП activation рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрди рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдлрд╝реАрд▓реНрдбреНрд╕ рд╕реЗ рдирд┐рд░реВрдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред
claude-cli, my-cli, рдпрд╛ google-gemini-cli рдЬреИрд╕реЗ CLI рд░рдирдЯрд╛рдЗрдо рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп cliBackends рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; activation.onAgentHarnesses рдХреЗрд╡рд▓ рдЙрди
рдПрдореНрдмреЗрдбреЗрдб рдПрдЬреЗрдВрдЯ рд╣рд╛рд░реНрдиреЗрд╕ рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдмреНрд▓реЙрдХ рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИред рдпрд╣ рд░рдирдЯрд╛рдЗрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рдХрд░рддрд╛, рдФрд░ рдпрд╣
register(...), setupEntry, рдпрд╛ рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдо/Plugin рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ред
рд╡рд░реНрддрдорд╛рди рдЙрдкрднреЛрдХреНрддрд╛ рд╡реНрдпрд╛рдкрдХ Plugin рд▓реЛрдбрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП
рдЧреИрд░-рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдХреНрд░рд┐рдпрдг рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рди рд╣реЛрдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдХреА рд▓рд╛рдЧрдд рдмрдирддрд╛ рд╣реИ; рдЬрдм рддрдХ
рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдлреЙрд▓рдмреИрдХ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИрдВ, рдЗрд╕рд╕реЗ рд╢реБрджреНрдзрддрд╛ рдирд╣реАрдВ рдмрджрд▓рдиреА рдЪрд╛рд╣рд┐рдПред
рд╣рд░ Plugin рдХреЛ activation.onStartup рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ true
рдХреЗрд╡рд▓ рддрдм рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрдм Plugin рдХреЛ Gateway рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рдЪрд▓рдирд╛ рд╣реА рд╣реЛред рдЗрд╕реЗ false рддрдм рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрдм
Plugin рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛ рдФрд░ рдХреЗрд╡рд▓ рд╕рдВрдХреАрд░реНрдг рдЯреНрд░рд┐рдЧрд░реНрд╕ рд╕реЗ рд▓реЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
onStartup рдЫреЛрдбрд╝ рджреЗрдиреЗ рд╕реЗ рдЕрдм Plugin рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк-рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛; рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рдЪреИрдирд▓, рдХреЙрдиреНрдлрд╝рд┐рдЧ, рдПрдЬреЗрдВрдЯ-рд╣рд╛рд░реНрдиреЗрд╕, рдореЗрдореЛрд░реА, рдпрд╛
рдЕрдиреНрдп рд╕рдВрдХреАрд░реНрдг рд╕рдХреНрд░рд┐рдпрдг рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╕рдХреНрд░рд┐рдпрдг рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
{ "activation": { "onStartup": false, "onProviders": ["openai"], "onCommands": ["models"], "onChannels": ["web"], "onRoutes": ["gateway-webhook"], "onConfigPaths": ["browser"], "onCapabilities": ["provider", "tool"] }}| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ |
|---|---|---|---|
onStartup |
рдирд╣реАрдВ | boolean |
рд╕реНрдкрд╖реНрдЯ Gateway рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдХреНрд░рд┐рдпрдгред рд╣рд░ Plugin рдХреЛ рдпрд╣ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред true рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди Plugin рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ; false рдЗрд╕реЗ рддрдм рддрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк-рд▓реЗрдЬрд╝реА рд░рдЦрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХреЛрдИ рджреВрд╕рд░рд╛ рдорд┐рд▓рд╛рди рд╡рд╛рд▓рд╛ рдЯреНрд░рд┐рдЧрд░ рд▓реЛрдбрд┐рдВрдЧ рдХреА рдорд╛рдВрдЧ рди рдХрд░реЗред |
onProviders |
рдирд╣реАрдВ | string[] |
рдкреНрд░рджрд╛рддрд╛ рдЖрдИрдбреА рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ Plugin рдХреЛ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
onAgentHarnesses |
рдирд╣реАрдВ | string[] |
рдПрдореНрдмреЗрдбреЗрдб рдПрдЬреЗрдВрдЯ рд╣рд╛рд░реНрдиреЗрд╕ рд░рдирдЯрд╛рдЗрдо рдЖрдИрдбреА рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ Plugin рдХреЛ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред CLI рдмреИрдХрдПрдВрдб рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп cliBackends рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред |
onCommands |
рдирд╣реАрдВ | string[] |
рдХрдорд╛рдВрдб рдЖрдИрдбреА рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ Plugin рдХреЛ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
onChannels |
рдирд╣реАрдВ | string[] |
рдЪреИрдирд▓ рдЖрдИрдбреА рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ Plugin рдХреЛ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
onRoutes |
рдирд╣реАрдВ | string[] |
рд░реВрдЯ рдкреНрд░рдХрд╛рд░ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ Plugin рдХреЛ рд╕рдХреНрд░рд┐рдпрдг/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
onConfigPaths |
рдирд╣реАрдВ | string[] |
root-рд╕рд╛рдкреЗрдХреНрд╖ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдкрде рдЬрд┐рдиреНрд╣реЗрдВ рдкрде рдореМрдЬреВрдж рд╣реЛрдиреЗ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рди рд╣реЛрдиреЗ рдкрд░ рдЗрд╕ Plugin рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк/рд▓реЛрдб рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
onCapabilities |
рдирд╣реАрдВ | Array<"provider" | "channel" | "tool" | "hook"> |
рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рд╕рдХреНрд░рд┐рдпрдг рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрд╛рдкрдХ рдХреНрд╖рдорддрд╛ рд╕рдВрдХреЗрддред рд╕рдВрднрд╡ рд╣реЛрдиреЗ рдкрд░ рд╕рдВрдХреАрд░реНрдг рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВред |
рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрд╡ рдЙрдкрднреЛрдХреНрддрд╛:
- Gateway рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк
рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП
activation.onStartupрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ - рдХрдорд╛рдВрдб-рдЯреНрд░рд┐рдЧрд░ рд╡рд╛рд▓реА CLI рдпреЛрдЬрдирд╛ рдкреБрд░рд╛рдиреЗ
commandAliases[].cliCommandрдпрд╛commandAliases[].nameрдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреА рд╣реИ - рдПрдЬреЗрдВрдЯ-рд░рдирдЯрд╛рдЗрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдпреЛрдЬрдирд╛
рдПрдореНрдмреЗрдбреЗрдб рд╣рд╛рд░реНрдиреЗрд╕ рдХреЗ рд▓рд┐рдП
activation.onAgentHarnessesрдФрд░ CLI рд░рдирдЯрд╛рдЗрдо рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдпcliBackends[]рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ - рдЪреИрдирд▓-рдЯреНрд░рд┐рдЧрд░ рд╕реЗрдЯрдЕрдк/рдЪреИрдирд▓ рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯ рдЪреИрдирд▓ рд╕рдХреНрд░рд┐рдпрдг рдореЗрдЯрд╛рдбреЗрдЯрд╛ рди рд╣реЛрдиреЗ рдкрд░ рдкреБрд░рд╛рдиреЗ
channels[]рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреА рд╣реИ - рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк Plugin рдпреЛрдЬрдирд╛ bundled рдмреНрд░рд╛рдЙрдЬрд╝рд░ Plugin рдХреЗ
browserрдмреНрд▓реЙрдХ рдЬреИрд╕реА рдЧреИрд░-рдЪреИрдирд▓ root рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕рддрд╣реЛрдВ рдХреЗ рд▓рд┐рдПactivation.onConfigPathsрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ - рдкреНрд░рджрд╛рддрд╛-рдЯреНрд░рд┐рдЧрд░ рд╕реЗрдЯрдЕрдк/рд░рдирдЯрд╛рдЗрдо рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рджрд╛рддрд╛
рд╕рдХреНрд░рд┐рдпрдг рдореЗрдЯрд╛рдбреЗрдЯрд╛ рди рд╣реЛрдиреЗ рдкрд░ рдкреБрд░рд╛рдиреЗ
providers[]рдФрд░ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдпcliBackends[]рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреА рд╣реИ
рдкреНрд▓рд╛рдирд░ рдирд┐рджрд╛рди рд╕реНрдкрд╖реНрдЯ рд╕рдХреНрд░рд┐рдпрдг рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ
рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдлреЙрд▓рдмреИрдХ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, activation-command-hint рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐
activation.onCommands рдорд┐рд▓рд╛, рдЬрдмрдХрд┐ manifest-command-alias рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐
рдкреНрд▓рд╛рдирд░ рдиреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп commandAliases рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпреЗ рдХрд╛рд░рдг рд▓реЗрдмрд▓
рд╣реЛрд╕реНрдЯ рдирд┐рджрд╛рди рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВ; Plugin рд▓реЗрдЦрдХреЛрдВ рдХреЛ рд╡рд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЬреЛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
qaRunners рд╕рдВрджрд░реНрдн
qaRunners рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ Plugin рд╕рд╛рдЭрд╛
openclaw qa root рдХреЗ рдиреАрдЪреЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рд░рдирд░ рдпреЛрдЧрджрд╛рди рдХрд░рддрд╛ рд╣реЛред рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рд╕рд╕реНрддрд╛ рдФрд░ рд╕реНрдерд┐рд░ рд░рдЦреЗрдВ; Plugin
рд░рдирдЯрд╛рдЗрдо рдЕрднреА рднреА рд╣рд▓реНрдХреЗ
runtime-api.ts рд╕рддрд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ CLI рдкрдВрдЬреАрдХрд░рдг рдХрд╛ рд╕реНрд╡рд╛рдореА рд╣реИ рдЬреЛ qaRunnerCliRegistrations рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреА рд╣реИред
{ "qaRunners": [ { "commandName": "matrix", "description": "Run the Docker-backed Matrix live QA lane against a disposable homeserver" } ]}| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
commandName |
рд╣рд╛рдБ | string |
openclaw qa рдХреЗ рдиреАрдЪреЗ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрдкрдХрдорд╛рдВрдб, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП matrixред |
description |
рдирд╣реАрдВ | string |
рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯ рдХреЛ рд╕реНрдЯрдм рдХрдорд╛рдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝реЙрд▓рдмреИрдХ рд╕рд╣рд╛рдпрддрд╛ рдкрд╛рдаред |
setup рд╕рдВрджрд░реНрдн
рдЬрдм рд╕реЗрдЯрдЕрдк рдФрд░ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рд╕рддрд╣реЛрдВ рдХреЛ рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд╕реНрддреЗ Plugin-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рддрдм setup рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
{ "setup": { "providers": [ { "id": "openai", "authMethods": ["api-key"], "envVars": ["OPENAI_API_KEY"], "authEvidence": [ { "type": "local-file-with-env", "fileEnvVar": "OPENAI_CREDENTIALS_FILE", "requiresAllEnv": ["OPENAI_PROJECT"], "credentialMarker": "openai-local-credentials", "source": "openai local credentials" } ] } ], "cliBackends": ["openai-cli"], "configMigrations": ["legacy-openai-auth"], "requiresRuntime": false }}рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп cliBackends рд╡реИрдз рд░рд╣рддрд╛ рд╣реИ рдФрд░ CLI рдЕрдиреБрдорд╛рди
рдмреИрдХрдПрдВрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред setup.cliBackends рдЙрди
рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди/setup рдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рд╕рддрд╣ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓-рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░, setup.providers рдФрд░ setup.cliBackends рд╕реЗрдЯрдЕрдк рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП
рдкрд╕рдВрджреАрджрд╛ рд╡рд░реНрдгрдирдХрд░реНрддрд╛-рдкреНрд░рдердо рд▓реБрдХрдЕрдк рд╕рддрд╣ рд╣реИрдВред рдпрджрд┐ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЙрдореНрдореАрджрд╡рд╛рд░
Plugin рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реЗрдЯрдЕрдк рдХреЛ рдЕрднреА рднреА рдЕрдзрд┐рдХ рд╕рдореГрджреНрдз рд╕реЗрдЯрдЕрдк-рд╕рдордп рд░рдирдЯрд╛рдЗрдо
рд╣реБрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ requiresRuntime: true рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд╝реЙрд▓рдмреИрдХ
рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХреЗ рд░реВрдк рдореЗрдВ setup-api рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВред
OpenClaw рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рджрд╛рддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг-рдЪрд░ рд▓реБрдХрдЕрдк рдореЗрдВ
setup.providers[].envVars рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред providerAuthEnvVars рдЕрд╡рдореВрд▓реНрдпрди
рд╡рд┐рдВрдбреЛ рдХреЗ рджреМрд░рд╛рди рд╕рдВрдЧрддрддрд╛ рдЕрдбреИрдкреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдЧреИрд░-рдмрдВрдбрд▓ Plugins рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдЙрдиреНрд╣реЗрдВ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдорд┐рд▓рддрд╛ рд╣реИред рдирдП Plugins рдХреЛ рд╕реЗрдЯрдЕрдк/рд╕реНрдерд┐рддрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдЯрд╛рдбреЗрдЯрд╛
setup.providers[].envVars рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм рдХреЛрдИ рд╕реЗрдЯрдЕрдк рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЙрдкрд▓рдмреНрдз рди рд╣реЛ, рдпрд╛ рдЬрдм setup.requiresRuntime: false
рд╕реЗрдЯрдЕрдк рд░рдирдЯрд╛рдЗрдо рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реЛ, рддрдм OpenClaw setup.providers[].authMethods
рд╕реЗ рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рд╡рд┐рдХрд▓реНрдк рднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯ providerAuthChoices рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ
рдХрд╕реНрдЯрдо рд▓реЗрдмрд▓, CLI рдлрд╝реНрд▓реИрдЧ, рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рд╕реНрдХреЛрдк, рдФрд░ рд╕рд╣рд╛рдпрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрд╕рдВрджреАрджрд╛ рд░рд╣рддреА рд╣реИрдВред
requiresRuntime: false рдХреЗрд╡рд▓ рддрдм рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрдм рд╡реЗ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рд╕реЗрдЯрдЕрдк рд╕рддрд╣ рдХреЗ рд▓рд┐рдП
рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВред OpenClaw рд╕реНрдкрд╖реНрдЯ false рдХреЛ рдХреЗрд╡рд▓-рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЕрдиреБрдмрдВрдз рдорд╛рдирддрд╛ рд╣реИ
рдФрд░ рд╕реЗрдЯрдЕрдк рд▓реБрдХрдЕрдк рдХреЗ рд▓рд┐рдП setup-api рдпрд╛ openclaw.setupEntry рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрджрд┐
рдХреЗрд╡рд▓-рд╡рд░реНрдгрдирдХрд░реНрддрд╛ Plugin рдлрд┐рд░ рднреА рдЙрди рд╕реЗрдЯрдЕрдк рд░рдирдЯрд╛рдЗрдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рднреЗрдЬрддрд╛ рд╣реИ,
рддреЛ OpenClaw рдПрдХ рдпреЛрдЧрд╛рддреНрдордХ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛
requiresRuntime рд╡рд┐рд░рд╛рд╕рдд рдлрд╝реЙрд▓рдмреИрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЬрд┐рди рдореМрдЬреВрджрд╛ Plugins рдиреЗ
рдлрд╝реНрд▓реИрдЧ рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗ рдереЗ, рд╡реЗ рдЯреВрдЯреЗрдВ рдирд╣реАрдВред
рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрдЯрдЕрдк рд▓реБрдХрдЕрдк Plugin-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓рд╛ setup-api рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд
setup.providers[].id рдФрд░ setup.cliBackends[] рдорд╛рди рдЦреЛрдЬреЗ рдЧрдП Plugins рдореЗрдВ
рдЕрджреНрд╡рд┐рддреАрдп рд░рд╣рдиреЗ рдЪрд╛рд╣рд┐рдПред рдЕрд╕реНрдкрд╖реНрдЯ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдЦреЛрдЬ рдХреНрд░рдо рд╕реЗ
рд╡рд┐рдЬреЗрддрд╛ рдЪреБрдирдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрдВрдж рд╣реЛрдХрд░ рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рд╕реЗрдЯрдЕрдк рд░рдирдЯрд╛рдЗрдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд╕реЗрдЯрдЕрдк рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рд╡рд░реНрдгрдирдХрд░реНрддрд╛
рдмрд╣рд╛рд╡ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ setup-api рдХреЛрдИ рдРрд╕рд╛ рдкреНрд░рджрд╛рддрд╛ рдпрд╛ CLI рдмреИрдХрдПрдВрдб рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ
рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ, рдпрд╛ рдпрджрд┐ рдХрд┐рд╕реА рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдХрд╛ рдореЗрд▓ рдЦрд╛рддрд╛ рд░рдирдЯрд╛рдЗрдо
рдкрдВрдЬреАрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдпреЗ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдпреЛрдЧрд╛рддреНрдордХ рд╣реИрдВ рдФрд░ рд╡рд┐рд░рд╛рд╕рдд Plugins рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗред
setup.providers рд╕рдВрджрд░реНрдн
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
id |
рд╣рд╛рдБ | string |
рд╕реЗрдЯрдЕрдк рдпрд╛ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рджрд╛рддрд╛ idред рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд ids рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рд░рдЦреЗрдВред |
authMethods |
рдирд╣реАрдВ | string[] |
рд╡реЗ рд╕реЗрдЯрдЕрдк/рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ ids рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ рдкреНрд░рджрд╛рддрд╛ рдкреВрд░реНрдг рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред |
envVars |
рдирд╣реАрдВ | string[] |
рд╡реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрдЕрдк/рд╕реНрдерд┐рддрд┐ рд╕рддрд╣реЗрдВ Plugin рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреА рд╣реИрдВред |
authEvidence |
рдирд╣реАрдВ | object[] |
рдЙрди рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╛рдХреНрд╖реНрдп рдЬрд╛рдВрдЪ рдЬреЛ рдЧреИрд░-рдЧреБрдкреНрдд рдорд╛рд░реНрдХрд░ рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
authEvidence рдкреНрд░рджрд╛рддрд╛-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреАрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдорд╛рд░реНрдХрд░ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ
рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рдЬрд╛рдВрдЪреЗрдВ рд╕рд╕реНрддреА рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдП:
рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрд▓ рдирд╣реАрдВ, рдХреЛрдИ рдХреАрдЪреЗрди рдпрд╛ рд╕реАрдХреНрд░реЗрдЯ-рдореИрдиреЗрдЬрд░ рд░реАрдб рдирд╣реАрдВ, рдХреЛрдИ рд╢реЗрд▓ рдХрдорд╛рдВрдб рдирд╣реАрдВ, рдФрд░ рдХреЛрдИ
рдкреНрд░рджрд╛рддрд╛ API рдЬрд╛рдВрдЪ рдирд╣реАрдВред
рд╕рдорд░реНрдерд┐рдд рд╕рд╛рдХреНрд╖реНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ:
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
type |
рд╣рд╛рдБ | string |
рд╡рд░реНрддрдорд╛рди рдореЗрдВ local-file-with-envред |
fileEnvVar |
рдирд╣реАрдВ | string |
рд╕реНрдкрд╖реНрдЯ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рд╛рдЗрд▓ рдкрде рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред |
fallbackPaths |
рдирд╣реАрдВ | string[] |
рдЬрдм fileEnvVar рдЕрдиреБрдкрд╕реНрдерд┐рдд рдпрд╛ рдЦрд╛рд▓реА рд╣реЛ, рддрдм рдЬрд╛рдВрдЪреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреАрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рд╛рдЗрд▓ рдкрдеред ${HOME} рдФрд░ ${APPDATA} рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред |
requiresAnyEnv |
рдирд╣реАрдВ | string[] |
рд╕рд╛рдХреНрд╖реНрдп рд╡реИрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реВрдЪреАрдмрджреНрдз рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЧреИрд░-рдЦрд╛рд▓реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
requiresAllEnv |
рдирд╣реАрдВ | string[] |
рд╕рд╛рдХреНрд╖реНрдп рд╡реИрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреАрдмрджреНрдз рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЧреИрд░-рдЦрд╛рд▓реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
credentialMarker |
рд╣рд╛рдБ | string |
рд╕рд╛рдХреНрд╖реНрдп рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЧреИрд░-рдЧреБрдкреНрдд рдорд╛рд░реНрдХрд░ред |
source |
рдирд╣реАрдВ | string |
рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рд╕реНрдерд┐рддрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рджрд░реНрд╢рд┐рдд рд╕реНрд░реЛрдд рд▓реЗрдмрд▓ред |
setup рдлрд╝реАрд▓реНрдб
| рдлрд╝реАрд▓реНрдб | рдЖрд╡рд╢реНрдпрдХ | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|---|
providers |
рдирд╣реАрдВ | object[] |
рд╕реЗрдЯрдЕрдк рдФрд░ рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЙрдЬрд╛рдЧрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рджрд╛рддрд╛ рд╕реЗрдЯрдЕрдк рд╡рд░реНрдгрдирдХрд░реНрддрд╛ред |
cliBackends |
рдирд╣реАрдВ | string[] |
рд╡рд░реНрдгрдирдХрд░реНрддрд╛-рдкреНрд░рдердо рд╕реЗрдЯрдЕрдк рд▓реБрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реЗрдЯрдЕрдк-рд╕рдордп рдмреИрдХрдПрдВрдб idsред рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд ids рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рд░рдЦреЗрдВред |
configMigrations |
рдирд╣реАрдВ | string[] |
рдЗрд╕ Plugin рдХреА рд╕реЗрдЯрдЕрдк рд╕рддрд╣ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдорд╛рдЗрдЧреНрд░реЗрд╢рди idsред |
requiresRuntime |
рдирд╣реАрдВ | boolean |
рдХреНрдпрд╛ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рд▓реБрдХрдЕрдк рдХреЗ рдмрд╛рдж рд╕реЗрдЯрдЕрдк рдХреЛ рдЕрдм рднреА setup-api рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред |
uiHints рд╕рдВрджрд░реНрдн
uiHints рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рд╕реЗ рдЫреЛрдЯреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рдВрдХреЗрддреЛрдВ рддрдХ рдХрд╛ рдореИрдк рд╣реИред
{ "uiHints": { "apiKey": { "label": "API key", "help": "Used for OpenRouter requests", "placeholder": "sk-or-v1-...", "sensitive": true } }}рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рд╕рдВрдХреЗрдд рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
label |
string |
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рджрд░реНрд╢рд┐рдд рдлрд╝реАрд▓реНрдб рд▓реЗрдмрд▓ред |
help |
string |
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╣рд╛рдпрдХ рдкрд╛рдаред |
tags |
string[] |
рд╡реИрдХрд▓реНрдкрд┐рдХ UI рдЯреИрдЧред |
advanced |
boolean |
рдлрд╝реАрд▓реНрдб рдХреЛ рдЙрдиреНрдирдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред |
sensitive |
boolean |
рдлрд╝реАрд▓реНрдб рдХреЛ рдЧреБрдкреНрдд рдпрд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред |
placeholder |
string |
рдлрд╝реЙрд░реНрдо рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдкрд╛рдаред |
contracts рд╕рдВрджрд░реНрдн
contracts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рдХреНрд╖рдорддрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдЬрд┐рд╕реЗ OpenClaw
Plugin рд░рдирдЯрд╛рдЗрдо рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред
{ "contracts": { "agentToolResultMiddleware": ["openclaw", "codex"], "trustedToolPolicies": ["workflow-budget"], "externalAuthProviders": ["acme-ai"], "embeddingProviders": ["openai-compatible"], "speechProviders": ["openai"], "realtimeTranscriptionProviders": ["openai"], "realtimeVoiceProviders": ["openai"], "memoryEmbeddingProviders": ["local"], "mediaUnderstandingProviders": ["openai"], "imageGenerationProviders": ["openai"], "videoGenerationProviders": ["qwen"], "webFetchProviders": ["firecrawl"], "webSearchProviders": ["gemini"], "migrationProviders": ["hermes"], "gatewayMethodDispatch": ["authenticated-request"], "tools": ["firecrawl_search", "firecrawl_scrape"] }}рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
embeddedExtensionFactories |
string[] |
Codex app-server extension factory ids, рд╡рд░реНрддрдорд╛рди рдореЗрдВ codex-app-serverред |
agentToolResultMiddleware |
string[] |
Runtime ids рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдпрд╣ Plugin tool-result middleware рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред |
trustedToolPolicies |
string[] |
Plugin-рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп pre-tool policy ids рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ Plugin рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП Plugins рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд┐рдирд╛ policies рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред |
externalAuthProviders |
string[] |
Provider ids рдЬрд┐рдирдХреЗ external auth profile hook рдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
embeddingProviders |
string[] |
рд╕рд╛рдорд╛рдиреНрдп embedding provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп vector embedding рдЙрдкрдпреЛрдЧ, memory рд╕рд╣рд┐рдд, рдХреЗ рд▓рд┐рдП рд╣реИред |
speechProviders |
string[] |
Speech provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
realtimeTranscriptionProviders |
string[] |
Realtime-transcription provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
realtimeVoiceProviders |
string[] |
Realtime-voice provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
memoryEmbeddingProviders |
string[] |
Deprecated memory-рд╡рд┐рд╢рд┐рд╖реНрдЯ embedding provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
mediaUnderstandingProviders |
string[] |
Media-understanding provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
transcriptSourceProviders |
string[] |
Transcript source provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
imageGenerationProviders |
string[] |
Image-generation provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
videoGenerationProviders |
string[] |
Video-generation provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
webFetchProviders |
string[] |
Web-fetch provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
webSearchProviders |
string[] |
Web-search provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
migrationProviders |
string[] |
openclaw migrate рдХреЗ рд▓рд┐рдП import provider ids рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
gatewayMethodDispatch |
string[] |
рдкреНрд░рдорд╛рдгрд┐рдд Plugin HTTP routes рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд entitlement, рдЬреЛ Gateway methods рдХреЛ process рдХреЗ рднреАрддрд░ dispatch рдХрд░рддреЗ рд╣реИрдВред |
tools |
string[] |
Agent tool names рдЬрд┐рдирдХрд╛ рд╕реНрд╡рд╛рдореА рдпрд╣ Plugin рд╣реИред |
contracts.embeddedExtensionFactories рдХреЛ рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП Codex
рдХреЗрд╡рд▓ app-server extension factories рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП tool-result transforms рдХреЛ
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп contracts.agentToolResultMiddleware рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░
api.registerAgentToolResultMiddleware(...) рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП Plugins
рдЙрд╕реА middleware seam рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЙрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рдХреЗрд╡рд▓ рдЙрди runtimes рдХреЗ рд▓рд┐рдП
рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ contracts.agentToolResultMiddleware рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЬрд┐рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП Plugins рдХреЛ host-trusted pre-tool policy tier рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ
contracts.trustedToolPolicies рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдЬреАрдХреГрдд local id рдШреЛрд╖рд┐рдд рдХрд░рдиреА рд╣реЛрдЧреА рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ
рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП Plugins рдореМрдЬреВрджрд╛ trusted-policy path рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП
Plugins рдЬрд┐рдирдХреЗ policy ids рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдкрдВрдЬреАрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред Policy ids
рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Plugin рдХреЗ scope рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджреЛ Plugins рджреЛрдиреЛрдВ
workflow-budget рдШреЛрд╖рд┐рдд рдФрд░ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдПрдХ рд╣реА Plugin рдЙрд╕реА local id рдХреЛ
рджреЛ рдмрд╛рд░ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
Runtime api.registerTool(...) registrations рдХреЛ contracts.tools рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
Tool discovery рдЗрд╕ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЙрди Plugin runtimes рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреА рд╣реИ рдЬреЛ
рдЕрдиреБрд░реЛрдзрд┐рдд tools рдХреЗ рд╕реНрд╡рд╛рдореА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
Provider Plugins рдЬреЛ resolveExternalAuthProfiles рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ
contracts.externalAuthProviders рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЕрдШреЛрд╖рд┐рдд external-auth hooks рдЕрдирджреЗрдЦреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп embedding providers рдХреЛ api.registerEmbeddingProvider(...) рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд
рдкреНрд░рддреНрдпреЗрдХ adapter рдХреЗ рд▓рд┐рдП contracts.embeddingProviders рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп
vector generation рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп contract рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ memory search рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП providers рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
contracts.memoryEmbeddingProviders deprecated memory-рд╡рд┐рд╢рд┐рд╖реНрдЯ compatibility рд╣реИ рдФрд░
рдХреЗрд╡рд▓ рддрдм рддрдХ рдмрдиреА рд░рд╣рддреА рд╣реИ рдЬрдм рддрдХ рдореМрдЬреВрджрд╛ providers generic embedding provider seam рдкрд░ migrate рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗред
contracts.gatewayMethodDispatch рд╡рд░реНрддрдорд╛рди рдореЗрдВ
"authenticated-request" рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ native Plugin HTTP
routes рдХреЗ рд▓рд┐рдП рдПрдХ API hygiene gate рд╣реИ, рдЬреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ Gateway control-plane methods рдХреЛ process рдХреЗ рднреАрддрд░
dispatch рдХрд░рддреЗ рд╣реИрдВ; рдпрд╣ malicious native Plugins рдХреЗ рд╡рд┐рд░реБрджреНрдз sandbox рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдХреЗрд╡рд▓ рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдХрд┐рдП рдЧрдП
рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП/operator surfaces рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ Gateway HTTP auth рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
mediaUnderstandingProviderMetadata рд╕рдВрджрд░реНрдн
mediaUnderstandingProviderMetadata рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХрд┐рд╕реА media-understanding provider рдХреЗ рдкрд╛рд╕
default models, auto-auth fallback priority, рдпрд╛ native document support рд╣реЛ рдЬрд┐рд╕рдХреА
generic core helpers рдХреЛ runtime loads рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред Keys рдХреЛ
contracts.mediaUnderstandingProviders рдореЗрдВ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
{ "contracts": { "mediaUnderstandingProviders": ["example"] }, "mediaUnderstandingProviderMetadata": { "example": { "capabilities": ["image", "audio"], "defaultModels": { "image": "example-vision-latest", "audio": "example-transcribe-latest" }, "autoPriority": { "image": 40 }, "nativeDocumentInputs": ["pdf"] } }}рдкреНрд░рддреНрдпреЗрдХ provider entry рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
capabilities |
("image" | "audio" | "video")[] |
рдЗрд╕ provider рджреНрд╡рд╛рд░рд╛ рдЙрдЬрд╛рдЧрд░ рдХреА рдЧрдИ media capabilitiesред |
defaultModels |
Record<string, string> |
рдЬрдм config рдХреЛрдИ model рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛, рддрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ capability-to-model defaultsред |
autoPriority |
Record<string, number> |
automatic credential-based provider fallback рдХреЗ рд▓рд┐рдП рдХрдо рд╕рдВрдЦреНрдпрд╛рдПрдВ рдкрд╣рд▓реЗ sort рд╣реЛрддреА рд╣реИрдВред |
nativeDocumentInputs |
"pdf"[] |
provider рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд native document inputsред |
channelConfigs рд╕рдВрджрд░реНрдн
channelConfigs рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдХрд┐рд╕реА channel Plugin рдХреЛ runtime loads рд╕реЗ рдкрд╣рд▓реЗ
рд╕рд╕реНрддреА config metadata рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред Read-only channel setup/status discovery рдЗрд╕ metadata рдХрд╛
рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ configured external channels рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреА рд╣реИ рдЬрдм рдХреЛрдИ setup entry рдЙрдкрд▓рдмреНрдз рди рд╣реЛ, рдпрд╛
рдЬрдм setup.requiresRuntime: false setup runtime рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
channelConfigs Plugin manifest metadata рд╣реИ, рдХреЛрдИ рдирдпрд╛ top-level user config
section рдирд╣реАрдВред Users рдЕрднреА рднреА channel instances рдХреЛ channels.<channel-id> рдХреЗ рдЕрдВрддрд░реНрдЧрдд configure рдХрд░рддреЗ рд╣реИрдВред
OpenClaw manifest metadata рдкрдврд╝рддрд╛ рд╣реИ рддрд╛рдХрд┐ рддрдп рдХрд░ рд╕рдХреЗ рдХрд┐ Plugin runtime code execute рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
рдЙрд╕ configured channel рдХрд╛ рд╕реНрд╡рд╛рдореА рдХреМрди рд╕рд╛ Plugin рд╣реИред
рдХрд┐рд╕реА channel Plugin рдХреЗ рд▓рд┐рдП, configSchema рдФрд░ channelConfigs рдЕрд▓рдЧ
paths рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
configSchemaplugins.entries.<plugin-id>.configрдХреЛ validate рдХрд░рддрд╛ рд╣реИchannelConfigs.<channel-id>.schemachannels.<channel-id>рдХреЛ validate рдХрд░рддрд╛ рд╣реИ
Non-bundled Plugins рдЬреЛ channels[] рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ matching
channelConfigs entries рднреА рдШреЛрд╖рд┐рдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрдирдХреЗ рдмрд┐рдирд╛, OpenClaw рдЕрднреА рднреА Plugin load рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
cold-path config schema, setup, рдФрд░ Control UI surfaces Plugin runtime execute рд╣реЛрдиреЗ рддрдХ
channel-owned option shape рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗред
channelConfigs.<channel-id>.commands.nativeCommandsAutoEnabled рдФрд░
nativeSkillsAutoEnabled command config checks рдХреЗ рд▓рд┐рдП static auto defaults рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬреЛ channel runtime loads рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП channels рднреА
рдЕрдкрдиреЗ рдЕрдиреНрдп package-owned channel catalog metadata рдХреЗ рд╕рд╛рде
package.json#openclaw.channel.commands рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╣реА defaults publish рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
{ "channelConfigs": { "matrix": { "schema": { "type": "object", "additionalProperties": false, "properties": { "homeserverUrl": { "type": "string" } } }, "uiHints": { "homeserverUrl": { "label": "Homeserver URL", "placeholder": "https://matrix.example.com" } }, "label": "Matrix", "description": "Matrix homeserver connection", "commands": { "nativeCommandsAutoEnabled": true, "nativeSkillsAutoEnabled": true }, "preferOver": ["matrix-legacy"] } }}рдкреНрд░рддреНрдпреЗрдХ channel entry рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
schema |
object |
channels.<id> рдХреЗ рд▓рд┐рдП JSON Schemaред рдкреНрд░рддреНрдпреЗрдХ рдШреЛрд╖рд┐рдд channel config entry рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХред |
uiHints |
Record<string, object> |
рдЙрд╕ channel config section рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ UI labels/placeholders/sensitive hintsред |
label |
string |
рдЬрдм runtime metadata рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛, рддрдм picker рдФрд░ inspect surfaces рдореЗрдВ merge рдХрд┐рдпрд╛ рдЧрдпрд╛ channel labelред |
description |
string |
inspect рдФрд░ catalog surfaces рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд channel descriptionред |
commands |
object |
pre-runtime config checks рдХреЗ рд▓рд┐рдП static native command рдФрд░ native skill auto-defaultsред |
preferOver |
string[] |
Legacy рдпрд╛ lower-priority Plugin ids рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ channel рдХреЛ selection surfaces рдореЗрдВ рдкреАрдЫреЗ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред |
рдХрд┐рд╕реА рдЕрдиреНрдп channel Plugin рдХреЛ рдмрджрд▓рдирд╛
preferOver рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХрд╛ Plugin рдХрд┐рд╕реА channel id рдХреЗ рд▓рд┐рдП preferred owner рд╣реЛ
рдЬрд┐рд╕реЗ рдХреЛрдИ рджреВрд╕рд░рд╛ Plugin рднреА provide рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп cases рд╣реИрдВ renamed Plugin id,
standalone Plugin рдЬреЛ рдХрд┐рд╕реА bundled Plugin рдХреЛ supersede рдХрд░рддрд╛ рд╣реИ, рдпрд╛ maintained fork рдЬреЛ
config compatibility рдХреЗ рд▓рд┐рдП рд╡рд╣реА channel id рд░рдЦрддрд╛ рд╣реИред
{ "id": "acme-chat", "channels": ["chat"], "channelConfigs": { "chat": { "schema": { "type": "object", "additionalProperties": false, "properties": { "webhookUrl": { "type": "string" } } }, "preferOver": ["chat"] } }}рдЬрдм channels.chat configured рд╣реЛрддрд╛ рд╣реИ, OpenClaw channel id рдФрд░
preferred Plugin id рджреЛрдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ lower-priority Plugin рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП selected рдерд╛ рдХреНрдпреЛрдВрдХрд┐
рд╡рд╣ bundled рд╣реИ рдпрд╛ default рд░реВрдк рд╕реЗ enabled рд╣реИ, рддреЛ OpenClaw рдЙрд╕реЗ effective
runtime config рдореЗрдВ disabled рдХрд░ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ Plugin channel рдФрд░ рдЙрд╕рдХреЗ tools рдХрд╛ рд╕реНрд╡рд╛рдореА рд╣реЛред Explicit user
selection рдЕрднреА рднреА рдЬреАрддрддрд╛ рд╣реИ: рдпрджрд┐ user рджреЛрдиреЛрдВ Plugins рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ enable рдХрд░рддрд╛ рд╣реИ, рддреЛ OpenClaw
рдЙрд╕ choice рдХреЛ preserve рдХрд░рддрд╛ рд╣реИ рдФрд░ requested Plugin set рдХреЛ silently рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп
duplicate channel/tool diagnostics report рдХрд░рддрд╛ рд╣реИред
preferOver рдХреЛ рдЙрди Plugin ids рддрдХ scoped рд░рдЦреЗрдВ рдЬреЛ рд╕рдЪ рдореЗрдВ рд╡рд╣реА channel provide рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдХреЛрдИ general priority field рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ user config keys рдХреЛ rename рдирд╣реАрдВ рдХрд░рддрд╛ред
modelSupport рд╕рдВрджрд░реНрдн
рдЬрдм OpenClaw рдХреЛ plugin runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ gpt-5.5 рдпрд╛ claude-sonnet-4.6 рдЬреИрд╕реЗ
рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдореЙрдбрд▓ id рд╕реЗ рдЖрдкрдХреЗ provider plugin рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реЛ, рддрдм modelSupport
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
{ "modelSupport": { "modelPrefixes": ["gpt-", "o1", "o3", "o4"], "modelPatterns": ["^computer-use-preview"] }}OpenClaw рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:
- рд╕реНрдкрд╖реНрдЯ
provider/modelrefs рдорд╛рд▓рд┐рдХрд╛рдирд╛providersmanifest metadata рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ modelPatterns,modelPrefixesрд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ- рдЕрдЧрд░ рдПрдХ non-bundled plugin рдФрд░ рдПрдХ bundled plugin, рджреЛрдиреЛрдВ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ non-bundled plugin рдЬреАрддрддрд╛ рд╣реИ
- рдмрд╛рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рддрдм рддрдХ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ user рдпрд╛ config рдХреЛрдИ provider рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛
рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
modelPrefixes |
string[] |
рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдореЙрдбрд▓ ids рдХреЗ рд╡рд┐рд░реБрджреНрдз startsWith рд╕реЗ рдорд┐рд▓рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ prefix. |
modelPatterns |
string[] |
profile suffix removal рдХреЗ рдмрд╛рдж рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдореЙрдбрд▓ ids рдХреЗ рд╡рд┐рд░реБрджреНрдз рдорд┐рд▓рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ regex sources. |
modelPatterns entries рдХреЛ compileSafeRegex рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ compile рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ
nested repetition рд╡рд╛рд▓реЗ patterns рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП (a+)+$)ред safety
check рдореЗрдВ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ patterns рдХреЛ рдЪреБрдкрдЪрд╛рдк рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ syntactically invalid regexред
patterns рдХреЛ рд╕рд░рд▓ рд░рдЦреЗрдВ рдФрд░ nested quantifiers рд╕реЗ рдмрдЪреЗрдВред
modelCatalog reference
рдЬрдм OpenClaw рдХреЛ plugin runtime рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ provider model metadata рдЬрд╛рдирдирд╛ рд╣реЛ, рддрдм
modelCatalog рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ fixed catalog rows, provider aliases, suppression rules,
рдФрд░ discovery mode рдХреЗ рд▓рд┐рдП manifest-owned source рд╣реИред Runtime refresh рдЕрднреА рднреА provider runtime
code рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди manifest core рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ runtime рдХрдм рдЖрд╡рд╢реНрдпрдХ рд╣реИред
{ "providers": ["openai"], "modelCatalog": { "providers": { "openai": { "baseUrl": "https://api.openai.com/v1", "api": "openai-responses", "models": [ { "id": "gpt-5.4", "name": "GPT-5.4", "input": ["text", "image"], "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "cost": { "input": 1.25, "output": 10, "cacheRead": 0.125 }, "status": "available", "tags": ["default"] } ] } }, "aliases": { "azure-openai-responses": { "provider": "openai", "api": "azure-openai-responses" } }, "suppressions": [ { "provider": "azure-openai-responses", "model": "gpt-5.3-codex-spark", "reason": "not available on Azure OpenAI Responses" } ], "discovery": { "openai": "static" } }}рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
providers |
Record<string, object> |
рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ provider ids рдХреЗ рд▓рд┐рдП catalog rows. keys рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп providers рдореЗрдВ рднреА рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред |
aliases |
Record<string, object> |
Provider aliases рдЬрд┐рдиреНрд╣реЗрдВ catalog рдпрд╛ suppression planning рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА owned provider рдореЗрдВ resolve рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
suppressions |
object[] |
рдХрд┐рд╕реА рджреВрд╕рд░реЗ source рд╕реЗ model rows рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ plugin provider-specific рдХрд╛рд░рдг рд╕реЗ suppress рдХрд░рддрд╛ рд╣реИред |
discovery |
Record<string, "static" | "refreshable" | "runtime"> |
рдХреНрдпрд╛ provider catalog рдХреЛ manifest metadata рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, cache рдореЗрдВ refresh рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ runtime рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред |
runtimeAugment |
boolean |
рдХреЗрд╡рд▓ рддрдм true рдкрд░ set рдХрд░реЗрдВ рдЬрдм provider runtime рдХреЛ manifest/config planning рдХреЗ рдмрд╛рдж catalog rows append рдХрд░рдиреА рд╣реЛрдВред |
aliases model-catalog planning рдХреЗ рд▓рд┐рдП provider ownership lookup рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИред
Alias targets рдЙрд╕реА plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп providers рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдХреЛрдИ
provider-filtered list alias рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рддреЛ OpenClaw owning manifest рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░
provider runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ alias API/base URL overrides рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Aliases unfiltered catalog listings рдХреЛ expand рдирд╣реАрдВ рдХрд░рддреЗ; broad lists рдХреЗрд╡рд▓ owning
canonical provider rows emit рдХрд░рддреЗ рд╣реИрдВред
suppressions рдкреБрд░рд╛рдиреЗ provider runtime suppressBuiltInModel hook рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
Suppression entries рдХреЛ рдХреЗрд╡рд▓ рддрдм рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм provider plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рдпрд╛
modelCatalog.aliases key рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рд╣реЛ рдЬреЛ рдХрд┐рд╕реА owned provider рдХреЛ target рдХрд░рддреА рд╣реИред Runtime
suppression hooks рдХреЛ рдЕрдм model resolution рдХреЗ рджреМрд░рд╛рди call рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред
Provider рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
baseUrl |
string |
рдЗрд╕ provider catalog рдореЗрдВ models рдХреЗ рд▓рд┐рдП optional default base URL. |
api |
ModelApi |
рдЗрд╕ provider catalog рдореЗрдВ models рдХреЗ рд▓рд┐рдП optional default API adapter. |
headers |
Record<string, string> |
optional static headers рдЬреЛ рдЗрд╕ provider catalog рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред |
models |
object[] |
рдЖрд╡рд╢реНрдпрдХ model rows. id рдХреЗ рдмрд┐рдирд╛ rows рдХреЛ ignored рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
Model рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
id |
string |
Provider-local model id, provider/ prefix рдХреЗ рдмрд┐рдирд╛ред |
name |
string |
optional display name. |
api |
ModelApi |
optional per-model API override. |
baseUrl |
string |
optional per-model base URL override. |
headers |
Record<string, string> |
optional per-model static headers. |
input |
Array<"text" | "image" | "document" | "audio" | "video"> |
model рдЬрд┐рди modalities рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред |
reasoning |
boolean |
рдХреНрдпрд╛ model reasoning behavior expose рдХрд░рддрд╛ рд╣реИред |
contextWindow |
number |
native provider context window. |
contextTokens |
number |
optional effective runtime context cap, рдЬрдм рдпрд╣ contextWindow рд╕реЗ рдЕрд▓рдЧ рд╣реЛред |
maxTokens |
number |
рдЬреНрдЮрд╛рдд рд╣реЛрдиреЗ рдкрд░ maximum output tokens. |
cost |
object |
optional USD per million token pricing, рдЬрд┐рд╕рдореЗрдВ optional tieredPricing рд╢рд╛рдорд┐рд▓ рд╣реИред |
compat |
object |
OpenClaw model config compatibility рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ optional compatibility flags. |
status |
"available" | "preview" | "deprecated" | "disabled" |
listing status. рдХреЗрд╡рд▓ рддрднреА suppress рдХрд░реЗрдВ рдЬрдм row рдмрд┐рд▓реНрдХреБрд▓ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред |
statusReason |
string |
non-available status рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ optional reason. |
replaces |
string[] |
рдкреБрд░рд╛рдиреЗ provider-local model ids рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ model supersede рдХрд░рддрд╛ рд╣реИред |
replacedBy |
string |
deprecated rows рдХреЗ рд▓рд┐рдП replacement provider-local model id. |
tags |
string[] |
pickers рдФрд░ filters рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ stable tags. |
Suppression рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
provider |
string |
suppress рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП upstream row рдХрд╛ provider id. рдпрд╣ рдЗрд╕ plugin рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ owned alias рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред |
model |
string |
suppress рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП provider-local model id. |
reason |
string |
suppressed row рдХреЛ рд╕реАрдзреЗ request рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ optional message. |
when.baseUrlHosts |
string[] |
suppression рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ effective provider base URL hosts рдХреА optional list. |
when.providerConfigApiIn |
string[] |
suppression рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ exact provider-config api values рдХреА optional list. |
modelCatalog рдореЗрдВ runtime-only data рди рдбрд╛рд▓реЗрдВред static рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрдм рдХрд░реЗрдВ рдЬрдм manifest
rows provider-filtered list рдФрд░ picker surfaces рдХреЗ рд▓рд┐рдП registry/runtime discovery рдЫреЛрдбрд╝рдиреЗ рд╣реЗрддреБ
рдХрд╛рдлрд╝реА рдкреВрд░реНрдг рд╣реЛрдВред refreshable рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм manifest rows рдЙрдкрдпреЛрдЧреА
listable seeds рдпрд╛ supplements рд╣реЛрдВ, рд▓реЗрдХрд┐рди refresh/cache рдмрд╛рдж рдореЗрдВ рдФрд░ rows рдЬреЛрдбрд╝ рд╕рдХреЗ;
refreshable rows рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ authoritative рдирд╣реАрдВ рд╣реЛрддреЗред runtime рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ рдЬрдм OpenClaw
рдХреЛ list рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП provider runtime рд▓реЛрдб рдХрд░рдирд╛ рд╣реА рд╣реЛред
modelIdNormalization reference
modelIdNormalization рдХрд╛ рдЙрдкрдпреЛрдЧ cheap provider-owned model-id cleanup рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдЬрд┐рд╕реЗ
provider runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ short model names, provider-local legacy ids,
рдФрд░ proxy prefix rules рдЬреИрд╕реЗ aliases рдХреЛ core model-selection tables рдХреЗ рдмрдЬрд╛рдп owning plugin
manifest рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред
{ "providers": ["anthropic", "openrouter"], "modelIdNormalization": { "providers": { "anthropic": { "aliases": { "sonnet-4.6": "claude-sonnet-4-6" } }, "openrouter": { "prefixWhenBare": "openrouter" } } }}Provider рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
aliases |
Record<string,string> |
case-insensitive exact model-id aliases. values рдЬреИрд╕реЗ рд▓рд┐рдЦреЗ рд╣реИрдВ рд╡реИрд╕реЗ рд╣реА рд▓реМрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред |
stripPrefixes |
string[] |
alias lookup рд╕реЗ рдкрд╣рд▓реЗ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ prefixes, legacy provider/model duplication рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреАред |
prefixWhenBare |
string |
рдЬрдм normalized model id рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ / рди рд╣реЛ, рддрдм рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ prefix. |
prefixWhenBareAfterAliasStartsWith |
object[] |
alias lookup рдХреЗ рдмрд╛рдж conditional bare-id prefix rules, modelPrefix рдФрд░ prefix рджреНрд╡рд╛рд░рд╛ keyed. |
providerEndpoints reference
generic request policy рдХреЛ provider runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд┐рд╕ endpoint classification рдХреЛ рдЬрд╛рдирдирд╛
рд╣реЛ, рдЙрд╕рдХреЗ рд▓рд┐рдП providerEndpoints рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Core рдЕрднреА рднреА рдкреНрд░рддреНрдпреЗрдХ endpointClass рдХрд╛ рдЕрд░реНрде own рдХрд░рддрд╛ рд╣реИ;
plugin manifests host рдФрд░ base URL metadata own рдХрд░рддреЗ рд╣реИрдВред
рдПрдВрдбрдкреЙрдЗрдВрдЯ рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
endpointClass |
string |
рдЬреНрдЮрд╛рдд рдХреЛрд░ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд░реНрдЧ, рдЬреИрд╕реЗ openrouter, moonshot-native, рдпрд╛ google-vertexред |
hosts |
string[] |
рд╡реЗ рд╕рдЯреАрдХ рд╣реЛрд╕реНрдЯрдирд╛рдо рдЬреЛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд░реНрдЧ рд╕реЗ рдореИрдк рд╣реЛрддреЗ рд╣реИрдВред |
hostSuffixes |
string[] |
рд╡реЗ рд╣реЛрд╕реНрдЯ рдкреНрд░рддреНрдпрдп рдЬреЛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд░реНрдЧ рд╕реЗ рдореИрдк рд╣реЛрддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдбреЛрдореЗрди-рдкреНрд░рддреНрдпрдп рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП . рдЙрдкрд╕рд░реНрдЧ рд▓рдЧрд╛рдПрдБред |
baseUrls |
string[] |
рд╡реЗ рд╕рдЯреАрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд HTTP(S) рдЖрдзрд╛рд░ URL рдЬреЛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд░реНрдЧ рд╕реЗ рдореИрдк рд╣реЛрддреЗ рд╣реИрдВред |
googleVertexRegion |
string |
рд╕рдЯреАрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ Google Vertex рдХреНрд╖реЗрддреНрд░ред |
googleVertexRegionHostSuffix |
string |
рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрд╕реНрдЯ рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рддреНрдпрдп, рддрд╛рдХрд┐ Google Vertex рдХреНрд╖реЗрддреНрд░ рдЙрдкрд╕рд░реНрдЧ рдЙрдЬрд╛рдЧрд░ рд╣реЛ рд╕рдХреЗред |
providerRequest рд╕рдВрджрд░реНрдн
рд╕рд╕реНрддреЗ рдЕрдиреБрд░реЛрдз-рд╕рдВрдЧрддрддрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП providerRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреА рд╕рд╛рдорд╛рдиреНрдп
рдЕрдиреБрд░реЛрдз рдиреАрддрд┐ рдХреЛ provider runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ
payload rewriting рдХреЛ provider runtime hooks рдпрд╛ рд╕рд╛рдЭрд╛ provider-family helpers рдореЗрдВ рд░рдЦреЗрдВред
{ "providers": ["vllm"], "providerRequest": { "providers": { "vllm": { "family": "vllm", "openAICompletions": { "supportsStreamingUsage": true } } } }}Provider рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
family |
string |
рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрд░реЛрдз-рд╕рдВрдЧрддрддрд╛ рдирд┐рд░реНрдгрдпреЛрдВ рдФрд░ рдирд┐рджрд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ provider family рд▓реЗрдмрд▓ред |
compatibilityFamily |
"moonshot" |
рд╕рд╛рдЭрд╛ рдЕрдиреБрд░реЛрдз helpers рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ provider-family рд╕рдВрдЧрддрддрд╛ bucketред |
openAICompletions |
object |
OpenAI-рд╕рдВрдЧрдд completions рдЕрдиреБрд░реЛрдз flags, рд╡рд░реНрддрдорд╛рди рдореЗрдВ supportsStreamingUsageред |
secretProviderIntegrations рд╕рдВрджрд░реНрдн
рдЬрдм рдХреЛрдИ plugin рдкреБрди: рдЙрдкрдпреЛрдЧ рдпреЛрдЧреНрдп SecretRef exec provider preset рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддрдм
secretProviderIntegrations рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред OpenClaw plugin runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрдврд╝рддрд╛ рд╣реИ, secrets.providers.<alias>.pluginIntegration рдореЗрдВ plugin ownership
рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ secret resolution рдХреЛ SecretRef runtime рдкрд░ рдЫреЛрдбрд╝рддрд╛ рд╣реИред
Presets рдХреЗрд╡рд▓ bundled plugins рдФрд░ managed plugin install roots рд╕реЗ рдЦреЛрдЬреЗ рдЧрдП installed plugins
рдХреЗ рд▓рд┐рдП рдЙрдЬрд╛рдЧрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ git рдФрд░ ClawHub installsред
{ "secretProviderIntegrations": { "secret-store": { "providerAlias": "team-secrets", "displayName": "Team secrets", "source": "exec", "command": "${node}", "args": ["./bin/resolve-secrets.mjs"] } }}map key integration id рд╣реИред рдпрджрд┐ providerAlias рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ OpenClaw
integration id рдХреЛ SecretRef provider alias рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Provider aliases рдХреЛ
рд╕рд╛рдорд╛рдиреНрдп SecretRef provider alias pattern рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП team-secrets рдпрд╛
onepassword-workред
рдЬрдм рдХреЛрдИ operator preset рдЪреБрдирддрд╛ рд╣реИ, рддреЛ OpenClaw рдЗрд╕ рддрд░рд╣ provider reference рд▓рд┐рдЦрддрд╛ рд╣реИ:
{ "secrets": { "providers": { "team-secrets": { "source": "exec", "pluginIntegration": { "pluginId": "acme-secrets", "integrationId": "secret-store" } } } }}startup/reload рдкрд░, OpenClaw рд╡рд░реНрддрдорд╛рди plugin manifest metadata рд▓реЛрдб рдХрд░рдХреЗ, owning plugin
installed рдФрд░ active рд╣реИ рдпрд╣ рдЬрд╛рдБрдЪрдХрд░, рдФрд░ manifest рд╕реЗ exec command materialize рдХрд░рдХреЗ рдЙрд╕
provider рдХреЛ resolve рдХрд░рддрд╛ рд╣реИред plugin рдХреЛ disable рдпрд╛ remove рдХрд░рдиреЗ рд╕реЗ active SecretRefs рдХреЗ рд▓рд┐рдП
provider revoked рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬреЛ operators standalone exec configuration рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдЕрднреА рднреА
manual command/args providers рд╕реАрдзреЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ source: "exec" presets рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред command рдХреЛ
${node} рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ args[0] рдХреЛ ./ plugin-root-relative resolver script рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
OpenClaw рдЗрд╕реЗ startup/reload рдкрд░ рд╡рд░реНрддрдорд╛рди Node executable рдФрд░ absolute in-plugin script path
рдореЗрдВ materialize рдХрд░рддрд╛ рд╣реИред Node options рдЬреИрд╕реЗ --require, --import,
--loader, --env-file, --eval, рдФрд░ --print manifest
preset contract рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред рдЬрд┐рди operators рдХреЛ non-Node commands рдЪрд╛рд╣рд┐рдП, рд╡реЗ standalone
manual exec providers рд╕реАрдзреЗ configure рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
OpenClaw manifest presets рдХреЗ рд▓рд┐рдП trustedDirs рдХреЛ plugin root рд╕реЗ рдФрд░,
${node} presets рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди Node executable directory рд╕реЗ derive рдХрд░рддрд╛ рд╣реИред Manifest-authored
trustedDirs рдЕрдирджреЗрдЦреЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдп exec provider options рдЬреИрд╕реЗ timeoutMs,
maxOutputBytes, jsonOnly, env, passEnv, рдФрд░ allowInsecurePath рд╕рд╛рдорд╛рдиреНрдп
SecretRef exec provider config рддрдХ pass through рд╣реЛрддреЗ рд╣реИрдВред
modelPricing рд╕рдВрджрд░реНрдн
рдЬрдм рдХрд┐рд╕реА provider рдХреЛ runtime load рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ control-plane pricing behavior рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ,
рддрдм modelPricing рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Gateway pricing cache provider runtime code import рдХрд┐рдП рдмрд┐рдирд╛
рдпрд╣ metadata рдкрдврд╝рддрд╛ рд╣реИред
{ "providers": ["ollama", "openrouter"], "modelPricing": { "providers": { "ollama": { "external": false }, "openrouter": { "openRouter": { "passthroughProviderModel": true }, "liteLLM": false } } }}Provider рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
external |
boolean |
local/self-hosted providers рдХреЗ рд▓рд┐рдП false рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА OpenRouter рдпрд╛ LiteLLM pricing fetch рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред |
openRouter |
false | object |
OpenRouter pricing lookup mappingред false рдЗрд╕ provider рдХреЗ рд▓рд┐рдП OpenRouter lookup disable рдХрд░рддрд╛ рд╣реИред |
liteLLM |
false | object |
LiteLLM pricing lookup mappingред false рдЗрд╕ provider рдХреЗ рд▓рд┐рдП LiteLLM lookup disable рдХрд░рддрд╛ рд╣реИред |
Source рдлрд╝реАрд▓реНрдб:
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|---|
provider |
string |
External catalog provider id, рдЬрдм рдпрд╣ OpenClaw provider id рд╕реЗ рдЕрд▓рдЧ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП zai provider рдХреЗ рд▓рд┐рдП z-aiред |
passthroughProviderModel |
boolean |
slash-containing model ids рдХреЛ nested provider/model refs рдХреА рддрд░рд╣ рдорд╛рдиреЗрдВ, рдЬреЛ OpenRouter рдЬреИрд╕реЗ proxy providers рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред |
modelIdTransforms |
"version-dots"[] |
рдЕрддрд┐рд░рд┐рдХреНрдд external catalog model-id variantsред version-dots claude-opus-4.6 рдЬреИрд╕реЗ dotted version ids рдЖрдЬрд╝рдорд╛рддрд╛ рд╣реИред |
OpenClaw Provider Index
OpenClaw Provider Index рдЙрди providers рдХреЗ рд▓рд┐рдП OpenClaw-owned preview metadata рд╣реИ рдЬрд┐рдирдХреЗ plugins рдЕрднреА installed рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред рдпрд╣ plugin manifest рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред Plugin manifests installed-plugin authority рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред Provider Index рд╡рд╣ internal fallback contract рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рднрд╡рд┐рд╖реНрдп рдХреЗ installable-provider рдФрд░ pre-install model picker surfaces рддрдм рдХрд░реЗрдВрдЧреЗ рдЬрдм рдХреЛрдИ provider plugin installed рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
Catalog authority order:
- User configред
- Installed plugin manifest
modelCatalogред - Explicit refresh рд╕реЗ model catalog cacheред
- OpenClaw Provider Index preview rowsред
Provider Index рдореЗрдВ secrets, enabled state, runtime hooks, рдпрд╛
live account-specific model data рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ preview catalogs рд╡рд╣реА
modelCatalog provider row shape рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ plugin manifests рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдиреНрд╣реЗрдВ stable display metadata рддрдХ рд╕реАрдорд┐рдд рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ runtime adapter fields рдЬреИрд╕реЗ api,
baseUrl, pricing, рдпрд╛ compatibility flags рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ installed plugin manifest рдХреЗ рд╕рд╛рде aligned рди рд░рдЦрд╛ рдЧрдпрд╛ рд╣реЛред Live /models discovery рд╡рд╛рд▓реЗ providers рдХреЛ рд╕рд╛рдорд╛рдиреНрдп listing рдпрд╛ onboarding рдХреЗ рджреМрд░рд╛рди provider APIs call рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп explicit model catalog cache path рдХреЗ рдЬрд░рд┐рдП refreshed rows рд▓рд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдПред
Provider Index entries рдЙрди providers рдХреЗ рд▓рд┐рдП installable-plugin metadata рднреА рд░рдЦ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ plugin core рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЕрдиреНрдпрдерд╛ рдЕрднреА installed рдирд╣реАрдВ рд╣реИред рдпрд╣ metadata channel catalog pattern рдХреЛ mirror рдХрд░рддрд╛ рд╣реИ: package name, npm install spec, expected integrity, рдФрд░ cheap auth-choice labels рдХрд┐рд╕реА installable setup option рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред Plugin installed рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рдЙрд╕рдХрд╛ manifest рдЬреАрддрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ provider рдХреЗ рд▓рд┐рдП Provider Index entry рдЕрдирджреЗрдЦреА рдХреА рдЬрд╛рддреА рд╣реИред
Legacy top-level capability keys deprecated рд╣реИрдВред speechProviders, realtimeTranscriptionProviders,
realtimeVoiceProviders, mediaUnderstandingProviders,
imageGenerationProviders, videoGenerationProviders,
webFetchProviders, рдФрд░ webSearchProviders рдХреЛ contracts рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
openclaw doctor --fix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; рд╕рд╛рдорд╛рдиреНрдп manifest loading рдЕрдм рдЙрди top-level fields рдХреЛ capability
ownership рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирддреАред
Manifest рдмрдирд╛рдо package.json
рджреЛрдиреЛрдВ files рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ:
| File | рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ |
|---|---|
openclaw.plugin.json |
Discovery, config validation, auth-choice metadata, рдФрд░ UI hints рдЬреЛ plugin code рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП |
package.json |
npm metadata, dependency installation, рдФрд░ entrypoints, install gating, setup, рдпрд╛ catalog metadata рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ openclaw block |
рдпрджрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ metadata рдХрд╛ рдХреЛрдИ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╣рд╛рдБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдпрд╣ рдирд┐рдпрдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
- рдпрджрд┐ OpenClaw рдХреЛ plugin code load рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЗрд╕реЗ
openclaw.plugin.jsonрдореЗрдВ рд░рдЦреЗрдВ - рдпрджрд┐ рдпрд╣ packaging, entry files, рдпрд╛ npm install behavior рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ
package.jsonрдореЗрдВ рд░рдЦреЗрдВ
package.json fields рдЬреЛ discovery рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдХреБрдЫ pre-runtime plugin metadata рдЬрд╛рдирдмреВрдЭрдХрд░ openclaw.plugin.json рдХреЗ рдмрдЬрд╛рдп
package.json рдореЗрдВ openclaw block рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд░рд╣рддрд╛ рд╣реИред
openclaw.bundle рдФрд░ openclaw.bundle.json OpenClaw plugin contracts рдирд╣реАрдВ рд╣реИрдВ;
native plugins рдХреЛ openclaw.plugin.json рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕рдорд░реНрдерд┐рдд
package.json#openclaw fields рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг:
| рдлрд╝реАрд▓реНрдб | рдЗрд╕рдХрд╛ рдЕрд░реНрде |
|---|---|
openclaw.extensions |
рдиреЗрдЯрд┐рд╡ Plugin рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред Plugin рдкреИрдХреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдЕрдВрджрд░ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред |
openclaw.runtimeExtensions |
рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ JavaScript runtime рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред Plugin рдкреИрдХреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдЕрдВрджрд░ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред |
openclaw.setupEntry |
onboarding, рд╕реНрдердЧрд┐рдд channel startup, рдФрд░ read-only channel status/SecretRef discovery рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣рд▓реНрдХрд╛ setup-only рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯред Plugin рдкреИрдХреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдЕрдВрджрд░ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред |
openclaw.runtimeSetupEntry |
рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ JavaScript setup рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред setupEntry рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ Plugin рдкреИрдХреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдЕрдВрджрд░ рд╣реА рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред |
openclaw.channel |
labels, docs paths, aliases, рдФрд░ selection copy рдЬреИрд╕реЗ рд╕рд╕реНрддреЗ channel catalog metadataред |
openclaw.channel.commands |
channel runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ config, audit, рдФрд░ command-list surfaces рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ static native command рдФрд░ native skill auto-default metadataред |
openclaw.channel.configuredState |
рд╣рд▓реНрдХрд╛ configured-state checker metadata рдЬреЛ рдкреВрд░рд╛ channel runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ "рдХреНрдпрд╛ env-only setup рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ?" рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИред |
openclaw.channel.persistedAuthState |
рд╣рд▓реНрдХрд╛ persisted-auth checker metadata рдЬреЛ рдкреВрд░рд╛ channel runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ "рдХреНрдпрд╛ рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ signed in рд╣реИ?" рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИред |
openclaw.install.clawhubSpec / openclaw.install.npmSpec / openclaw.install.localPath |
bundled рдФрд░ externally published Plugins рдХреЗ рд▓рд┐рдП install/update рд╕рдВрдХреЗрддред |
openclaw.install.defaultChoice |
рдЬрдм рдХрдИ install sources рдЙрдкрд▓рдмреНрдз рд╣реЛрдВ, рддрдм рдкрд╕рдВрджреАрджрд╛ install pathред |
openclaw.install.minHostVersion |
рдиреНрдпреВрдирддрдо рд╕рдорд░реНрдерд┐рдд OpenClaw host version, >=2026.3.22 рдпрд╛ >=2026.5.1-beta.1 рдЬреИрд╕реЗ semver floor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред |
openclaw.compat.pluginApi |
рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо OpenClaw plugin API range, >=2026.5.27 рдЬреИрд╕реЗ semver floor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред |
openclaw.install.expectedIntegrity |
рдЕрдкреЗрдХреНрд╖рд┐рдд npm dist integrity string рдЬреИрд╕реЗ sha512-...; install рдФрд░ update flows fetched artifact рдХреЛ рдЗрд╕рдХреЗ рд╡рд┐рд░реБрджреНрдз verify рдХрд░рддреЗ рд╣реИрдВред |
openclaw.install.allowInvalidConfigRecovery |
config рдЕрдорд╛рдиреНрдп рд╣реЛрдиреЗ рдкрд░ рдПрдХ рд╕рдВрдХреАрд░реНрдг bundled-plugin reinstall recovery path рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред |
openclaw.install.requiredPlatformPackages |
npm package aliases рдЬрд┐рдиреНрд╣реЗрдВ рддрдм materialize рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЙрдирдХреЗ lockfile platform constraints рдореМрдЬреВрджрд╛ host рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реЛрдВред |
openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen |
setup-runtime channel surfaces рдХреЛ listen рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рд╣реЛрдиреЗ рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рдкреВрд░реЗ configured channel Plugin рдХреЛ post-listen activation рддрдХ defer рдХрд░рддрд╛ рд╣реИред |
Manifest metadata рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ runtime рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ onboarding рдореЗрдВ рдХреМрди-рд╕реЗ provider/channel/setup рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрддреЗ рд╣реИрдВред package.json#openclaw.install onboarding рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм user рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрдирддрд╛ рд╣реИ рддреЛ рдЙрд╕ Plugin рдХреЛ рдХреИрд╕реЗ fetch рдпрд╛ enable рдХрд░рдирд╛ рд╣реИред install hints рдХреЛ openclaw.plugin.json рдореЗрдВ рди рд▓реЗ рдЬрд╛рдПрдВред
openclaw.install.minHostVersion non-bundled Plugin sources рдХреЗ рд▓рд┐рдП install рдФрд░ manifest registry loading рдХреЗ рджреМрд░рд╛рди enforce рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдорд╛рдиреНрдп values reject рдХреА рдЬрд╛рддреА рд╣реИрдВ; newer-but-valid values рдкреБрд░рд╛рдиреЗ hosts рдкрд░ external Plugins рдХреЛ skip рдХрд░рддреА рд╣реИрдВред Bundled source Plugins рдХреЛ host checkout рдХреЗ рд╕рд╛рде co-versioned рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
openclaw.install.requiredPlatformPackages рдЙрди npm packages рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ optional, platform-specific aliases рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡рд╢реНрдпрдХ native binaries expose рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ supported platform alias рдХреЗ рд▓рд┐рдП bare npm package name list рдХрд░реЗрдВред npm install рдХреЗ рджреМрд░рд╛рди, OpenClaw рдХреЗрд╡рд▓ рдЙрд╕ declared alias рдХреЛ verify рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ lockfile constraints рдореМрдЬреВрджрд╛ host рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ npm success report рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╣ alias omit рдХрд░рддрд╛ рд╣реИ, рддреЛ OpenClaw fresh cache рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рд░ retry рдХрд░рддрд╛ рд╣реИ рдФрд░ alias рдлрд┐рд░ рднреА missing рд╣реЛ рддреЛ install рдХреЛ roll back рдХрд░рддрд╛ рд╣реИред
openclaw.compat.pluginApi non-bundled Plugin sources рдХреЗ рд▓рд┐рдП package install рдХреЗ рджреМрд░рд╛рди enforce рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдЙрд╕ OpenClaw plugin SDK/runtime API floor рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд╡рд┐рд░реБрджреНрдз package рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ minHostVersion рд╕реЗ stricter рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА Plugin package рдХреЛ newer API рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ flows рдХреЗ рд▓рд┐рдП lower install hint рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред Official OpenClaw release sync default рд░реВрдк рд╕реЗ existing official Plugin API floors рдХреЛ OpenClaw release version рддрдХ bump рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди plugin-only releases lower floor рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм package рдЬрд╛рдирдмреВрдЭрдХрд░ older hosts рдХреЛ support рдХрд░рддрд╛ рд╣реЛред compatibility contract рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ package version рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред peerDependencies.openclaw npm package metadata рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ; OpenClaw install compatibility decisions рдХреЗ рд▓рд┐рдП openclaw.compat.pluginApi contract рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
Official install-on-demand metadata рдХреЛ clawhubSpec рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм Plugin ClawHub рдкрд░ published рд╣реЛ; onboarding рдЙрд╕реЗ preferred remote source рдорд╛рдирддрд╛ рд╣реИ рдФрд░ install рдХреЗ рдмрд╛рдж ClawHub artifact facts record рдХрд░рддрд╛ рд╣реИред npmSpec рдЙрди packages рдХреЗ рд▓рд┐рдП compatibility fallback рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА ClawHub рдкрд░ move рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред
Exact npm version pinning рдкрд╣рд▓реЗ рд╕реЗ npmSpec рдореЗрдВ рд░рд╣рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "npmSpec": "@wecom/wecom-openclaw-plugin@1.2.3"ред Official external catalog entries рдХреЛ exact specs рдХреЗ рд╕рд╛рде expectedIntegrity pair рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ update flows fail closed рд╣реЛрдВ рдпрджрд┐ fetched npm artifact рдЕрдм pinned release рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ред Interactive onboarding compatibility рдХреЗ рд▓рд┐рдП trusted registry npm specs рдЕрдм рднреА offer рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ bare package names рдФрд░ dist-tags рд╢рд╛рдорд┐рд▓ рд╣реИрдВред Catalog diagnostics exact, floating, integrity-pinned, missing-integrity, package-name mismatch, рдФрд░ invalid default-choice sources рдореЗрдВ рдЕрдВрддрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рддрдм рднреА warn рдХрд░рддреЗ рд╣реИрдВ рдЬрдм expectedIntegrity рдореМрдЬреВрдж рд╣реЛ рд▓реЗрдХрд┐рди рдХреЛрдИ valid npm source рдирд╣реАрдВ рд╣реЛ рдЬрд┐рд╕реЗ рд╡рд╣ pin рдХрд░ рд╕рдХреЗред рдЬрдм expectedIntegrity рдореМрдЬреВрдж рд╣реЛ, install/update flows рдЙрд╕реЗ enforce рдХрд░рддреЗ рд╣реИрдВ; рдЬрдм рд╡рд╣ omitted рд╣реЛ, registry resolution integrity pin рдХреЗ рдмрд┐рдирд╛ record рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Channel Plugins рдХреЛ openclaw.setupEntry рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм status, channel list, рдпрд╛ SecretRef scans рдХреЛ рдкреВрд░рд╛ runtime рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ configured accounts identify рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛред setup entry рдХреЛ channel metadata рдХреЗ рд╕рд╛рде setup-safe config, status, рдФрд░ secrets adapters expose рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП; network clients, gateway listeners, рдФрд░ transport runtimes рдХреЛ main extension entrypoint рдореЗрдВ рд░рдЦреЗрдВред
Runtime entrypoint fields source entrypoint fields рдХреЗ рд▓рд┐рдП package-boundary checks рдХреЛ override рдирд╣реАрдВ рдХрд░рддреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, openclaw.runtimeExtensions рдХрд┐рд╕реА escaping openclaw.extensions path рдХреЛ loadable рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ред
openclaw.install.allowInvalidConfigRecovery рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдВрдХреАрд░реНрдг рд╣реИред рдпрд╣ arbitrary broken configs рдХреЛ installable рдирд╣реАрдВ рдмрдирд╛рддрд╛ред рдЖрдЬ рдпрд╣ рдХреЗрд╡рд▓ install flows рдХреЛ specific stale bundled-plugin upgrade failures рд╕реЗ recover рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ missing bundled Plugin path рдпрд╛ рдЙрд╕реА bundled Plugin рдХреЗ рд▓рд┐рдП stale channels.<id> entryред Unrelated config errors рдЕрдм рднреА install block рдХрд░рддреЗ рд╣реИрдВ рдФрд░ operators рдХреЛ openclaw doctor --fix рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВред
openclaw.channel.persistedAuthState рдПрдХ tiny checker module рдХреЗ рд▓рд┐рдП package metadata рд╣реИ:
{ "openclaw": { "channel": { "id": "whatsapp", "persistedAuthState": { "specifier": "./auth-presence", "exportName": "hasAnyWhatsAppAuth" } } }}рдЗрд╕реЗ рддрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм setup, doctor, status, рдпрд╛ read-only presence flows рдХреЛ рдкреВрд░рд╛ channel Plugin рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ cheap yes/no auth probe рдЪрд╛рд╣рд┐рдПред Persisted auth state configured channel state рдирд╣реАрдВ рд╣реИ: рдЗрд╕ metadata рдХрд╛ рдЙрдкрдпреЛрдЧ Plugins рдХреЛ auto-enable рдХрд░рдиреЗ, runtime dependencies repair рдХрд░рдиреЗ, рдпрд╛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рди рдХрд░реЗрдВ рдХрд┐ channel runtime load рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред target export рдПрдХ small function рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХреЗрд╡рд▓ persisted state рдкрдврд╝рддрд╛ рд╣реЛ; рдЗрд╕реЗ full channel runtime barrel рдХреЗ through route рди рдХрд░реЗрдВред
openclaw.channel.configuredState cheap env-only configured checks рдХреЗ рд▓рд┐рдП рд╡рд╣реА shape follow рдХрд░рддрд╛ рд╣реИ:
{ "openclaw": { "channel": { "id": "telegram", "configuredState": { "specifier": "./configured-state", "exportName": "hasTelegramConfiguredState" } } }}рдЗрд╕реЗ рддрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм рдХреЛрдИ channel env рдпрд╛ рдЕрдиреНрдп tiny non-runtime inputs рд╕реЗ configured-state рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реЛред рдпрджрд┐ check рдХреЛ full config resolution рдпрд╛ real channel runtime рдЪрд╛рд╣рд┐рдП, рддреЛ рдЙрд╕ logic рдХреЛ Plugin config.hasConfiguredState hook рдореЗрдВ рд╣реА рд░рдЦреЗрдВред
Discovery precedence (duplicate plugin ids)
OpenClaw рдХрдИ roots рд╕реЗ Plugins discover рдХрд░рддрд╛ рд╣реИред raw filesystem scan order рдХреЗ рд▓рд┐рдП, Plugin scan
order рджреЗрдЦреЗрдВред рдпрджрд┐ рджреЛ discoveries рдХрд╛ рд╕рдорд╛рди id рд╣реИ, рддреЛ рдХреЗрд╡рд▓ highest-precedence manifest рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ; lower-precedence duplicates рдХреЛ рд╕рд╛рде рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп drop рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Precedence, highest to lowest:
- Config-selected тАФ
plugins.entries.<id>рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ pinned path - Bundled тАФ OpenClaw рдХреЗ рд╕рд╛рде shipped Plugins
- Global install тАФ global OpenClaw Plugin root рдореЗрдВ installed Plugins
- Workspace тАФ рдореМрдЬреВрджрд╛ workspace рдХреЗ relative discover рдХрд┐рдП рдЧрдП Plugins
Implications:
- workspace рдореЗрдВ рдкрдбрд╝реА bundled Plugin рдХреА forked рдпрд╛ stale copy bundled build рдХреЛ shadow рдирд╣реАрдВ рдХрд░реЗрдЧреАред
- bundled Plugin рдХреЛ local one рд╕реЗ рд╕рдЪ рдореЗрдВ override рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ
plugins.entries.<id>рдХреЗ рдЬрд░рд┐рдП pin рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡рд╣ workspace discovery рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреЗ рдмрдЬрд╛рдп precedence рд╕реЗ рдЬреАрддреЗред - Duplicate drops log рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ Doctor рдФрд░ startup diagnostics discarded copy рдХреА рдУрд░ point рдХрд░ рд╕рдХреЗрдВред
- Config-selected duplicate overrides diagnostics рдореЗрдВ explicit overrides рдХреЗ рд░реВрдк рдореЗрдВ word рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА warn рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ stale forks рдФрд░ accidental shadows visible рд░рд╣реЗрдВред
JSON Schema requirements
- рд╣рд░ Plugin рдХреЛ JSON Schema рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рд╡рд╣ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕реНрд╡реАрдХрд╛рд░ рди рдХрд░рддрд╛ рд╣реЛред
- рдЦрд╛рд▓реА рд╕реНрдХреАрдорд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
{ "type": "object", "additionalProperties": false })ред - рд╕реНрдХреАрдорд╛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
- рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП Plugin рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдпрд╛ рдлрд╝реЛрд░реНрдХ рдХрд░рддреЗ рд╕рдордп, рдЙрд╕реА рд╕рдордп рдЙрд╕ Plugin рдХреЗ
openclaw.plugin.jsonconfigSchemaрдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП Plugin рд╕реНрдХреАрдорд╛ рд╕рдЦреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдПconfigSchema.propertiesрдореЗрдВmyNewKeyрдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдореЗрдВplugins.entries.<id>.config.myNewKeyрдЬреЛрдбрд╝рдирд╛ Plugin рд░рдирдЯрд╛рдЗрдо рд▓реЛрдб рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреАрдорд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди:
{ "configSchema": { "type": "object", "additionalProperties": false, "properties": { "myNewKey": { "type": "string" } } }}рд╕рддреНрдпрд╛рдкрди рд╡реНрдпрд╡рд╣рд╛рд░
- рдЕрдЬреНрдЮрд╛рдд
channels.*рдХреБрдВрдЬрд┐рдпрд╛рдБ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рдЬрдм рддрдХ рдЪреИрдирд▓ id рдХреЛ рдХрд┐рд╕реА Plugin рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред plugins.entries.<id>,plugins.allow,plugins.deny, рдФрд░plugins.slots.*рдХреЛ рдЦреЛрдЬреЗ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ Plugin ids рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЬреНрдЮрд╛рдд ids рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВред- рдпрджрд┐ рдХреЛрдИ Plugin рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдпрд╛ рд╕реНрдХреАрдорд╛ рдЯреВрдЯрд╛ рд╣реБрдЖ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ Doctor Plugin рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред
- рдпрджрд┐ Plugin рдХреЙрдиреНрдлрд╝рд┐рдЧ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди Plugin рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ Doctor + рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИред
рдкреВрд░реНрдг plugins.* рд╕реНрдХреАрдорд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдВрджрд░реНрдн рджреЗрдЦреЗрдВред
рдиреЛрдЯреНрд╕
- рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореВрд▓ OpenClaw Plugin рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд▓реЛрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд░рдирдЯрд╛рдЗрдо рдлрд┐рд░ рднреА Plugin рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ; рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдХреЗрд╡рд▓ рдЦреЛрдЬ + рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╣реИред
- рдореВрд▓ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ JSON5 рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, trailing commas, рдФрд░ unquoted keys рддрдм рддрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдЕрдВрддрд┐рдо рдорд╛рди рдЕрднреА рднреА рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛред
- рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рд▓реЛрдбрд░ рдХреЗрд╡рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝рд┐рдд рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдкрдврд╝рддрд╛ рд╣реИред рдХрд╕реНрдЯрдо рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рдмрдЪреЗрдВред
- рдЬрдм рдХрд┐рд╕реА Plugin рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рддреЛ
channels,providers,cliBackends, рдФрд░skillsрд╕рднреА рдЫреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред providerCatalogEntryрд╣рд▓реНрдХрд╛ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЗрд╕реЗ рд╕реНрдерд┐рд░ provider catalog рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдпрд╛ рд╕рдВрдХреАрд░реНрдг рдЦреЛрдЬ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, request-time execution рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред- рд╡рд┐рд╢рд┐рд╖реНрдЯ Plugin рдкреНрд░рдХрд╛рд░
plugins.slots.*рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪреБрдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ:plugins.slots.memoryрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗkind: "memory",plugins.slots.contextEngineрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗkind: "context-engine"(рдбрд┐рдлрд╝реЙрд▓реНрдЯlegacy)ред - рдЗрд╕ рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ Plugin рдкреНрд░рдХрд╛рд░ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред Runtime-entry
OpenClawPluginDefinition.kinddeprecated рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ Plugin рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ compatibility fallback рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред - Env-var рдореЗрдЯрд╛рдбреЗрдЯрд╛ (
setup.providers[].envVars, deprecatedproviderAuthEnvVars, рдФрд░channelEnvVars) рдХреЗрд╡рд▓ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИред Status, audit, Cron delivery validation, рдФрд░ рдЕрдиреНрдп read-only surfaces рдЕрднреА рднреА рдХрд┐рд╕реА env var рдХреЛ configured рдорд╛рдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Plugin trust рдФрд░ effective activation policy рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред - provider code рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ runtime wizard metadata рдХреЗ рд▓рд┐рдП, Provider runtime hooks рджреЗрдЦреЗрдВред
- рдпрджрд┐ рдЖрдкрдХрд╛ Plugin native modules рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ build steps рдФрд░ рдХрд┐рд╕реА рднреА package-manager allowlist рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, pnpm
allow-build-scripts+pnpm rebuild <package>)ред