From 3692dbf23b9082fde691a48cfa8e1073fbc009df Mon Sep 17 00:00:00 2001 From: "openclaw-docs-sync[bot]" Date: Mon, 27 Apr 2026 08:29:11 +0000 Subject: [PATCH] chore(sync): mirror docs from openclaw/openclaw@a60f15c6118fef698313b270b99ff198e7ec254f --- .openclaw-sync/source.json | 4 ++-- docs/plugins/manifest.md | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 5046bf2df..fe0e23301 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "a95da5b52db09700a1c117dcbd04547579496b7d", - "syncedAt": "2026-04-27T08:26:35.212Z" + "sha": "a60f15c6118fef698313b270b99ff198e7ec254f", + "syncedAt": "2026-04-27T08:27:51.929Z" } diff --git a/docs/plugins/manifest.md b/docs/plugins/manifest.md index afac720bd..b727ed1cb 100644 --- a/docs/plugins/manifest.md +++ b/docs/plugins/manifest.md @@ -144,6 +144,7 @@ or npm install metadata. Those belong in your plugin code and `package.json`. | `providerDiscoveryEntry` | No | `string` | Lightweight provider-discovery module path, relative to the plugin root, for manifest-scoped provider catalog metadata that can be loaded without activating the full plugin runtime. | | `modelSupport` | No | `object` | Manifest-owned shorthand model-family metadata used to auto-load the plugin before runtime. | | `modelCatalog` | No | `object` | Declarative model catalog metadata for providers owned by this plugin. This is the control-plane contract for future read-only listing, onboarding, model pickers, aliases, and suppression without loading plugin runtime. | +| `modelPricing` | No | `object` | Provider-owned external pricing lookup policy. Use it to opt local/self-hosted providers out of remote pricing catalogs or map provider refs to OpenRouter/LiteLLM catalog ids without hardcoding provider ids in core. | | `providerEndpoints` | No | `object[]` | Manifest-owned endpoint host/baseUrl metadata for provider routes that core must classify before provider runtime loads. | | `cliBackends` | No | `string[]` | CLI inference backend ids owned by this plugin. Used for startup auto-activation from explicit config refs. | | `syntheticAuthRefs` | No | `string[]` | Provider or CLI backend refs whose plugin-owned synthetic auth hook should be probed during cold model discovery before runtime loads. | @@ -744,6 +745,47 @@ Do not put runtime-only data in `modelCatalog`. If a provider needs account state, an API request, or local process discovery to know the complete model set, declare that provider as `refreshable` or `runtime` in `discovery`. +## modelPricing reference + +Use `modelPricing` when a provider needs control-plane pricing behavior before +runtime loads. The Gateway pricing cache reads this metadata without importing +provider runtime code. + +```json +{ + "providers": ["ollama", "openrouter"], + "modelPricing": { + "providers": { + "ollama": { + "external": false + }, + "openrouter": { + "openRouter": { + "passthroughProviderModel": true + }, + "liteLLM": false + } + } + } +} +``` + +Provider fields: + +| Field | Type | What it means | +| ------------ | ----------------- | -------------------------------------------------------------------------------------------------- | +| `external` | `boolean` | Set `false` for local/self-hosted providers that should never fetch OpenRouter or LiteLLM pricing. | +| `openRouter` | `false \| object` | OpenRouter pricing lookup mapping. `false` disables OpenRouter lookup for this provider. | +| `liteLLM` | `false \| object` | LiteLLM pricing lookup mapping. `false` disables LiteLLM lookup for this provider. | + +Source fields: + +| Field | Type | What it means | +| -------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------- | +| `provider` | `string` | External catalog provider id when it differs from the OpenClaw provider id, for example `z-ai` for a `zai` provider. | +| `passthroughProviderModel` | `boolean` | Treat slash-containing model ids as nested provider/model refs, useful for proxy providers such as OpenRouter. | +| `modelIdTransforms` | `"version-dots"[]` | Extra external catalog model-id variants. `version-dots` tries dotted version ids like `claude-opus-4.6`. | + ### OpenClaw Provider Index The OpenClaw Provider Index is OpenClaw-owned preview metadata for providers