From c83c37b4d29aee2d2cae312d4c9bc2dd593fbd84 Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Wed, 17 Jun 2026 06:59:19 +0800 Subject: [PATCH] docs(providers): document ClawRouter integration --- .github/labeler.yml | 5 ++ docs/docs.json | 1 + docs/plugins/plugin-inventory.md | 4 +- docs/plugins/reference.md | 2 +- docs/plugins/reference/clawrouter.md | 23 +++++++++ docs/providers/clawrouter.md | 58 +++++++++++++++++++++++ docs/providers/index.md | 1 + scripts/generate-plugin-inventory-doc.mjs | 1 + 8 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 docs/plugins/reference/clawrouter.md create mode 100644 docs/providers/clawrouter.md diff --git a/.github/labeler.yml b/.github/labeler.yml index a169ec108c3..1f75d56fdd5 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -381,6 +381,11 @@ - changed-files: - any-glob-to-any-file: - "extensions/anthropic/**" +"extensions: clawrouter": + - changed-files: + - any-glob-to-any-file: + - "extensions/clawrouter/**" + - "docs/providers/clawrouter.md" "extensions: cloudflare-ai-gateway": - changed-files: - any-glob-to-any-file: diff --git a/docs/docs.json b/docs/docs.json index 810e4a6c5ca..1b3f393e712 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1418,6 +1418,7 @@ "providers/cerebras", "providers/chutes", "providers/claude-max-api-proxy", + "providers/clawrouter", "providers/cloudflare-ai-gateway", "providers/comfy", "providers/deepgram", diff --git a/docs/plugins/plugin-inventory.md b/docs/plugins/plugin-inventory.md index 27f016c9171..b229ed92c20 100644 --- a/docs/plugins/plugin-inventory.md +++ b/docs/plugins/plugin-inventory.md @@ -51,7 +51,7 @@ Each entry lists the package, distribution route, and description. ## Core npm package -90 plugins +91 plugins - **[admin-http-rpc](/plugins/reference/admin-http-rpc)** (`@openclaw/admin-http-rpc`) - included in OpenClaw. OpenClaw admin HTTP RPC endpoint. @@ -75,6 +75,8 @@ Each entry lists the package, distribution route, and description. - **[chutes](/plugins/reference/chutes)** (`@openclaw/chutes-provider`) - included in OpenClaw. Adds Chutes model provider support to OpenClaw. +- **[clawrouter](/plugins/reference/clawrouter)** (`@openclaw/clawrouter-provider`) - included in OpenClaw. Adds ClawRouter model provider support to OpenClaw. + - **[clickclack](/plugins/reference/clickclack)** (`@openclaw/clickclack`) - included in OpenClaw. Adds the Clickclack channel surface for sending and receiving OpenClaw messages. - **[cloudflare-ai-gateway](/plugins/reference/cloudflare-ai-gateway)** (`@openclaw/cloudflare-ai-gateway-provider`) - included in OpenClaw. Adds Cloudflare AI Gateway model provider support to OpenClaw. diff --git a/docs/plugins/reference.md b/docs/plugins/reference.md index 6a70cf7aeb3..d04bc31a2f5 100644 --- a/docs/plugins/reference.md +++ b/docs/plugins/reference.md @@ -15,5 +15,5 @@ This page is generated from `extensions/*/package.json` and pnpm plugins:inventory:gen ``` -Use [Plugin inventory](/plugins/plugin-inventory) to browse all 127 +Use [Plugin inventory](/plugins/plugin-inventory) to browse all 128 generated plugin reference pages by distribution, package, and description. diff --git a/docs/plugins/reference/clawrouter.md b/docs/plugins/reference/clawrouter.md new file mode 100644 index 00000000000..c758d769160 --- /dev/null +++ b/docs/plugins/reference/clawrouter.md @@ -0,0 +1,23 @@ +--- +summary: "Adds ClawRouter model provider support to OpenClaw." +read_when: + - You are installing, configuring, or auditing the clawrouter plugin +title: "ClawRouter plugin" +--- + +# ClawRouter plugin + +Adds ClawRouter model provider support to OpenClaw. + +## Distribution + +- Package: `@openclaw/clawrouter-provider` +- Install route: included in OpenClaw + +## Surface + +providers: clawrouter + +## Related docs + +- [clawrouter](/providers/clawrouter) diff --git a/docs/providers/clawrouter.md b/docs/providers/clawrouter.md new file mode 100644 index 00000000000..d943a370562 --- /dev/null +++ b/docs/providers/clawrouter.md @@ -0,0 +1,58 @@ +--- +summary: "Use one managed ClawRouter key to access approved providers in OpenClaw" +title: "ClawRouter" +read_when: + - You have a ClawRouter proxy key + - Your team centrally manages provider access and grants + - You want OpenClaw to discover only the models you can use +--- + +ClawRouter gives OpenClaw one managed credential for approved model providers. +The upstream API keys, OAuth grants, and subscription credentials stay in +ClawRouter. + +## Setup + +Authenticate with the proxy key issued by your ClawRouter administrator: + +```bash +openclaw onboard --auth-choice clawrouter-api-key +``` + +Or provide it through the environment: + +```bash +export CLAWROUTER_API_KEY="clawrouter-live-..." +``` + +OpenClaw asks `https://clawrouter.openclaw.ai/v1/catalog` for the models granted +to that key and caches the credential-scoped result for a short period. Model +references keep the ClawRouter provider prefix: + +```bash +openclaw models list --provider clawrouter +openclaw models set clawrouter/openai/gpt-5.5-mini +``` + +ClawRouter publishes the real transport for each model. OpenClaw uses the +unified OpenAI route when available and the provider-native Anthropic or Gemini +route when required. + +## Custom deployment + +For a self-hosted ClawRouter, configure its API base URL: + +```json5 +{ + models: { + providers: { + clawrouter: { + baseUrl: "https://clawrouter.example/v1", + }, + }, + }, +} +``` + +The proxy key still determines which providers and models are visible and +usable. Grant changes appear after the short discovery cache expires. diff --git a/docs/providers/index.md b/docs/providers/index.md index 02bcafa299d..3eec37ef867 100644 --- a/docs/providers/index.md +++ b/docs/providers/index.md @@ -33,6 +33,7 @@ Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/Mattermost (plugi - [BytePlus (International)](/concepts/model-providers#byteplus-international) - [Cerebras](/providers/cerebras) - [Chutes](/providers/chutes) +- [ClawRouter](/providers/clawrouter) - [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway) - [ComfyUI](/providers/comfy) - [DeepSeek](/providers/deepseek) diff --git a/scripts/generate-plugin-inventory-doc.mjs b/scripts/generate-plugin-inventory-doc.mjs index d2c36cb7eec..427c81a2970 100644 --- a/scripts/generate-plugin-inventory-doc.mjs +++ b/scripts/generate-plugin-inventory-doc.mjs @@ -109,6 +109,7 @@ function humanizeId(value) { ["byteplus", "BytePlus"], ["codex", "Codex"], ["cli", "CLI"], + ["clawrouter", "ClawRouter"], ["comfy", "ComfyUI"], ["dashscope", "DashScope"], ["deepgram", "Deepgram"],