diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 3559a985e..9e33941b3 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "23a017be7cbeeec35cd9bf8814135b4a33bef644", - "syncedAt": "2026-04-22T03:11:18.851Z" + "sha": "3528a17b67255a7919361a97269b620d0a5047ac", + "syncedAt": "2026-04-22T03:52:29.670Z" } diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256 index 9c00682ff..482b274e5 100644 --- a/docs/.generated/plugin-sdk-api-baseline.sha256 +++ b/docs/.generated/plugin-sdk-api-baseline.sha256 @@ -1,2 +1,2 @@ -8ac8add8354dc1af76b9aa6f15f7fdcc5265b0bdaf72ea7fc1d3d11bc9f74b8c plugin-sdk-api-baseline.json -83310e1d3ea75e9216300ed36e61fdfcfdb6bba7d5c0df62cbfe03ec93565b73 plugin-sdk-api-baseline.jsonl +cf3b7869a6870b51bfab5543a27f5f55a2754c59c268906d33b4da91352ab9bb plugin-sdk-api-baseline.json +6938561c972c419925ac17eb10d5d857502d339603de2cf4ece127827676da5f plugin-sdk-api-baseline.jsonl diff --git a/docs/cli/index.md b/docs/cli/index.md index 72c979d0b..7d817a6d9 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -1532,6 +1532,9 @@ Options: - `--json` - `--plain` +`--all` includes bundled provider-owned static catalog rows before auth is +configured. Rows remain unavailable until matching provider credentials exist. + ### `models status` Options: diff --git a/docs/cli/models.md b/docs/cli/models.md index 09285f64e..c5af42c71 100644 --- a/docs/cli/models.md +++ b/docs/cli/models.md @@ -43,6 +43,9 @@ Probe rows can come from auth profiles, env credentials, or `models.json`. Notes: - `models set ` accepts `provider/model` or an alias. +- `models list --all` includes bundled provider-owned static catalog rows even + when you have not authenticated with that provider yet. Those rows still show + as unavailable until matching auth is configured. - Model refs are parsed by splitting on the **first** `/`. If the model ID includes `/` (OpenRouter-style), include the provider prefix (example: `openrouter/moonshotai/kimi-k2`). - If you omit the provider, OpenClaw resolves the input as an alias first, then as a unique configured-provider match for that exact model id, and only then diff --git a/docs/concepts/model-providers.md b/docs/concepts/model-providers.md index 1ee82bacc..d8676d514 100644 --- a/docs/concepts/model-providers.md +++ b/docs/concepts/model-providers.md @@ -390,7 +390,8 @@ OpenClaw ships with the pi‑ai catalog. These providers require **no** - Provider: `vercel-ai-gateway` - Auth: `AI_GATEWAY_API_KEY` -- Example model: `vercel-ai-gateway/anthropic/claude-opus-4.6` +- Example models: `vercel-ai-gateway/anthropic/claude-opus-4.6`, + `vercel-ai-gateway/moonshotai/kimi-k2.6` - CLI: `openclaw onboard --auth-choice ai-gateway-api-key` ### Kilo Gateway @@ -411,7 +412,7 @@ See [/providers/kilocode](/providers/kilocode) for setup details. ### Other bundled provider plugins - OpenRouter: `openrouter` (`OPENROUTER_API_KEY`) -- Example model: `openrouter/auto` +- Example models: `openrouter/auto`, `openrouter/moonshotai/kimi-k2.6` - OpenClaw applies OpenRouter's documented app-attribution headers only when the request actually targets `openrouter.ai` - OpenRouter-specific Anthropic `cache_control` markers are likewise gated to diff --git a/docs/concepts/models.md b/docs/concepts/models.md index 18bcec18d..11495fbab 100644 --- a/docs/concepts/models.md +++ b/docs/concepts/models.md @@ -167,6 +167,10 @@ Shows configured models by default. Useful flags: - `--plain`: one model per line - `--json`: machine‑readable output +`--all` includes bundled provider-owned static catalog rows before auth is +configured, so discovery-only views can show models that are unavailable until +you add matching provider credentials. + ### `models status` Shows the resolved primary model, fallbacks, image model, and an auth overview diff --git a/docs/plugins/sdk-provider-plugins.md b/docs/plugins/sdk-provider-plugins.md index 1b1ec7938..03c68fd10 100644 --- a/docs/plugins/sdk-provider-plugins.md +++ b/docs/plugins/sdk-provider-plugins.md @@ -229,11 +229,24 @@ API key auth, and dynamic model resolution. baseUrl: "https://api.acme-ai.com/v1", models: [{ id: "acme-large", name: "Acme Large" }], }), + buildStaticProvider: () => ({ + api: "openai-completions", + baseUrl: "https://api.acme-ai.com/v1", + models: [{ id: "acme-large", name: "Acme Large" }], + }), }, }, }); ``` + `buildProvider` is the live catalog path used when OpenClaw can resolve real + provider auth. It may perform provider-specific discovery. Use + `buildStaticProvider` only for offline rows that are safe to show before auth + is configured; it must not require credentials or make network requests. + OpenClaw's `models list --all` display currently executes static catalogs + only for bundled provider plugins, with an empty config, empty env, and no + agent/workspace paths. + If your auth flow also needs to patch `models.providers.*`, aliases, and the agent default model during onboarding, use the preset helpers from `openclaw/plugin-sdk/provider-onboard`. The narrowest helpers are diff --git a/docs/providers/openrouter.md b/docs/providers/openrouter.md index a93449702..8e6234ff4 100644 --- a/docs/providers/openrouter.md +++ b/docs/providers/openrouter.md @@ -52,6 +52,15 @@ Model refs follow the pattern `openrouter//`. For the full list available providers and models, see [/concepts/model-providers](/concepts/model-providers). +Bundled fallback examples: + +| Model ref | Notes | +| ------------------------------------ | ----------------------------- | +| `openrouter/auto` | OpenRouter automatic routing | +| `openrouter/moonshotai/kimi-k2.6` | Kimi K2.6 via MoonshotAI | +| `openrouter/openrouter/healer-alpha` | OpenRouter Healer Alpha route | +| `openrouter/openrouter/hunter-alpha` | OpenRouter Hunter Alpha route | + ## Authentication and headers OpenRouter uses a Bearer token with your API key under the hood. diff --git a/docs/providers/vercel-ai-gateway.md b/docs/providers/vercel-ai-gateway.md index 9b844735c..66fa62b6f 100644 --- a/docs/providers/vercel-ai-gateway.md +++ b/docs/providers/vercel-ai-gateway.md @@ -21,7 +21,8 @@ access hundreds of models through a single endpoint. OpenClaw auto-discovers the Gateway `/v1/models` catalog, so `/models vercel-ai-gateway` includes current model refs such as -`vercel-ai-gateway/openai/gpt-5.4`. +`vercel-ai-gateway/openai/gpt-5.4` and +`vercel-ai-gateway/moonshotai/kimi-k2.6`. ## Getting started @@ -102,7 +103,8 @@ configuration. OpenClaw resolves the canonical form automatically. Vercel AI Gateway routes requests to the upstream provider based on the model ref prefix. For example, `vercel-ai-gateway/anthropic/claude-opus-4.6` routes through Anthropic, while `vercel-ai-gateway/openai/gpt-5.4` routes through - OpenAI. Your single `AI_GATEWAY_API_KEY` handles authentication for all + OpenAI and `vercel-ai-gateway/moonshotai/kimi-k2.6` routes through + MoonshotAI. Your single `AI_GATEWAY_API_KEY` handles authentication for all upstream providers.