

























@@ -144,6 +144,7 @@ or npm install metadata. Those belong in your plugin code and `package.json`.
144144| `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. |
145145| `modelSupport` | No | `object` | Manifest-owned shorthand model-family metadata used to auto-load the plugin before runtime. |
146146| `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. |
147+| `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. |
147148| `providerEndpoints` | No | `object[]` | Manifest-owned endpoint host/baseUrl metadata for provider routes that core must classify before provider runtime loads. |
148149| `cliBackends` | No | `string[]` | CLI inference backend ids owned by this plugin. Used for startup auto-activation from explicit config refs. |
149150| `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
744745state, an API request, or local process discovery to know the complete model
745746set, declare that provider as `refreshable` or `runtime` in `discovery`.
746747748+## modelPricing reference
749+750+Use `modelPricing` when a provider needs control-plane pricing behavior before
751+runtime loads. The Gateway pricing cache reads this metadata without importing
752+provider runtime code.
753+754+```json
755+{
756+"providers": ["ollama", "openrouter"],
757+"modelPricing": {
758+"providers": {
759+"ollama": {
760+"external": false
761+ },
762+"openrouter": {
763+"openRouter": {
764+"passthroughProviderModel": true
765+ },
766+"liteLLM": false
767+ }
768+ }
769+ }
770+}
771+```
772+773+Provider fields:
774+775+| Field | Type | What it means |
776+| ------------ | ----------------- | -------------------------------------------------------------------------------------------------- |
777+| `external` | `boolean` | Set `false` for local/self-hosted providers that should never fetch OpenRouter or LiteLLM pricing. |
778+| `openRouter` | `false \| object` | OpenRouter pricing lookup mapping. `false` disables OpenRouter lookup for this provider. |
779+| `liteLLM` | `false \| object` | LiteLLM pricing lookup mapping. `false` disables LiteLLM lookup for this provider. |
780+781+Source fields:
782+783+| Field | Type | What it means |
784+| -------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------- |
785+| `provider` | `string` | External catalog provider id when it differs from the OpenClaw provider id, for example `z-ai` for a `zai` provider. |
786+| `passthroughProviderModel` | `boolean` | Treat slash-containing model ids as nested provider/model refs, useful for proxy providers such as OpenRouter. |
787+| `modelIdTransforms` | `"version-dots"[]` | Extra external catalog model-id variants. `version-dots` tries dotted version ids like `claude-opus-4.6`. |
788+747789### OpenClaw Provider Index
748790749791The OpenClaw Provider Index is OpenClaw-owned preview metadata for providers
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。