diff --git a/docs/docs.json b/docs/docs.json
index e74565e4427..b6530a0f828 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -1184,6 +1184,7 @@
"tools/plugin",
"plugins/community",
"plugins/plugin-inventory",
+ "plugins/reference",
"plugins/bundles",
"plugins/dependency-resolution",
"plugins/codex-harness",
diff --git a/docs/plugins/plugin-inventory.md b/docs/plugins/plugin-inventory.md
index 1b9461cec23..c02b4b06adf 100644
--- a/docs/plugins/plugin-inventory.md
+++ b/docs/plugins/plugin-inventory.md
@@ -28,130 +28,130 @@ dependencies are available.
## Core npm package
-| Plugin | Package | Surface | Install |
-| --------------------------------------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
-| [alibaba](/providers/alibaba) | `@openclaw/alibaba-provider` | contracts: videoGenerationProviders | included in OpenClaw |
-| [amazon-bedrock](/providers/bedrock) | `@openclaw/amazon-bedrock-provider` | providers: amazon-bedrock; contracts: memoryEmbeddingProviders | included in OpenClaw |
-| [amazon-bedrock-mantle](/providers/bedrock-mantle) | `@openclaw/amazon-bedrock-mantle-provider` | providers: amazon-bedrock-mantle | included in OpenClaw |
-| [anthropic](/providers/anthropic) | `@openclaw/anthropic-provider` | providers: anthropic; contracts: mediaUnderstandingProviders | included in OpenClaw |
-| anthropic-vertex | `@openclaw/anthropic-vertex-provider` | providers: anthropic-vertex | included in OpenClaw |
-| [arcee](/providers/arcee) | `@openclaw/arcee-provider` | providers: arcee | included in OpenClaw |
-| [azure-speech](/providers/azure-speech) | `@openclaw/azure-speech` | contracts: speechProviders | included in OpenClaw |
-| bonjour | `@openclaw/bonjour` | plugin | included in OpenClaw |
-| [browser](/tools/browser) | `@openclaw/browser-plugin` | contracts: tools; skills | included in OpenClaw |
-| byteplus | `@openclaw/byteplus-provider` | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders | included in OpenClaw |
-| [cerebras](/providers/cerebras) | `@openclaw/cerebras-provider` | providers: cerebras | included in OpenClaw |
-| [chutes](/providers/chutes) | `@openclaw/chutes-provider` | providers: chutes | included in OpenClaw |
-| [cloudflare-ai-gateway](/providers/cloudflare-ai-gateway) | `@openclaw/cloudflare-ai-gateway-provider` | providers: cloudflare-ai-gateway | included in OpenClaw |
-| [comfy](/providers/comfy) | `@openclaw/comfy-provider` | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders | included in OpenClaw |
-| copilot-proxy | `@openclaw/copilot-proxy` | providers: copilot-proxy | included in OpenClaw |
-| [deepgram](/providers/deepgram) | `@openclaw/deepgram-provider` | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders | included in OpenClaw |
-| [deepinfra](/providers/deepinfra) | `@openclaw/deepinfra-provider` | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders | included in OpenClaw |
-| [deepseek](/providers/deepseek) | `@openclaw/deepseek-provider` | providers: deepseek | included in OpenClaw |
-| [discord](/channels/discord) | `@openclaw/discord` | channels: discord | included in OpenClaw |
-| [document-extract](/tools/pdf) | `@openclaw/document-extract-plugin` | contracts: documentExtractors | included in OpenClaw |
-| [duckduckgo](/tools/duckduckgo-search) | `@openclaw/duckduckgo-plugin` | contracts: webSearchProviders | included in OpenClaw |
-| [elevenlabs](/providers/elevenlabs) | `@openclaw/elevenlabs-speech` | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders | included in OpenClaw |
-| [exa](/tools/exa-search) | `@openclaw/exa-plugin` | contracts: webSearchProviders | included in OpenClaw |
-| [fal](/providers/fal) | `@openclaw/fal-provider` | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders | included in OpenClaw |
-| file-transfer | `@openclaw/file-transfer` | contracts: tools | included in OpenClaw |
-| [firecrawl](/tools/firecrawl) | `@openclaw/firecrawl-plugin` | contracts: tools, webFetchProviders, webSearchProviders | included in OpenClaw |
-| [fireworks](/providers/fireworks) | `@openclaw/fireworks-provider` | providers: fireworks | included in OpenClaw |
-| [github-copilot](/providers/github-copilot) | `@openclaw/github-copilot-provider` | providers: github-copilot; contracts: memoryEmbeddingProviders | included in OpenClaw |
-| [google](/providers/google) | `@openclaw/google-plugin` | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders | included in OpenClaw |
-| [gradium](/providers/gradium) | `@openclaw/gradium-speech` | contracts: speechProviders | included in OpenClaw |
-| [groq](/providers/groq) | `@openclaw/groq-provider` | providers: groq; contracts: mediaUnderstandingProviders | included in OpenClaw |
-| [huggingface](/providers/huggingface) | `@openclaw/huggingface-provider` | providers: huggingface | included in OpenClaw |
-| [imessage](/channels/imessage) | `@openclaw/imessage` | channels: imessage | included in OpenClaw |
-| [inworld](/providers/inworld) | `@openclaw/inworld-speech` | contracts: speechProviders | included in OpenClaw |
-| [irc](/channels/irc) | `@openclaw/irc` | channels: irc | included in OpenClaw |
-| [kilocode](/providers/kilocode) | `@openclaw/kilocode-provider` | providers: kilocode | included in OpenClaw |
-| [kimi](/providers/moonshot) | `@openclaw/kimi-provider` | providers: kimi, kimi-coding | included in OpenClaw |
-| [litellm](/providers/litellm) | `@openclaw/litellm-provider` | providers: litellm; contracts: imageGenerationProviders | included in OpenClaw |
-| llm-task | `@openclaw/llm-task` | contracts: tools | included in OpenClaw |
-| [lmstudio](/providers/lmstudio) | `@openclaw/lmstudio-provider` | providers: lmstudio; contracts: memoryEmbeddingProviders | included in OpenClaw |
-| memory-core | `@openclaw/memory-core` | contracts: memoryEmbeddingProviders, tools | included in OpenClaw |
-| [memory-wiki](/plugins/memory-wiki) | `@openclaw/memory-wiki` | contracts: tools; skills | included in OpenClaw |
-| microsoft | `@openclaw/microsoft-speech` | contracts: speechProviders | included in OpenClaw |
-| microsoft-foundry | `@openclaw/microsoft-foundry` | providers: microsoft-foundry | included in OpenClaw |
-| migrate-claude | `@openclaw/migrate-claude` | contracts: migrationProviders | included in OpenClaw |
-| migrate-hermes | `@openclaw/migrate-hermes` | contracts: migrationProviders | included in OpenClaw |
-| [minimax](/providers/minimax) | `@openclaw/minimax-provider` | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders | included in OpenClaw |
-| [mistral](/providers/mistral) | `@openclaw/mistral-provider` | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders | included in OpenClaw |
-| [moonshot](/providers/moonshot) | `@openclaw/moonshot-provider` | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders | included in OpenClaw |
-| [nvidia](/providers/nvidia) | `@openclaw/nvidia-provider` | providers: nvidia | included in OpenClaw |
-| [ollama](/providers/ollama) | `@openclaw/ollama-provider` | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders | included in OpenClaw |
-| open-prose | `@openclaw/open-prose` | skills | included in OpenClaw |
-| [openai](/providers/openai) | `@openclaw/openai-provider` | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders | included in OpenClaw |
-| [opencode](/providers/opencode) | `@openclaw/opencode-provider` | providers: opencode; contracts: mediaUnderstandingProviders | included in OpenClaw |
-| [opencode-go](/providers/opencode-go) | `@openclaw/opencode-go-provider` | providers: opencode-go; contracts: mediaUnderstandingProviders | included in OpenClaw |
-| [openrouter](/providers/openrouter) | `@openclaw/openrouter-provider` | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders | included in OpenClaw |
-| openshell | `@openclaw/openshell-sandbox` | plugin | included in OpenClaw |
-| [perplexity](/tools/perplexity-search) | `@openclaw/perplexity-plugin` | contracts: webSearchProviders | included in OpenClaw |
-| [qianfan](/providers/qianfan) | `@openclaw/qianfan-provider` | providers: qianfan | included in OpenClaw |
-| [qwen](/providers/qwen) | `@openclaw/qwen-provider` | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders | included in OpenClaw |
-| [runway](/providers/runway) | `@openclaw/runway-provider` | contracts: videoGenerationProviders | included in OpenClaw |
-| searxng | `@openclaw/searxng-plugin` | contracts: webSearchProviders | included in OpenClaw |
-| [senseaudio](/providers/senseaudio) | `@openclaw/senseaudio-provider` | contracts: mediaUnderstandingProviders | included in OpenClaw |
-| [sglang](/providers/sglang) | `@openclaw/sglang-provider` | providers: sglang | included in OpenClaw |
-| [signal](/channels/signal) | `@openclaw/signal` | channels: signal | included in OpenClaw |
-| [skill-workshop](/plugins/skill-workshop) | `@openclaw/skill-workshop` | contracts: tools | included in OpenClaw |
-| [slack](/channels/slack) | `@openclaw/slack` | channels: slack | included in OpenClaw |
-| [stepfun](/providers/stepfun) | `@openclaw/stepfun-provider` | providers: stepfun, stepfun-plan | included in OpenClaw |
-| [synthetic](/providers/synthetic) | `@openclaw/synthetic-provider` | providers: synthetic | included in OpenClaw |
-| [tavily](/tools/tavily) | `@openclaw/tavily-plugin` | contracts: tools, webSearchProviders; skills | included in OpenClaw |
-| [telegram](/channels/telegram) | `@openclaw/telegram` | channels: telegram | included in OpenClaw |
-| [tencent](/providers/tencent) | `@openclaw/tencent-provider` | providers: tencent-tokenhub | included in OpenClaw |
-| [together](/providers/together) | `@openclaw/together-provider` | providers: together; contracts: videoGenerationProviders | included in OpenClaw |
-| [tokenjuice](/tools/tokenjuice) | `@openclaw/tokenjuice` | contracts: agentToolResultMiddleware | included in OpenClaw |
-| tts-local-cli | `@openclaw/tts-local-cli` | contracts: speechProviders | included in OpenClaw |
-| [venice](/providers/venice) | `@openclaw/venice-provider` | providers: venice | included in OpenClaw |
-| [vercel-ai-gateway](/providers/vercel-ai-gateway) | `@openclaw/vercel-ai-gateway-provider` | providers: vercel-ai-gateway | included in OpenClaw |
-| [vllm](/providers/vllm) | `@openclaw/vllm-provider` | providers: vllm | included in OpenClaw |
-| [volcengine](/providers/volcengine) | `@openclaw/volcengine-provider` | providers: volcengine, volcengine-plan; contracts: speechProviders | included in OpenClaw |
-| voyage | `@openclaw/voyage-provider` | contracts: memoryEmbeddingProviders | included in OpenClaw |
-| [vydra](/providers/vydra) | `@openclaw/vydra-provider` | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders | included in OpenClaw |
-| web-readability | `@openclaw/web-readability-plugin` | contracts: webContentExtractors | included in OpenClaw |
-| [webhooks](/plugins/webhooks) | `@openclaw/webhooks` | plugin | included in OpenClaw |
-| [xai](/providers/xai) | `@openclaw/xai-plugin` | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders | included in OpenClaw |
-| [xiaomi](/providers/xiaomi) | `@openclaw/xiaomi-provider` | providers: xiaomi; contracts: speechProviders | included in OpenClaw |
-| [zai](/providers/zai) | `@openclaw/zai-provider` | providers: zai; contracts: mediaUnderstandingProviders | included in OpenClaw |
+| Plugin | Description | Distribution | Surface |
+| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [alibaba](/plugins/reference/alibaba) | Adds video generation provider support. | `@openclaw/alibaba-provider`
included in OpenClaw | contracts: videoGenerationProviders |
+| [amazon-bedrock](/plugins/reference/amazon-bedrock) | Adds Amazon Bedrock model provider support to OpenClaw. | `@openclaw/amazon-bedrock-provider`
included in OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
+| [amazon-bedrock-mantle](/plugins/reference/amazon-bedrock-mantle) | Adds Amazon Bedrock Mantle model provider support to OpenClaw. | `@openclaw/amazon-bedrock-mantle-provider`
included in OpenClaw | providers: amazon-bedrock-mantle |
+| [anthropic](/plugins/reference/anthropic) | Adds Anthropic model provider support to OpenClaw. | `@openclaw/anthropic-provider`
included in OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
+| [anthropic-vertex](/plugins/reference/anthropic-vertex) | Adds Anthropic Vertex model provider support to OpenClaw. | `@openclaw/anthropic-vertex-provider`
included in OpenClaw | providers: anthropic-vertex |
+| [arcee](/plugins/reference/arcee) | Adds Arcee model provider support to OpenClaw. | `@openclaw/arcee-provider`
included in OpenClaw | providers: arcee |
+| [azure-speech](/plugins/reference/azure-speech) | Azure AI Speech text-to-speech (MP3, native Ogg/Opus voice notes, PCM telephony). | `@openclaw/azure-speech`
included in OpenClaw | contracts: speechProviders |
+| [bonjour](/plugins/reference/bonjour) | Advertise the local OpenClaw gateway over Bonjour/mDNS. | `@openclaw/bonjour`
included in OpenClaw | plugin |
+| [browser](/plugins/reference/browser) | Adds agent-callable tools. | `@openclaw/browser-plugin`
included in OpenClaw | contracts: tools; skills |
+| [byteplus](/plugins/reference/byteplus) | Adds BytePlus, BytePlus Plan model provider support to OpenClaw. | `@openclaw/byteplus-provider`
included in OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
+| [cerebras](/plugins/reference/cerebras) | Adds Cerebras model provider support to OpenClaw. | `@openclaw/cerebras-provider`
included in OpenClaw | providers: cerebras |
+| [chutes](/plugins/reference/chutes) | Adds Chutes model provider support to OpenClaw. | `@openclaw/chutes-provider`
included in OpenClaw | providers: chutes |
+| [cloudflare-ai-gateway](/plugins/reference/cloudflare-ai-gateway) | Adds Cloudflare AI Gateway model provider support to OpenClaw. | `@openclaw/cloudflare-ai-gateway-provider`
included in OpenClaw | providers: cloudflare-ai-gateway |
+| [comfy](/plugins/reference/comfy) | Adds ComfyUI model provider support to OpenClaw. | `@openclaw/comfy-provider`
included in OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
+| [copilot-proxy](/plugins/reference/copilot-proxy) | Adds Copilot Proxy model provider support to OpenClaw. | `@openclaw/copilot-proxy`
included in OpenClaw | providers: copilot-proxy |
+| [deepgram](/plugins/reference/deepgram) | Adds media understanding provider support. Adds realtime transcription provider support. | `@openclaw/deepgram-provider`
included in OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
+| [deepinfra](/plugins/reference/deepinfra) | Adds DeepInfra model provider support to OpenClaw. | `@openclaw/deepinfra-provider`
included in OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
+| [deepseek](/plugins/reference/deepseek) | Adds DeepSeek model provider support to OpenClaw. | `@openclaw/deepseek-provider`
included in OpenClaw | providers: deepseek |
+| [discord](/plugins/reference/discord) | Adds the Discord channel surface for sending and receiving OpenClaw messages. | `@openclaw/discord`
included in OpenClaw | channels: discord |
+| [document-extract](/plugins/reference/document-extract) | Extract text and fallback page images from local document attachments. | `@openclaw/document-extract-plugin`
included in OpenClaw | contracts: documentExtractors |
+| [duckduckgo](/plugins/reference/duckduckgo) | Adds web search provider support. | `@openclaw/duckduckgo-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [elevenlabs](/plugins/reference/elevenlabs) | Adds media understanding provider support. Adds realtime transcription provider support. Adds text-to-speech provider support. | `@openclaw/elevenlabs-speech`
included in OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
+| [exa](/plugins/reference/exa) | Adds web search provider support. | `@openclaw/exa-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [fal](/plugins/reference/fal) | Adds fal model provider support to OpenClaw. | `@openclaw/fal-provider`
included in OpenClaw | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders |
+| [file-transfer](/plugins/reference/file-transfer) | Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB. | `@openclaw/file-transfer`
included in OpenClaw | contracts: tools |
+| [firecrawl](/plugins/reference/firecrawl) | Adds agent-callable tools. Adds web fetch provider support. Adds web search provider support. | `@openclaw/firecrawl-plugin`
included in OpenClaw | contracts: tools, webFetchProviders, webSearchProviders |
+| [fireworks](/plugins/reference/fireworks) | Adds Fireworks model provider support to OpenClaw. | `@openclaw/fireworks-provider`
included in OpenClaw | providers: fireworks |
+| [github-copilot](/plugins/reference/github-copilot) | Adds GitHub Copilot model provider support to OpenClaw. | `@openclaw/github-copilot-provider`
included in OpenClaw | providers: github-copilot; contracts: memoryEmbeddingProviders |
+| [google](/plugins/reference/google) | Adds Google, Google Gemini CLI, Google Vertex model provider support to OpenClaw. | `@openclaw/google-plugin`
included in OpenClaw | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
+| [gradium](/plugins/reference/gradium) | Adds text-to-speech provider support. | `@openclaw/gradium-speech`
included in OpenClaw | contracts: speechProviders |
+| [groq](/plugins/reference/groq) | Adds Groq model provider support to OpenClaw. | `@openclaw/groq-provider`
included in OpenClaw | providers: groq; contracts: mediaUnderstandingProviders |
+| [huggingface](/plugins/reference/huggingface) | Adds Hugging Face model provider support to OpenClaw. | `@openclaw/huggingface-provider`
included in OpenClaw | providers: huggingface |
+| [imessage](/plugins/reference/imessage) | Adds the iMessage channel surface for sending and receiving OpenClaw messages. | `@openclaw/imessage`
included in OpenClaw | channels: imessage |
+| [inworld](/plugins/reference/inworld) | Inworld streaming text-to-speech (MP3, OGG_OPUS, PCM telephony). | `@openclaw/inworld-speech`
included in OpenClaw | contracts: speechProviders |
+| [irc](/plugins/reference/irc) | Adds the IRC channel surface for sending and receiving OpenClaw messages. | `@openclaw/irc`
included in OpenClaw | channels: irc |
+| [kilocode](/plugins/reference/kilocode) | Adds Kilocode model provider support to OpenClaw. | `@openclaw/kilocode-provider`
included in OpenClaw | providers: kilocode |
+| [kimi](/plugins/reference/kimi) | Adds Kimi, Kimi Coding model provider support to OpenClaw. | `@openclaw/kimi-provider`
included in OpenClaw | providers: kimi, kimi-coding |
+| [litellm](/plugins/reference/litellm) | Adds LiteLLM model provider support to OpenClaw. | `@openclaw/litellm-provider`
included in OpenClaw | providers: litellm; contracts: imageGenerationProviders |
+| [llm-task](/plugins/reference/llm-task) | Generic JSON-only LLM tool for structured tasks callable from workflows. | `@openclaw/llm-task`
included in OpenClaw | contracts: tools |
+| [lmstudio](/plugins/reference/lmstudio) | Adds LM Studio model provider support to OpenClaw. | `@openclaw/lmstudio-provider`
included in OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders |
+| [memory-core](/plugins/reference/memory-core) | Adds memory embedding provider support. Adds agent-callable tools. | `@openclaw/memory-core`
included in OpenClaw | contracts: memoryEmbeddingProviders, tools |
+| [memory-wiki](/plugins/reference/memory-wiki) | Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw. | `@openclaw/memory-wiki`
included in OpenClaw | contracts: tools; skills |
+| [microsoft](/plugins/reference/microsoft) | Adds text-to-speech provider support. | `@openclaw/microsoft-speech`
included in OpenClaw | contracts: speechProviders |
+| [microsoft-foundry](/plugins/reference/microsoft-foundry) | Adds Microsoft Foundry model provider support to OpenClaw. | `@openclaw/microsoft-foundry`
included in OpenClaw | providers: microsoft-foundry |
+| [migrate-claude](/plugins/reference/migrate-claude) | Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw. | `@openclaw/migrate-claude`
included in OpenClaw | contracts: migrationProviders |
+| [migrate-hermes](/plugins/reference/migrate-hermes) | Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw. | `@openclaw/migrate-hermes`
included in OpenClaw | contracts: migrationProviders |
+| [minimax](/plugins/reference/minimax) | Adds MiniMax, MiniMax Portal model provider support to OpenClaw. | `@openclaw/minimax-provider`
included in OpenClaw | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
+| [mistral](/plugins/reference/mistral) | Adds Mistral model provider support to OpenClaw. | `@openclaw/mistral-provider`
included in OpenClaw | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
+| [moonshot](/plugins/reference/moonshot) | Adds Moonshot model provider support to OpenClaw. | `@openclaw/moonshot-provider`
included in OpenClaw | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders |
+| [nvidia](/plugins/reference/nvidia) | Adds NVIDIA model provider support to OpenClaw. | `@openclaw/nvidia-provider`
included in OpenClaw | providers: nvidia |
+| [ollama](/plugins/reference/ollama) | Adds Ollama model provider support to OpenClaw. | `@openclaw/ollama-provider`
included in OpenClaw | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders |
+| [open-prose](/plugins/reference/open-prose) | OpenProse VM skill pack with a /prose slash command. | `@openclaw/open-prose`
included in OpenClaw | skills |
+| [openai](/plugins/reference/openai) | Adds OpenAI, OpenAI Codex model provider support to OpenClaw. | `@openclaw/openai-provider`
included in OpenClaw | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
+| [opencode](/plugins/reference/opencode) | Adds OpenCode model provider support to OpenClaw. | `@openclaw/opencode-provider`
included in OpenClaw | providers: opencode; contracts: mediaUnderstandingProviders |
+| [opencode-go](/plugins/reference/opencode-go) | Adds OpenCode Go model provider support to OpenClaw. | `@openclaw/opencode-go-provider`
included in OpenClaw | providers: opencode-go; contracts: mediaUnderstandingProviders |
+| [openrouter](/plugins/reference/openrouter) | Adds OpenRouter model provider support to OpenClaw. | `@openclaw/openrouter-provider`
included in OpenClaw | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
+| [openshell](/plugins/reference/openshell) | Sandbox backend powered by OpenShell with mirrored local workspaces and SSH-based command execution. | `@openclaw/openshell-sandbox`
included in OpenClaw | plugin |
+| [perplexity](/plugins/reference/perplexity) | Adds web search provider support. | `@openclaw/perplexity-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [qianfan](/plugins/reference/qianfan) | Adds Qianfan model provider support to OpenClaw. | `@openclaw/qianfan-provider`
included in OpenClaw | providers: qianfan |
+| [qwen](/plugins/reference/qwen) | Adds Qwen, Qwen Cloud, Model Studio, DashScope model provider support to OpenClaw. | `@openclaw/qwen-provider`
included in OpenClaw | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders |
+| [runway](/plugins/reference/runway) | Adds video generation provider support. | `@openclaw/runway-provider`
included in OpenClaw | contracts: videoGenerationProviders |
+| [searxng](/plugins/reference/searxng) | Adds web search provider support. | `@openclaw/searxng-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [senseaudio](/plugins/reference/senseaudio) | Adds media understanding provider support. | `@openclaw/senseaudio-provider`
included in OpenClaw | contracts: mediaUnderstandingProviders |
+| [sglang](/plugins/reference/sglang) | Adds SGLang model provider support to OpenClaw. | `@openclaw/sglang-provider`
included in OpenClaw | providers: sglang |
+| [signal](/plugins/reference/signal) | Adds the Signal channel surface for sending and receiving OpenClaw messages. | `@openclaw/signal`
included in OpenClaw | channels: signal |
+| [skill-workshop](/plugins/reference/skill-workshop) | Captures repeatable workflows as workspace skills, with pending review, safe writes, and skill prompt refresh. | `@openclaw/skill-workshop`
included in OpenClaw | contracts: tools |
+| [slack](/plugins/reference/slack) | Adds the Slack channel surface for sending and receiving OpenClaw messages. | `@openclaw/slack`
included in OpenClaw | channels: slack |
+| [stepfun](/plugins/reference/stepfun) | Adds StepFun, StepFun Plan model provider support to OpenClaw. | `@openclaw/stepfun-provider`
included in OpenClaw | providers: stepfun, stepfun-plan |
+| [synthetic](/plugins/reference/synthetic) | Adds Synthetic model provider support to OpenClaw. | `@openclaw/synthetic-provider`
included in OpenClaw | providers: synthetic |
+| [tavily](/plugins/reference/tavily) | Adds agent-callable tools. Adds web search provider support. | `@openclaw/tavily-plugin`
included in OpenClaw | contracts: tools, webSearchProviders; skills |
+| [telegram](/plugins/reference/telegram) | Adds the Telegram channel surface for sending and receiving OpenClaw messages. | `@openclaw/telegram`
included in OpenClaw | channels: telegram |
+| [tencent](/plugins/reference/tencent) | Adds Tencent TokenHub model provider support to OpenClaw. | `@openclaw/tencent-provider`
included in OpenClaw | providers: tencent-tokenhub |
+| [together](/plugins/reference/together) | Adds Together model provider support to OpenClaw. | `@openclaw/together-provider`
included in OpenClaw | providers: together; contracts: videoGenerationProviders |
+| [tokenjuice](/plugins/reference/tokenjuice) | Compacts exec and bash tool results with tokenjuice reducers. | `@openclaw/tokenjuice`
included in OpenClaw | contracts: agentToolResultMiddleware |
+| [tts-local-cli](/plugins/reference/tts-local-cli) | Adds text-to-speech provider support. | `@openclaw/tts-local-cli`
included in OpenClaw | contracts: speechProviders |
+| [venice](/plugins/reference/venice) | Adds Venice model provider support to OpenClaw. | `@openclaw/venice-provider`
included in OpenClaw | providers: venice |
+| [vercel-ai-gateway](/plugins/reference/vercel-ai-gateway) | Adds Vercel AI Gateway model provider support to OpenClaw. | `@openclaw/vercel-ai-gateway-provider`
included in OpenClaw | providers: vercel-ai-gateway |
+| [vllm](/plugins/reference/vllm) | Adds vLLM model provider support to OpenClaw. | `@openclaw/vllm-provider`
included in OpenClaw | providers: vllm |
+| [volcengine](/plugins/reference/volcengine) | Adds Volcengine, Volcengine Plan model provider support to OpenClaw. | `@openclaw/volcengine-provider`
included in OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
+| [voyage](/plugins/reference/voyage) | Adds memory embedding provider support. | `@openclaw/voyage-provider`
included in OpenClaw | contracts: memoryEmbeddingProviders |
+| [vydra](/plugins/reference/vydra) | Adds Vydra model provider support to OpenClaw. | `@openclaw/vydra-provider`
included in OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
+| [web-readability](/plugins/reference/web-readability) | Extract readable article content from local HTML web fetch responses. | `@openclaw/web-readability-plugin`
included in OpenClaw | contracts: webContentExtractors |
+| [webhooks](/plugins/reference/webhooks) | Authenticated inbound webhooks that bind external automation to OpenClaw TaskFlows. | `@openclaw/webhooks`
included in OpenClaw | plugin |
+| [xai](/plugins/reference/xai) | Adds xAI model provider support to OpenClaw. | `@openclaw/xai-plugin`
included in OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
+| [xiaomi](/plugins/reference/xiaomi) | Adds Xiaomi model provider support to OpenClaw. | `@openclaw/xiaomi-provider`
included in OpenClaw | providers: xiaomi; contracts: speechProviders |
+| [zai](/plugins/reference/zai) | Adds Z.AI model provider support to OpenClaw. | `@openclaw/zai-provider`
included in OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
## Official external packages
-| Plugin | Package | Surface | Install |
-| ------------------------------------------ | ---------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------- |
-| [acpx](/tools/acp-agents-setup) | `@openclaw/acpx` | skills | ClawHub + npm: `@openclaw/acpx` |
-| [bluebubbles](/channels/bluebubbles) | `@openclaw/bluebubbles` | channels: bluebubbles | ClawHub + npm: `@openclaw/bluebubbles` |
-| [brave](/tools/brave-search) | `@openclaw/brave-plugin` | contracts: webSearchProviders | ClawHub + npm: `@openclaw/brave-plugin` |
-| [codex](/plugins/codex-harness) | `@openclaw/codex` | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders | ClawHub + npm: `@openclaw/codex` |
-| diagnostics-otel | `@openclaw/diagnostics-otel` | plugin | ClawHub + npm: `@openclaw/diagnostics-otel` |
-| diagnostics-prometheus | `@openclaw/diagnostics-prometheus` | plugin | ClawHub + npm: `@openclaw/diagnostics-prometheus` |
-| diffs | `@openclaw/diffs` | contracts: tools; skills | ClawHub + npm: `@openclaw/diffs` |
-| [feishu](/channels/feishu) | `@openclaw/feishu` | channels: feishu; contracts: tools; skills | ClawHub + npm: `@openclaw/feishu` |
-| [google-meet](/plugins/google-meet) | `@openclaw/google-meet` | contracts: tools | ClawHub + npm: `@openclaw/google-meet` |
-| [googlechat](/channels/googlechat) | `@openclaw/googlechat` | channels: googlechat | ClawHub + npm: `@openclaw/googlechat` |
-| [line](/channels/line) | `@openclaw/line` | channels: line | ClawHub + npm: `@openclaw/line` |
-| lobster | `@openclaw/lobster` | contracts: tools | ClawHub + npm: `@openclaw/lobster` |
-| [matrix](/channels/matrix) | `@openclaw/matrix` | channels: matrix | ClawHub + npm: `@openclaw/matrix` |
-| [mattermost](/channels/mattermost) | `@openclaw/mattermost` | channels: mattermost | ClawHub + npm: `@openclaw/mattermost` |
-| [memory-lancedb](/plugins/memory-lancedb) | `@openclaw/memory-lancedb` | contracts: tools | ClawHub + npm: `@openclaw/memory-lancedb` |
-| [msteams](/channels/msteams) | `@openclaw/msteams` | channels: msteams | ClawHub + npm: `@openclaw/msteams` |
-| [nextcloud-talk](/channels/nextcloud-talk) | `@openclaw/nextcloud-talk` | channels: nextcloud-talk | ClawHub + npm: `@openclaw/nextcloud-talk` |
-| [nostr](/channels/nostr) | `@openclaw/nostr` | channels: nostr | ClawHub + npm: `@openclaw/nostr` |
-| [qqbot](/channels/qqbot) | `@openclaw/qqbot` | channels: qqbot; contracts: tools; skills | ClawHub + npm: `@openclaw/qqbot` |
-| [synology-chat](/channels/synology-chat) | `@openclaw/synology-chat` | channels: synology-chat | ClawHub + npm: `@openclaw/synology-chat` |
-| [tlon](/channels/tlon) | `@openclaw/tlon` | channels: tlon; contracts: tools; skills | ClawHub + npm: `@openclaw/tlon` |
-| [twitch](/channels/twitch) | `@openclaw/twitch` | channels: twitch | ClawHub + npm: `@openclaw/twitch` |
-| [voice-call](/plugins/voice-call) | `@openclaw/voice-call` | contracts: tools | ClawHub + npm: `@openclaw/voice-call` |
-| [whatsapp](/channels/whatsapp) | `@openclaw/whatsapp` | channels: whatsapp | ClawHub + npm: `@openclaw/whatsapp` |
-| [zalo](/channels/zalo) | `@openclaw/zalo` | channels: zalo | ClawHub + npm: `@openclaw/zalo` |
-| [zalouser](/channels/zalouser) | `@openclaw/zalouser` | channels: zalouser; contracts: tools | ClawHub + npm: `@openclaw/zalouser` |
+| Plugin | Description | Distribution | Surface |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------- |
+| [acpx](/plugins/reference/acpx) | Embedded ACP runtime backend with plugin-owned session and transport management. | `@openclaw/acpx`
ClawHub + npm | skills |
+| [bluebubbles](/plugins/reference/bluebubbles) | Adds the BlueBubbles channel surface for sending and receiving OpenClaw messages. | `@openclaw/bluebubbles`
ClawHub + npm | channels: bluebubbles |
+| [brave](/plugins/reference/brave) | Adds web search provider support. | `@openclaw/brave-plugin`
ClawHub + npm | contracts: webSearchProviders |
+| [codex](/plugins/reference/codex) | Codex app-server harness and Codex-managed GPT model catalog. | `@openclaw/codex`
ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
+| [diagnostics-otel](/plugins/reference/diagnostics-otel) | OpenClaw diagnostics OpenTelemetry exporter. | `@openclaw/diagnostics-otel`
ClawHub + npm | plugin |
+| [diagnostics-prometheus](/plugins/reference/diagnostics-prometheus) | OpenClaw diagnostics Prometheus exporter. | `@openclaw/diagnostics-prometheus`
ClawHub + npm | plugin |
+| [diffs](/plugins/reference/diffs) | Read-only diff viewer and file renderer for agents. | `@openclaw/diffs`
ClawHub + npm | contracts: tools; skills |
+| [feishu](/plugins/reference/feishu) | Adds the Feishu channel surface for sending and receiving OpenClaw messages. | `@openclaw/feishu`
ClawHub + npm | channels: feishu; contracts: tools; skills |
+| [google-meet](/plugins/reference/google-meet) | Join Google Meet calls through Chrome or Twilio transports. | `@openclaw/google-meet`
ClawHub + npm | contracts: tools |
+| [googlechat](/plugins/reference/googlechat) | Adds the Google Chat channel surface for sending and receiving OpenClaw messages. | `@openclaw/googlechat`
ClawHub + npm | channels: googlechat |
+| [line](/plugins/reference/line) | Adds the LINE channel surface for sending and receiving OpenClaw messages. | `@openclaw/line`
ClawHub + npm | channels: line |
+| [lobster](/plugins/reference/lobster) | Typed workflow tool with resumable approvals. | `@openclaw/lobster`
ClawHub + npm | contracts: tools |
+| [matrix](/plugins/reference/matrix) | Adds the Matrix channel surface for sending and receiving OpenClaw messages. | `@openclaw/matrix`
ClawHub + npm | channels: matrix |
+| [mattermost](/plugins/reference/mattermost) | Adds the Mattermost channel surface for sending and receiving OpenClaw messages. | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost |
+| [memory-lancedb](/plugins/reference/memory-lancedb) | Adds agent-callable tools. | `@openclaw/memory-lancedb`
ClawHub + npm | contracts: tools |
+| [msteams](/plugins/reference/msteams) | Adds the Microsoft Teams channel surface for sending and receiving OpenClaw messages. | `@openclaw/msteams`
ClawHub + npm | channels: msteams |
+| [nextcloud-talk](/plugins/reference/nextcloud-talk) | Adds the Nextcloud Talk channel surface for sending and receiving OpenClaw messages. | `@openclaw/nextcloud-talk`
ClawHub + npm | channels: nextcloud-talk |
+| [nostr](/plugins/reference/nostr) | Adds the Nostr channel surface for sending and receiving OpenClaw messages. | `@openclaw/nostr`
ClawHub + npm | channels: nostr |
+| [qqbot](/plugins/reference/qqbot) | Adds the QQ Bot channel surface for sending and receiving OpenClaw messages. | `@openclaw/qqbot`
ClawHub + npm | channels: qqbot; contracts: tools; skills |
+| [synology-chat](/plugins/reference/synology-chat) | Adds the Synology Chat channel surface for sending and receiving OpenClaw messages. | `@openclaw/synology-chat`
ClawHub + npm | channels: synology-chat |
+| [tlon](/plugins/reference/tlon) | Adds the Tlon channel surface for sending and receiving OpenClaw messages. | `@openclaw/tlon`
ClawHub + npm | channels: tlon; contracts: tools; skills |
+| [twitch](/plugins/reference/twitch) | Adds the Twitch channel surface for sending and receiving OpenClaw messages. | `@openclaw/twitch`
ClawHub + npm | channels: twitch |
+| [voice-call](/plugins/reference/voice-call) | Adds agent-callable tools. | `@openclaw/voice-call`
ClawHub + npm | contracts: tools |
+| [whatsapp](/plugins/reference/whatsapp) | Adds the WhatsApp channel surface for sending and receiving OpenClaw messages. | `@openclaw/whatsapp`
ClawHub + npm | channels: whatsapp |
+| [zalo](/plugins/reference/zalo) | Adds the Zalo channel surface for sending and receiving OpenClaw messages. | `@openclaw/zalo`
ClawHub + npm | channels: zalo |
+| [zalouser](/plugins/reference/zalouser) | Adds the Zalo Personal channel surface for sending and receiving OpenClaw messages. | `@openclaw/zalouser`
ClawHub + npm | channels: zalouser; contracts: tools |
## Source checkout only
-| Plugin | Package | Surface | Install |
-| ---------------------------------- | ---------------------- | -------------------- | -------------------- |
-| [qa-channel](/channels/qa-channel) | `@openclaw/qa-channel` | channels: qa-channel | source checkout only |
-| qa-lab | `@openclaw/qa-lab` | plugin | source checkout only |
-| qa-matrix | `@openclaw/qa-matrix` | plugin | source checkout only |
+| Plugin | Description | Distribution | Surface |
+| ------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------ | -------------------- |
+| [qa-channel](/plugins/reference/qa-channel) | Adds the QA Channel surface for sending and receiving OpenClaw messages. | `@openclaw/qa-channel`
source checkout only | channels: qa-channel |
+| [qa-lab](/plugins/reference/qa-lab) | OpenClaw QA lab plugin with private debugger UI and scenario runner. | `@openclaw/qa-lab`
source checkout only | plugin |
+| [qa-matrix](/plugins/reference/qa-matrix) | Matrix QA transport runner and substrate. | `@openclaw/qa-matrix`
source checkout only | plugin |
diff --git a/docs/plugins/reference.md b/docs/plugins/reference.md
new file mode 100644
index 00000000000..3e21081ae63
--- /dev/null
+++ b/docs/plugins/reference.md
@@ -0,0 +1,134 @@
+---
+summary: "Generated index of OpenClaw plugin reference pages"
+read_when:
+ - You need a reference page for a specific OpenClaw plugin
+ - You are auditing plugin docs coverage
+title: "Plugin reference"
+---
+
+# Plugin reference
+
+This page is generated from `extensions/*/package.json` and
+`openclaw.plugin.json`. Regenerate it with:
+
+```bash
+pnpm plugins:inventory:gen
+```
+
+| Plugin | Description | Distribution | Surface |
+| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [acpx](/plugins/reference/acpx) | Embedded ACP runtime backend with plugin-owned session and transport management. | `@openclaw/acpx`
ClawHub + npm | skills |
+| [alibaba](/plugins/reference/alibaba) | Adds video generation provider support. | `@openclaw/alibaba-provider`
included in OpenClaw | contracts: videoGenerationProviders |
+| [amazon-bedrock](/plugins/reference/amazon-bedrock) | Adds Amazon Bedrock model provider support to OpenClaw. | `@openclaw/amazon-bedrock-provider`
included in OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
+| [amazon-bedrock-mantle](/plugins/reference/amazon-bedrock-mantle) | Adds Amazon Bedrock Mantle model provider support to OpenClaw. | `@openclaw/amazon-bedrock-mantle-provider`
included in OpenClaw | providers: amazon-bedrock-mantle |
+| [anthropic](/plugins/reference/anthropic) | Adds Anthropic model provider support to OpenClaw. | `@openclaw/anthropic-provider`
included in OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
+| [anthropic-vertex](/plugins/reference/anthropic-vertex) | Adds Anthropic Vertex model provider support to OpenClaw. | `@openclaw/anthropic-vertex-provider`
included in OpenClaw | providers: anthropic-vertex |
+| [arcee](/plugins/reference/arcee) | Adds Arcee model provider support to OpenClaw. | `@openclaw/arcee-provider`
included in OpenClaw | providers: arcee |
+| [azure-speech](/plugins/reference/azure-speech) | Azure AI Speech text-to-speech (MP3, native Ogg/Opus voice notes, PCM telephony). | `@openclaw/azure-speech`
included in OpenClaw | contracts: speechProviders |
+| [bluebubbles](/plugins/reference/bluebubbles) | Adds the BlueBubbles channel surface for sending and receiving OpenClaw messages. | `@openclaw/bluebubbles`
ClawHub + npm | channels: bluebubbles |
+| [bonjour](/plugins/reference/bonjour) | Advertise the local OpenClaw gateway over Bonjour/mDNS. | `@openclaw/bonjour`
included in OpenClaw | plugin |
+| [brave](/plugins/reference/brave) | Adds web search provider support. | `@openclaw/brave-plugin`
ClawHub + npm | contracts: webSearchProviders |
+| [browser](/plugins/reference/browser) | Adds agent-callable tools. | `@openclaw/browser-plugin`
included in OpenClaw | contracts: tools; skills |
+| [byteplus](/plugins/reference/byteplus) | Adds BytePlus, BytePlus Plan model provider support to OpenClaw. | `@openclaw/byteplus-provider`
included in OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
+| [cerebras](/plugins/reference/cerebras) | Adds Cerebras model provider support to OpenClaw. | `@openclaw/cerebras-provider`
included in OpenClaw | providers: cerebras |
+| [chutes](/plugins/reference/chutes) | Adds Chutes model provider support to OpenClaw. | `@openclaw/chutes-provider`
included in OpenClaw | providers: chutes |
+| [cloudflare-ai-gateway](/plugins/reference/cloudflare-ai-gateway) | Adds Cloudflare AI Gateway model provider support to OpenClaw. | `@openclaw/cloudflare-ai-gateway-provider`
included in OpenClaw | providers: cloudflare-ai-gateway |
+| [codex](/plugins/reference/codex) | Codex app-server harness and Codex-managed GPT model catalog. | `@openclaw/codex`
ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
+| [comfy](/plugins/reference/comfy) | Adds ComfyUI model provider support to OpenClaw. | `@openclaw/comfy-provider`
included in OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
+| [copilot-proxy](/plugins/reference/copilot-proxy) | Adds Copilot Proxy model provider support to OpenClaw. | `@openclaw/copilot-proxy`
included in OpenClaw | providers: copilot-proxy |
+| [deepgram](/plugins/reference/deepgram) | Adds media understanding provider support. Adds realtime transcription provider support. | `@openclaw/deepgram-provider`
included in OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
+| [deepinfra](/plugins/reference/deepinfra) | Adds DeepInfra model provider support to OpenClaw. | `@openclaw/deepinfra-provider`
included in OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
+| [deepseek](/plugins/reference/deepseek) | Adds DeepSeek model provider support to OpenClaw. | `@openclaw/deepseek-provider`
included in OpenClaw | providers: deepseek |
+| [diagnostics-otel](/plugins/reference/diagnostics-otel) | OpenClaw diagnostics OpenTelemetry exporter. | `@openclaw/diagnostics-otel`
ClawHub + npm | plugin |
+| [diagnostics-prometheus](/plugins/reference/diagnostics-prometheus) | OpenClaw diagnostics Prometheus exporter. | `@openclaw/diagnostics-prometheus`
ClawHub + npm | plugin |
+| [diffs](/plugins/reference/diffs) | Read-only diff viewer and file renderer for agents. | `@openclaw/diffs`
ClawHub + npm | contracts: tools; skills |
+| [discord](/plugins/reference/discord) | Adds the Discord channel surface for sending and receiving OpenClaw messages. | `@openclaw/discord`
included in OpenClaw | channels: discord |
+| [document-extract](/plugins/reference/document-extract) | Extract text and fallback page images from local document attachments. | `@openclaw/document-extract-plugin`
included in OpenClaw | contracts: documentExtractors |
+| [duckduckgo](/plugins/reference/duckduckgo) | Adds web search provider support. | `@openclaw/duckduckgo-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [elevenlabs](/plugins/reference/elevenlabs) | Adds media understanding provider support. Adds realtime transcription provider support. Adds text-to-speech provider support. | `@openclaw/elevenlabs-speech`
included in OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
+| [exa](/plugins/reference/exa) | Adds web search provider support. | `@openclaw/exa-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [fal](/plugins/reference/fal) | Adds fal model provider support to OpenClaw. | `@openclaw/fal-provider`
included in OpenClaw | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders |
+| [feishu](/plugins/reference/feishu) | Adds the Feishu channel surface for sending and receiving OpenClaw messages. | `@openclaw/feishu`
ClawHub + npm | channels: feishu; contracts: tools; skills |
+| [file-transfer](/plugins/reference/file-transfer) | Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB. | `@openclaw/file-transfer`
included in OpenClaw | contracts: tools |
+| [firecrawl](/plugins/reference/firecrawl) | Adds agent-callable tools. Adds web fetch provider support. Adds web search provider support. | `@openclaw/firecrawl-plugin`
included in OpenClaw | contracts: tools, webFetchProviders, webSearchProviders |
+| [fireworks](/plugins/reference/fireworks) | Adds Fireworks model provider support to OpenClaw. | `@openclaw/fireworks-provider`
included in OpenClaw | providers: fireworks |
+| [github-copilot](/plugins/reference/github-copilot) | Adds GitHub Copilot model provider support to OpenClaw. | `@openclaw/github-copilot-provider`
included in OpenClaw | providers: github-copilot; contracts: memoryEmbeddingProviders |
+| [google](/plugins/reference/google) | Adds Google, Google Gemini CLI, Google Vertex model provider support to OpenClaw. | `@openclaw/google-plugin`
included in OpenClaw | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
+| [google-meet](/plugins/reference/google-meet) | Join Google Meet calls through Chrome or Twilio transports. | `@openclaw/google-meet`
ClawHub + npm | contracts: tools |
+| [googlechat](/plugins/reference/googlechat) | Adds the Google Chat channel surface for sending and receiving OpenClaw messages. | `@openclaw/googlechat`
ClawHub + npm | channels: googlechat |
+| [gradium](/plugins/reference/gradium) | Adds text-to-speech provider support. | `@openclaw/gradium-speech`
included in OpenClaw | contracts: speechProviders |
+| [groq](/plugins/reference/groq) | Adds Groq model provider support to OpenClaw. | `@openclaw/groq-provider`
included in OpenClaw | providers: groq; contracts: mediaUnderstandingProviders |
+| [huggingface](/plugins/reference/huggingface) | Adds Hugging Face model provider support to OpenClaw. | `@openclaw/huggingface-provider`
included in OpenClaw | providers: huggingface |
+| [imessage](/plugins/reference/imessage) | Adds the iMessage channel surface for sending and receiving OpenClaw messages. | `@openclaw/imessage`
included in OpenClaw | channels: imessage |
+| [inworld](/plugins/reference/inworld) | Inworld streaming text-to-speech (MP3, OGG_OPUS, PCM telephony). | `@openclaw/inworld-speech`
included in OpenClaw | contracts: speechProviders |
+| [irc](/plugins/reference/irc) | Adds the IRC channel surface for sending and receiving OpenClaw messages. | `@openclaw/irc`
included in OpenClaw | channels: irc |
+| [kilocode](/plugins/reference/kilocode) | Adds Kilocode model provider support to OpenClaw. | `@openclaw/kilocode-provider`
included in OpenClaw | providers: kilocode |
+| [kimi](/plugins/reference/kimi) | Adds Kimi, Kimi Coding model provider support to OpenClaw. | `@openclaw/kimi-provider`
included in OpenClaw | providers: kimi, kimi-coding |
+| [line](/plugins/reference/line) | Adds the LINE channel surface for sending and receiving OpenClaw messages. | `@openclaw/line`
ClawHub + npm | channels: line |
+| [litellm](/plugins/reference/litellm) | Adds LiteLLM model provider support to OpenClaw. | `@openclaw/litellm-provider`
included in OpenClaw | providers: litellm; contracts: imageGenerationProviders |
+| [llm-task](/plugins/reference/llm-task) | Generic JSON-only LLM tool for structured tasks callable from workflows. | `@openclaw/llm-task`
included in OpenClaw | contracts: tools |
+| [lmstudio](/plugins/reference/lmstudio) | Adds LM Studio model provider support to OpenClaw. | `@openclaw/lmstudio-provider`
included in OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders |
+| [lobster](/plugins/reference/lobster) | Typed workflow tool with resumable approvals. | `@openclaw/lobster`
ClawHub + npm | contracts: tools |
+| [matrix](/plugins/reference/matrix) | Adds the Matrix channel surface for sending and receiving OpenClaw messages. | `@openclaw/matrix`
ClawHub + npm | channels: matrix |
+| [mattermost](/plugins/reference/mattermost) | Adds the Mattermost channel surface for sending and receiving OpenClaw messages. | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost |
+| [memory-core](/plugins/reference/memory-core) | Adds memory embedding provider support. Adds agent-callable tools. | `@openclaw/memory-core`
included in OpenClaw | contracts: memoryEmbeddingProviders, tools |
+| [memory-lancedb](/plugins/reference/memory-lancedb) | Adds agent-callable tools. | `@openclaw/memory-lancedb`
ClawHub + npm | contracts: tools |
+| [memory-wiki](/plugins/reference/memory-wiki) | Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw. | `@openclaw/memory-wiki`
included in OpenClaw | contracts: tools; skills |
+| [microsoft](/plugins/reference/microsoft) | Adds text-to-speech provider support. | `@openclaw/microsoft-speech`
included in OpenClaw | contracts: speechProviders |
+| [microsoft-foundry](/plugins/reference/microsoft-foundry) | Adds Microsoft Foundry model provider support to OpenClaw. | `@openclaw/microsoft-foundry`
included in OpenClaw | providers: microsoft-foundry |
+| [migrate-claude](/plugins/reference/migrate-claude) | Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw. | `@openclaw/migrate-claude`
included in OpenClaw | contracts: migrationProviders |
+| [migrate-hermes](/plugins/reference/migrate-hermes) | Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw. | `@openclaw/migrate-hermes`
included in OpenClaw | contracts: migrationProviders |
+| [minimax](/plugins/reference/minimax) | Adds MiniMax, MiniMax Portal model provider support to OpenClaw. | `@openclaw/minimax-provider`
included in OpenClaw | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
+| [mistral](/plugins/reference/mistral) | Adds Mistral model provider support to OpenClaw. | `@openclaw/mistral-provider`
included in OpenClaw | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
+| [moonshot](/plugins/reference/moonshot) | Adds Moonshot model provider support to OpenClaw. | `@openclaw/moonshot-provider`
included in OpenClaw | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders |
+| [msteams](/plugins/reference/msteams) | Adds the Microsoft Teams channel surface for sending and receiving OpenClaw messages. | `@openclaw/msteams`
ClawHub + npm | channels: msteams |
+| [nextcloud-talk](/plugins/reference/nextcloud-talk) | Adds the Nextcloud Talk channel surface for sending and receiving OpenClaw messages. | `@openclaw/nextcloud-talk`
ClawHub + npm | channels: nextcloud-talk |
+| [nostr](/plugins/reference/nostr) | Adds the Nostr channel surface for sending and receiving OpenClaw messages. | `@openclaw/nostr`
ClawHub + npm | channels: nostr |
+| [nvidia](/plugins/reference/nvidia) | Adds NVIDIA model provider support to OpenClaw. | `@openclaw/nvidia-provider`
included in OpenClaw | providers: nvidia |
+| [ollama](/plugins/reference/ollama) | Adds Ollama model provider support to OpenClaw. | `@openclaw/ollama-provider`
included in OpenClaw | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders |
+| [open-prose](/plugins/reference/open-prose) | OpenProse VM skill pack with a /prose slash command. | `@openclaw/open-prose`
included in OpenClaw | skills |
+| [openai](/plugins/reference/openai) | Adds OpenAI, OpenAI Codex model provider support to OpenClaw. | `@openclaw/openai-provider`
included in OpenClaw | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
+| [opencode](/plugins/reference/opencode) | Adds OpenCode model provider support to OpenClaw. | `@openclaw/opencode-provider`
included in OpenClaw | providers: opencode; contracts: mediaUnderstandingProviders |
+| [opencode-go](/plugins/reference/opencode-go) | Adds OpenCode Go model provider support to OpenClaw. | `@openclaw/opencode-go-provider`
included in OpenClaw | providers: opencode-go; contracts: mediaUnderstandingProviders |
+| [openrouter](/plugins/reference/openrouter) | Adds OpenRouter model provider support to OpenClaw. | `@openclaw/openrouter-provider`
included in OpenClaw | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
+| [openshell](/plugins/reference/openshell) | Sandbox backend powered by OpenShell with mirrored local workspaces and SSH-based command execution. | `@openclaw/openshell-sandbox`
included in OpenClaw | plugin |
+| [perplexity](/plugins/reference/perplexity) | Adds web search provider support. | `@openclaw/perplexity-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [qa-channel](/plugins/reference/qa-channel) | Adds the QA Channel surface for sending and receiving OpenClaw messages. | `@openclaw/qa-channel`
source checkout only | channels: qa-channel |
+| [qa-lab](/plugins/reference/qa-lab) | OpenClaw QA lab plugin with private debugger UI and scenario runner. | `@openclaw/qa-lab`
source checkout only | plugin |
+| [qa-matrix](/plugins/reference/qa-matrix) | Matrix QA transport runner and substrate. | `@openclaw/qa-matrix`
source checkout only | plugin |
+| [qianfan](/plugins/reference/qianfan) | Adds Qianfan model provider support to OpenClaw. | `@openclaw/qianfan-provider`
included in OpenClaw | providers: qianfan |
+| [qqbot](/plugins/reference/qqbot) | Adds the QQ Bot channel surface for sending and receiving OpenClaw messages. | `@openclaw/qqbot`
ClawHub + npm | channels: qqbot; contracts: tools; skills |
+| [qwen](/plugins/reference/qwen) | Adds Qwen, Qwen Cloud, Model Studio, DashScope model provider support to OpenClaw. | `@openclaw/qwen-provider`
included in OpenClaw | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders |
+| [runway](/plugins/reference/runway) | Adds video generation provider support. | `@openclaw/runway-provider`
included in OpenClaw | contracts: videoGenerationProviders |
+| [searxng](/plugins/reference/searxng) | Adds web search provider support. | `@openclaw/searxng-plugin`
included in OpenClaw | contracts: webSearchProviders |
+| [senseaudio](/plugins/reference/senseaudio) | Adds media understanding provider support. | `@openclaw/senseaudio-provider`
included in OpenClaw | contracts: mediaUnderstandingProviders |
+| [sglang](/plugins/reference/sglang) | Adds SGLang model provider support to OpenClaw. | `@openclaw/sglang-provider`
included in OpenClaw | providers: sglang |
+| [signal](/plugins/reference/signal) | Adds the Signal channel surface for sending and receiving OpenClaw messages. | `@openclaw/signal`
included in OpenClaw | channels: signal |
+| [skill-workshop](/plugins/reference/skill-workshop) | Captures repeatable workflows as workspace skills, with pending review, safe writes, and skill prompt refresh. | `@openclaw/skill-workshop`
included in OpenClaw | contracts: tools |
+| [slack](/plugins/reference/slack) | Adds the Slack channel surface for sending and receiving OpenClaw messages. | `@openclaw/slack`
included in OpenClaw | channels: slack |
+| [stepfun](/plugins/reference/stepfun) | Adds StepFun, StepFun Plan model provider support to OpenClaw. | `@openclaw/stepfun-provider`
included in OpenClaw | providers: stepfun, stepfun-plan |
+| [synology-chat](/plugins/reference/synology-chat) | Adds the Synology Chat channel surface for sending and receiving OpenClaw messages. | `@openclaw/synology-chat`
ClawHub + npm | channels: synology-chat |
+| [synthetic](/plugins/reference/synthetic) | Adds Synthetic model provider support to OpenClaw. | `@openclaw/synthetic-provider`
included in OpenClaw | providers: synthetic |
+| [tavily](/plugins/reference/tavily) | Adds agent-callable tools. Adds web search provider support. | `@openclaw/tavily-plugin`
included in OpenClaw | contracts: tools, webSearchProviders; skills |
+| [telegram](/plugins/reference/telegram) | Adds the Telegram channel surface for sending and receiving OpenClaw messages. | `@openclaw/telegram`
included in OpenClaw | channels: telegram |
+| [tencent](/plugins/reference/tencent) | Adds Tencent TokenHub model provider support to OpenClaw. | `@openclaw/tencent-provider`
included in OpenClaw | providers: tencent-tokenhub |
+| [tlon](/plugins/reference/tlon) | Adds the Tlon channel surface for sending and receiving OpenClaw messages. | `@openclaw/tlon`
ClawHub + npm | channels: tlon; contracts: tools; skills |
+| [together](/plugins/reference/together) | Adds Together model provider support to OpenClaw. | `@openclaw/together-provider`
included in OpenClaw | providers: together; contracts: videoGenerationProviders |
+| [tokenjuice](/plugins/reference/tokenjuice) | Compacts exec and bash tool results with tokenjuice reducers. | `@openclaw/tokenjuice`
included in OpenClaw | contracts: agentToolResultMiddleware |
+| [tts-local-cli](/plugins/reference/tts-local-cli) | Adds text-to-speech provider support. | `@openclaw/tts-local-cli`
included in OpenClaw | contracts: speechProviders |
+| [twitch](/plugins/reference/twitch) | Adds the Twitch channel surface for sending and receiving OpenClaw messages. | `@openclaw/twitch`
ClawHub + npm | channels: twitch |
+| [venice](/plugins/reference/venice) | Adds Venice model provider support to OpenClaw. | `@openclaw/venice-provider`
included in OpenClaw | providers: venice |
+| [vercel-ai-gateway](/plugins/reference/vercel-ai-gateway) | Adds Vercel AI Gateway model provider support to OpenClaw. | `@openclaw/vercel-ai-gateway-provider`
included in OpenClaw | providers: vercel-ai-gateway |
+| [vllm](/plugins/reference/vllm) | Adds vLLM model provider support to OpenClaw. | `@openclaw/vllm-provider`
included in OpenClaw | providers: vllm |
+| [voice-call](/plugins/reference/voice-call) | Adds agent-callable tools. | `@openclaw/voice-call`
ClawHub + npm | contracts: tools |
+| [volcengine](/plugins/reference/volcengine) | Adds Volcengine, Volcengine Plan model provider support to OpenClaw. | `@openclaw/volcengine-provider`
included in OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
+| [voyage](/plugins/reference/voyage) | Adds memory embedding provider support. | `@openclaw/voyage-provider`
included in OpenClaw | contracts: memoryEmbeddingProviders |
+| [vydra](/plugins/reference/vydra) | Adds Vydra model provider support to OpenClaw. | `@openclaw/vydra-provider`
included in OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
+| [web-readability](/plugins/reference/web-readability) | Extract readable article content from local HTML web fetch responses. | `@openclaw/web-readability-plugin`
included in OpenClaw | contracts: webContentExtractors |
+| [webhooks](/plugins/reference/webhooks) | Authenticated inbound webhooks that bind external automation to OpenClaw TaskFlows. | `@openclaw/webhooks`
included in OpenClaw | plugin |
+| [whatsapp](/plugins/reference/whatsapp) | Adds the WhatsApp channel surface for sending and receiving OpenClaw messages. | `@openclaw/whatsapp`
ClawHub + npm | channels: whatsapp |
+| [xai](/plugins/reference/xai) | Adds xAI model provider support to OpenClaw. | `@openclaw/xai-plugin`
included in OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
+| [xiaomi](/plugins/reference/xiaomi) | Adds Xiaomi model provider support to OpenClaw. | `@openclaw/xiaomi-provider`
included in OpenClaw | providers: xiaomi; contracts: speechProviders |
+| [zai](/plugins/reference/zai) | Adds Z.AI model provider support to OpenClaw. | `@openclaw/zai-provider`
included in OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
+| [zalo](/plugins/reference/zalo) | Adds the Zalo channel surface for sending and receiving OpenClaw messages. | `@openclaw/zalo`
ClawHub + npm | channels: zalo |
+| [zalouser](/plugins/reference/zalouser) | Adds the Zalo Personal channel surface for sending and receiving OpenClaw messages. | `@openclaw/zalouser`
ClawHub + npm | channels: zalouser; contracts: tools |
diff --git a/docs/plugins/reference/acpx.md b/docs/plugins/reference/acpx.md
new file mode 100644
index 00000000000..2dc70ba3a7d
--- /dev/null
+++ b/docs/plugins/reference/acpx.md
@@ -0,0 +1,23 @@
+---
+summary: "Embedded ACP runtime backend with plugin-owned session and transport management."
+read_when:
+ - You are installing, configuring, or auditing the acpx plugin
+title: "ACPx plugin"
+---
+
+# ACPx plugin
+
+Embedded ACP runtime backend with plugin-owned session and transport management.
+
+## Distribution
+
+- Package: `@openclaw/acpx`
+- Install route: ClawHub + npm
+
+## Surface
+
+skills
+
+## Related docs
+
+- [acpx](/tools/acp-agents-setup)
diff --git a/docs/plugins/reference/alibaba.md b/docs/plugins/reference/alibaba.md
new file mode 100644
index 00000000000..c2b485479b1
--- /dev/null
+++ b/docs/plugins/reference/alibaba.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds video generation provider support."
+read_when:
+ - You are installing, configuring, or auditing the alibaba plugin
+title: "Alibaba plugin"
+---
+
+# Alibaba plugin
+
+Adds video generation provider support.
+
+## Distribution
+
+- Package: `@openclaw/alibaba-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: videoGenerationProviders
+
+## Related docs
+
+- [alibaba](/providers/alibaba)
diff --git a/docs/plugins/reference/amazon-bedrock-mantle.md b/docs/plugins/reference/amazon-bedrock-mantle.md
new file mode 100644
index 00000000000..1599ab6708e
--- /dev/null
+++ b/docs/plugins/reference/amazon-bedrock-mantle.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Amazon Bedrock Mantle model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the amazon-bedrock-mantle plugin
+title: "Amazon Bedrock Mantle plugin"
+---
+
+# Amazon Bedrock Mantle plugin
+
+Adds Amazon Bedrock Mantle model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/amazon-bedrock-mantle-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: amazon-bedrock-mantle
+
+## Related docs
+
+- [amazon-bedrock-mantle](/providers/bedrock-mantle)
diff --git a/docs/plugins/reference/amazon-bedrock.md b/docs/plugins/reference/amazon-bedrock.md
new file mode 100644
index 00000000000..2cf39f76dd8
--- /dev/null
+++ b/docs/plugins/reference/amazon-bedrock.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Amazon Bedrock model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the amazon-bedrock plugin
+title: "Amazon Bedrock plugin"
+---
+
+# Amazon Bedrock plugin
+
+Adds Amazon Bedrock model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/amazon-bedrock-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: amazon-bedrock; contracts: memoryEmbeddingProviders
+
+## Related docs
+
+- [amazon-bedrock](/providers/bedrock)
diff --git a/docs/plugins/reference/anthropic-vertex.md b/docs/plugins/reference/anthropic-vertex.md
new file mode 100644
index 00000000000..4084e6b2cd1
--- /dev/null
+++ b/docs/plugins/reference/anthropic-vertex.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds Anthropic Vertex model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the anthropic-vertex plugin
+title: "Anthropic Vertex plugin"
+---
+
+# Anthropic Vertex plugin
+
+Adds Anthropic Vertex model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/anthropic-vertex-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: anthropic-vertex
diff --git a/docs/plugins/reference/anthropic.md b/docs/plugins/reference/anthropic.md
new file mode 100644
index 00000000000..01367929bf9
--- /dev/null
+++ b/docs/plugins/reference/anthropic.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Anthropic model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the anthropic plugin
+title: "Anthropic plugin"
+---
+
+# Anthropic plugin
+
+Adds Anthropic model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/anthropic-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: anthropic; contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [anthropic](/providers/anthropic)
diff --git a/docs/plugins/reference/arcee.md b/docs/plugins/reference/arcee.md
new file mode 100644
index 00000000000..d44dda878f0
--- /dev/null
+++ b/docs/plugins/reference/arcee.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Arcee model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the arcee plugin
+title: "Arcee plugin"
+---
+
+# Arcee plugin
+
+Adds Arcee model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/arcee-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: arcee
+
+## Related docs
+
+- [arcee](/providers/arcee)
diff --git a/docs/plugins/reference/azure-speech.md b/docs/plugins/reference/azure-speech.md
new file mode 100644
index 00000000000..abb122a975e
--- /dev/null
+++ b/docs/plugins/reference/azure-speech.md
@@ -0,0 +1,23 @@
+---
+summary: "Azure AI Speech text-to-speech (MP3, native Ogg/Opus voice notes, PCM telephony)."
+read_when:
+ - You are installing, configuring, or auditing the azure-speech plugin
+title: "Azure Speech plugin"
+---
+
+# Azure Speech plugin
+
+Azure AI Speech text-to-speech (MP3, native Ogg/Opus voice notes, PCM telephony).
+
+## Distribution
+
+- Package: `@openclaw/azure-speech`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: speechProviders
+
+## Related docs
+
+- [azure-speech](/providers/azure-speech)
diff --git a/docs/plugins/reference/bluebubbles.md b/docs/plugins/reference/bluebubbles.md
new file mode 100644
index 00000000000..303f9565d66
--- /dev/null
+++ b/docs/plugins/reference/bluebubbles.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the BlueBubbles channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the bluebubbles plugin
+title: "BlueBubbles plugin"
+---
+
+# BlueBubbles plugin
+
+Adds the BlueBubbles channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/bluebubbles`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: bluebubbles
+
+## Related docs
+
+- [bluebubbles](/channels/bluebubbles)
diff --git a/docs/plugins/reference/bonjour.md b/docs/plugins/reference/bonjour.md
new file mode 100644
index 00000000000..e1ef2d4f253
--- /dev/null
+++ b/docs/plugins/reference/bonjour.md
@@ -0,0 +1,19 @@
+---
+summary: "Advertise the local OpenClaw gateway over Bonjour/mDNS."
+read_when:
+ - You are installing, configuring, or auditing the bonjour plugin
+title: "Bonjour plugin"
+---
+
+# Bonjour plugin
+
+Advertise the local OpenClaw gateway over Bonjour/mDNS.
+
+## Distribution
+
+- Package: `@openclaw/bonjour`
+- Install route: included in OpenClaw
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/brave.md b/docs/plugins/reference/brave.md
new file mode 100644
index 00000000000..fae7649c3a9
--- /dev/null
+++ b/docs/plugins/reference/brave.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the brave plugin
+title: "Brave plugin"
+---
+
+# Brave plugin
+
+Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/brave-plugin`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: webSearchProviders
+
+## Related docs
+
+- [brave](/tools/brave-search)
diff --git a/docs/plugins/reference/browser.md b/docs/plugins/reference/browser.md
new file mode 100644
index 00000000000..acd25ddefce
--- /dev/null
+++ b/docs/plugins/reference/browser.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds agent-callable tools."
+read_when:
+ - You are installing, configuring, or auditing the browser plugin
+title: "Browser plugin"
+---
+
+# Browser plugin
+
+Adds agent-callable tools.
+
+## Distribution
+
+- Package: `@openclaw/browser-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools; skills
+
+## Related docs
+
+- [browser](/tools/browser)
diff --git a/docs/plugins/reference/byteplus.md b/docs/plugins/reference/byteplus.md
new file mode 100644
index 00000000000..198a47b032f
--- /dev/null
+++ b/docs/plugins/reference/byteplus.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds BytePlus, BytePlus Plan model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the byteplus plugin
+title: "BytePlus plugin"
+---
+
+# BytePlus plugin
+
+Adds BytePlus, BytePlus Plan model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/byteplus-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: byteplus, byteplus-plan; contracts: videoGenerationProviders
diff --git a/docs/plugins/reference/cerebras.md b/docs/plugins/reference/cerebras.md
new file mode 100644
index 00000000000..60670914772
--- /dev/null
+++ b/docs/plugins/reference/cerebras.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Cerebras model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the cerebras plugin
+title: "Cerebras plugin"
+---
+
+# Cerebras plugin
+
+Adds Cerebras model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/cerebras-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: cerebras
+
+## Related docs
+
+- [cerebras](/providers/cerebras)
diff --git a/docs/plugins/reference/chutes.md b/docs/plugins/reference/chutes.md
new file mode 100644
index 00000000000..6116125182e
--- /dev/null
+++ b/docs/plugins/reference/chutes.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Chutes model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the chutes plugin
+title: "Chutes plugin"
+---
+
+# Chutes plugin
+
+Adds Chutes model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/chutes-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: chutes
+
+## Related docs
+
+- [chutes](/providers/chutes)
diff --git a/docs/plugins/reference/cloudflare-ai-gateway.md b/docs/plugins/reference/cloudflare-ai-gateway.md
new file mode 100644
index 00000000000..435f0f4051b
--- /dev/null
+++ b/docs/plugins/reference/cloudflare-ai-gateway.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Cloudflare AI Gateway model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the cloudflare-ai-gateway plugin
+title: "Cloudflare AI Gateway plugin"
+---
+
+# Cloudflare AI Gateway plugin
+
+Adds Cloudflare AI Gateway model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/cloudflare-ai-gateway-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: cloudflare-ai-gateway
+
+## Related docs
+
+- [cloudflare-ai-gateway](/providers/cloudflare-ai-gateway)
diff --git a/docs/plugins/reference/codex.md b/docs/plugins/reference/codex.md
new file mode 100644
index 00000000000..e354c10ff02
--- /dev/null
+++ b/docs/plugins/reference/codex.md
@@ -0,0 +1,23 @@
+---
+summary: "Codex app-server harness and Codex-managed GPT model catalog."
+read_when:
+ - You are installing, configuring, or auditing the codex plugin
+title: "Codex plugin"
+---
+
+# Codex plugin
+
+Codex app-server harness and Codex-managed GPT model catalog.
+
+## Distribution
+
+- Package: `@openclaw/codex`
+- Install route: ClawHub + npm
+
+## Surface
+
+providers: codex; contracts: mediaUnderstandingProviders, migrationProviders
+
+## Related docs
+
+- [codex](/plugins/codex-harness)
diff --git a/docs/plugins/reference/comfy.md b/docs/plugins/reference/comfy.md
new file mode 100644
index 00000000000..4d0028e5886
--- /dev/null
+++ b/docs/plugins/reference/comfy.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds ComfyUI model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the comfy plugin
+title: "ComfyUI plugin"
+---
+
+# ComfyUI plugin
+
+Adds ComfyUI model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/comfy-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders
+
+## Related docs
+
+- [comfy](/providers/comfy)
diff --git a/docs/plugins/reference/copilot-proxy.md b/docs/plugins/reference/copilot-proxy.md
new file mode 100644
index 00000000000..65b0402d700
--- /dev/null
+++ b/docs/plugins/reference/copilot-proxy.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds Copilot Proxy model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the copilot-proxy plugin
+title: "Copilot Proxy plugin"
+---
+
+# Copilot Proxy plugin
+
+Adds Copilot Proxy model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/copilot-proxy`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: copilot-proxy
diff --git a/docs/plugins/reference/deepgram.md b/docs/plugins/reference/deepgram.md
new file mode 100644
index 00000000000..2dde6fde86e
--- /dev/null
+++ b/docs/plugins/reference/deepgram.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds media understanding provider support. Adds realtime transcription provider support."
+read_when:
+ - You are installing, configuring, or auditing the deepgram plugin
+title: "Deepgram plugin"
+---
+
+# Deepgram plugin
+
+Adds media understanding provider support. Adds realtime transcription provider support.
+
+## Distribution
+
+- Package: `@openclaw/deepgram-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders
+
+## Related docs
+
+- [deepgram](/providers/deepgram)
diff --git a/docs/plugins/reference/deepinfra.md b/docs/plugins/reference/deepinfra.md
new file mode 100644
index 00000000000..7fbc3afd496
--- /dev/null
+++ b/docs/plugins/reference/deepinfra.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds DeepInfra model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the deepinfra plugin
+title: "DeepInfra plugin"
+---
+
+# DeepInfra plugin
+
+Adds DeepInfra model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/deepinfra-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders
+
+## Related docs
+
+- [deepinfra](/providers/deepinfra)
diff --git a/docs/plugins/reference/deepseek.md b/docs/plugins/reference/deepseek.md
new file mode 100644
index 00000000000..286a5b0424e
--- /dev/null
+++ b/docs/plugins/reference/deepseek.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds DeepSeek model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the deepseek plugin
+title: "DeepSeek plugin"
+---
+
+# DeepSeek plugin
+
+Adds DeepSeek model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/deepseek-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: deepseek
+
+## Related docs
+
+- [deepseek](/providers/deepseek)
diff --git a/docs/plugins/reference/diagnostics-otel.md b/docs/plugins/reference/diagnostics-otel.md
new file mode 100644
index 00000000000..4d5af86c317
--- /dev/null
+++ b/docs/plugins/reference/diagnostics-otel.md
@@ -0,0 +1,19 @@
+---
+summary: "OpenClaw diagnostics OpenTelemetry exporter."
+read_when:
+ - You are installing, configuring, or auditing the diagnostics-otel plugin
+title: "Diagnostics OpenTelemetry plugin"
+---
+
+# Diagnostics OpenTelemetry plugin
+
+OpenClaw diagnostics OpenTelemetry exporter.
+
+## Distribution
+
+- Package: `@openclaw/diagnostics-otel`
+- Install route: ClawHub + npm
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/diagnostics-prometheus.md b/docs/plugins/reference/diagnostics-prometheus.md
new file mode 100644
index 00000000000..b2f525724ee
--- /dev/null
+++ b/docs/plugins/reference/diagnostics-prometheus.md
@@ -0,0 +1,19 @@
+---
+summary: "OpenClaw diagnostics Prometheus exporter."
+read_when:
+ - You are installing, configuring, or auditing the diagnostics-prometheus plugin
+title: "Diagnostics Prometheus plugin"
+---
+
+# Diagnostics Prometheus plugin
+
+OpenClaw diagnostics Prometheus exporter.
+
+## Distribution
+
+- Package: `@openclaw/diagnostics-prometheus`
+- Install route: ClawHub + npm
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/diffs.md b/docs/plugins/reference/diffs.md
new file mode 100644
index 00000000000..42ba91e7604
--- /dev/null
+++ b/docs/plugins/reference/diffs.md
@@ -0,0 +1,19 @@
+---
+summary: "Read-only diff viewer and file renderer for agents."
+read_when:
+ - You are installing, configuring, or auditing the diffs plugin
+title: "Diffs plugin"
+---
+
+# Diffs plugin
+
+Read-only diff viewer and file renderer for agents.
+
+## Distribution
+
+- Package: `@openclaw/diffs`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: tools; skills
diff --git a/docs/plugins/reference/discord.md b/docs/plugins/reference/discord.md
new file mode 100644
index 00000000000..b9ab08828ad
--- /dev/null
+++ b/docs/plugins/reference/discord.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Discord channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the discord plugin
+title: "Discord plugin"
+---
+
+# Discord plugin
+
+Adds the Discord channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/discord`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: discord
+
+## Related docs
+
+- [discord](/channels/discord)
diff --git a/docs/plugins/reference/document-extract.md b/docs/plugins/reference/document-extract.md
new file mode 100644
index 00000000000..ebd4285a2c7
--- /dev/null
+++ b/docs/plugins/reference/document-extract.md
@@ -0,0 +1,23 @@
+---
+summary: "Extract text and fallback page images from local document attachments."
+read_when:
+ - You are installing, configuring, or auditing the document-extract plugin
+title: "Document Extract plugin"
+---
+
+# Document Extract plugin
+
+Extract text and fallback page images from local document attachments.
+
+## Distribution
+
+- Package: `@openclaw/document-extract-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: documentExtractors
+
+## Related docs
+
+- [document-extract](/tools/pdf)
diff --git a/docs/plugins/reference/duckduckgo.md b/docs/plugins/reference/duckduckgo.md
new file mode 100644
index 00000000000..72665e8aa4c
--- /dev/null
+++ b/docs/plugins/reference/duckduckgo.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the duckduckgo plugin
+title: "DuckDuckGo plugin"
+---
+
+# DuckDuckGo plugin
+
+Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/duckduckgo-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: webSearchProviders
+
+## Related docs
+
+- [duckduckgo](/tools/duckduckgo-search)
diff --git a/docs/plugins/reference/elevenlabs.md b/docs/plugins/reference/elevenlabs.md
new file mode 100644
index 00000000000..a32df84c08e
--- /dev/null
+++ b/docs/plugins/reference/elevenlabs.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds media understanding provider support. Adds realtime transcription provider support. Adds text-to-speech provider support."
+read_when:
+ - You are installing, configuring, or auditing the elevenlabs plugin
+title: "Elevenlabs plugin"
+---
+
+# Elevenlabs plugin
+
+Adds media understanding provider support. Adds realtime transcription provider support. Adds text-to-speech provider support.
+
+## Distribution
+
+- Package: `@openclaw/elevenlabs-speech`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders
+
+## Related docs
+
+- [elevenlabs](/providers/elevenlabs)
diff --git a/docs/plugins/reference/exa.md b/docs/plugins/reference/exa.md
new file mode 100644
index 00000000000..9125f4d955d
--- /dev/null
+++ b/docs/plugins/reference/exa.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the exa plugin
+title: "Exa plugin"
+---
+
+# Exa plugin
+
+Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/exa-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: webSearchProviders
+
+## Related docs
+
+- [exa](/tools/exa-search)
diff --git a/docs/plugins/reference/fal.md b/docs/plugins/reference/fal.md
new file mode 100644
index 00000000000..6ee215ef102
--- /dev/null
+++ b/docs/plugins/reference/fal.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds fal model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the fal plugin
+title: "fal plugin"
+---
+
+# fal plugin
+
+Adds fal model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/fal-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: fal; contracts: imageGenerationProviders, videoGenerationProviders
+
+## Related docs
+
+- [fal](/providers/fal)
diff --git a/docs/plugins/reference/feishu.md b/docs/plugins/reference/feishu.md
new file mode 100644
index 00000000000..7fdfa5acd4e
--- /dev/null
+++ b/docs/plugins/reference/feishu.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Feishu channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the feishu plugin
+title: "Feishu plugin"
+---
+
+# Feishu plugin
+
+Adds the Feishu channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/feishu`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: feishu; contracts: tools; skills
+
+## Related docs
+
+- [feishu](/channels/feishu)
diff --git a/docs/plugins/reference/file-transfer.md b/docs/plugins/reference/file-transfer.md
new file mode 100644
index 00000000000..7e625f422f0
--- /dev/null
+++ b/docs/plugins/reference/file-transfer.md
@@ -0,0 +1,19 @@
+---
+summary: "Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB."
+read_when:
+ - You are installing, configuring, or auditing the file-transfer plugin
+title: "File Transfer plugin"
+---
+
+# File Transfer plugin
+
+Fetch, list, and write files on paired nodes via dedicated node commands. Bypasses bash stdout truncation by using base64 over node.invoke for binaries up to 16 MB.
+
+## Distribution
+
+- Package: `@openclaw/file-transfer`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools
diff --git a/docs/plugins/reference/firecrawl.md b/docs/plugins/reference/firecrawl.md
new file mode 100644
index 00000000000..ecd3ef26774
--- /dev/null
+++ b/docs/plugins/reference/firecrawl.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds agent-callable tools. Adds web fetch provider support. Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the firecrawl plugin
+title: "Firecrawl plugin"
+---
+
+# Firecrawl plugin
+
+Adds agent-callable tools. Adds web fetch provider support. Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/firecrawl-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools, webFetchProviders, webSearchProviders
+
+## Related docs
+
+- [firecrawl](/tools/firecrawl)
diff --git a/docs/plugins/reference/fireworks.md b/docs/plugins/reference/fireworks.md
new file mode 100644
index 00000000000..f009fbfc195
--- /dev/null
+++ b/docs/plugins/reference/fireworks.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Fireworks model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the fireworks plugin
+title: "Fireworks plugin"
+---
+
+# Fireworks plugin
+
+Adds Fireworks model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/fireworks-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: fireworks
+
+## Related docs
+
+- [fireworks](/providers/fireworks)
diff --git a/docs/plugins/reference/github-copilot.md b/docs/plugins/reference/github-copilot.md
new file mode 100644
index 00000000000..2d409113298
--- /dev/null
+++ b/docs/plugins/reference/github-copilot.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds GitHub Copilot model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the github-copilot plugin
+title: "GitHub Copilot plugin"
+---
+
+# GitHub Copilot plugin
+
+Adds GitHub Copilot model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/github-copilot-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: github-copilot; contracts: memoryEmbeddingProviders
+
+## Related docs
+
+- [github-copilot](/providers/github-copilot)
diff --git a/docs/plugins/reference/google-meet.md b/docs/plugins/reference/google-meet.md
new file mode 100644
index 00000000000..f087cf7a913
--- /dev/null
+++ b/docs/plugins/reference/google-meet.md
@@ -0,0 +1,23 @@
+---
+summary: "Join Google Meet calls through Chrome or Twilio transports."
+read_when:
+ - You are installing, configuring, or auditing the google-meet plugin
+title: "Google Meet plugin"
+---
+
+# Google Meet plugin
+
+Join Google Meet calls through Chrome or Twilio transports.
+
+## Distribution
+
+- Package: `@openclaw/google-meet`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: tools
+
+## Related docs
+
+- [google-meet](/plugins/google-meet)
diff --git a/docs/plugins/reference/google.md b/docs/plugins/reference/google.md
new file mode 100644
index 00000000000..31b8e1c1721
--- /dev/null
+++ b/docs/plugins/reference/google.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Google, Google Gemini CLI, Google Vertex model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the google plugin
+title: "Google plugin"
+---
+
+# Google plugin
+
+Adds Google, Google Gemini CLI, Google Vertex model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/google-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders
+
+## Related docs
+
+- [google](/providers/google)
diff --git a/docs/plugins/reference/googlechat.md b/docs/plugins/reference/googlechat.md
new file mode 100644
index 00000000000..90ef0b5477b
--- /dev/null
+++ b/docs/plugins/reference/googlechat.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Google Chat channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the googlechat plugin
+title: "Google Chat plugin"
+---
+
+# Google Chat plugin
+
+Adds the Google Chat channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/googlechat`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: googlechat
+
+## Related docs
+
+- [googlechat](/channels/googlechat)
diff --git a/docs/plugins/reference/gradium.md b/docs/plugins/reference/gradium.md
new file mode 100644
index 00000000000..71521d56e21
--- /dev/null
+++ b/docs/plugins/reference/gradium.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds text-to-speech provider support."
+read_when:
+ - You are installing, configuring, or auditing the gradium plugin
+title: "Gradium plugin"
+---
+
+# Gradium plugin
+
+Adds text-to-speech provider support.
+
+## Distribution
+
+- Package: `@openclaw/gradium-speech`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: speechProviders
+
+## Related docs
+
+- [gradium](/providers/gradium)
diff --git a/docs/plugins/reference/groq.md b/docs/plugins/reference/groq.md
new file mode 100644
index 00000000000..fe102d650e1
--- /dev/null
+++ b/docs/plugins/reference/groq.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Groq model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the groq plugin
+title: "Groq plugin"
+---
+
+# Groq plugin
+
+Adds Groq model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/groq-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: groq; contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [groq](/providers/groq)
diff --git a/docs/plugins/reference/huggingface.md b/docs/plugins/reference/huggingface.md
new file mode 100644
index 00000000000..3e4dee503b1
--- /dev/null
+++ b/docs/plugins/reference/huggingface.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Hugging Face model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the huggingface plugin
+title: "Hugging Face plugin"
+---
+
+# Hugging Face plugin
+
+Adds Hugging Face model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/huggingface-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: huggingface
+
+## Related docs
+
+- [huggingface](/providers/huggingface)
diff --git a/docs/plugins/reference/imessage.md b/docs/plugins/reference/imessage.md
new file mode 100644
index 00000000000..93e523caf78
--- /dev/null
+++ b/docs/plugins/reference/imessage.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the iMessage channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the imessage plugin
+title: "iMessage plugin"
+---
+
+# iMessage plugin
+
+Adds the iMessage channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/imessage`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: imessage
+
+## Related docs
+
+- [imessage](/channels/imessage)
diff --git a/docs/plugins/reference/inworld.md b/docs/plugins/reference/inworld.md
new file mode 100644
index 00000000000..2956b72a7b8
--- /dev/null
+++ b/docs/plugins/reference/inworld.md
@@ -0,0 +1,23 @@
+---
+summary: "Inworld streaming text-to-speech (MP3, OGG_OPUS, PCM telephony)."
+read_when:
+ - You are installing, configuring, or auditing the inworld plugin
+title: "Inworld plugin"
+---
+
+# Inworld plugin
+
+Inworld streaming text-to-speech (MP3, OGG_OPUS, PCM telephony).
+
+## Distribution
+
+- Package: `@openclaw/inworld-speech`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: speechProviders
+
+## Related docs
+
+- [inworld](/providers/inworld)
diff --git a/docs/plugins/reference/irc.md b/docs/plugins/reference/irc.md
new file mode 100644
index 00000000000..a31d8a3c9d3
--- /dev/null
+++ b/docs/plugins/reference/irc.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the IRC channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the irc plugin
+title: "IRC plugin"
+---
+
+# IRC plugin
+
+Adds the IRC channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/irc`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: irc
+
+## Related docs
+
+- [irc](/channels/irc)
diff --git a/docs/plugins/reference/kilocode.md b/docs/plugins/reference/kilocode.md
new file mode 100644
index 00000000000..f0f89be9b12
--- /dev/null
+++ b/docs/plugins/reference/kilocode.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Kilocode model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the kilocode plugin
+title: "Kilocode plugin"
+---
+
+# Kilocode plugin
+
+Adds Kilocode model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/kilocode-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: kilocode
+
+## Related docs
+
+- [kilocode](/providers/kilocode)
diff --git a/docs/plugins/reference/kimi.md b/docs/plugins/reference/kimi.md
new file mode 100644
index 00000000000..60944c43eb4
--- /dev/null
+++ b/docs/plugins/reference/kimi.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Kimi, Kimi Coding model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the kimi plugin
+title: "Kimi plugin"
+---
+
+# Kimi plugin
+
+Adds Kimi, Kimi Coding model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/kimi-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: kimi, kimi-coding
+
+## Related docs
+
+- [kimi](/providers/moonshot)
diff --git a/docs/plugins/reference/line.md b/docs/plugins/reference/line.md
new file mode 100644
index 00000000000..b06e38caa5b
--- /dev/null
+++ b/docs/plugins/reference/line.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the LINE channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the line plugin
+title: "LINE plugin"
+---
+
+# LINE plugin
+
+Adds the LINE channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/line`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: line
+
+## Related docs
+
+- [line](/channels/line)
diff --git a/docs/plugins/reference/litellm.md b/docs/plugins/reference/litellm.md
new file mode 100644
index 00000000000..d93782a077c
--- /dev/null
+++ b/docs/plugins/reference/litellm.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds LiteLLM model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the litellm plugin
+title: "LiteLLM plugin"
+---
+
+# LiteLLM plugin
+
+Adds LiteLLM model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/litellm-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: litellm; contracts: imageGenerationProviders
+
+## Related docs
+
+- [litellm](/providers/litellm)
diff --git a/docs/plugins/reference/llm-task.md b/docs/plugins/reference/llm-task.md
new file mode 100644
index 00000000000..755b6ef515b
--- /dev/null
+++ b/docs/plugins/reference/llm-task.md
@@ -0,0 +1,19 @@
+---
+summary: "Generic JSON-only LLM tool for structured tasks callable from workflows."
+read_when:
+ - You are installing, configuring, or auditing the llm-task plugin
+title: "LLM Task plugin"
+---
+
+# LLM Task plugin
+
+Generic JSON-only LLM tool for structured tasks callable from workflows.
+
+## Distribution
+
+- Package: `@openclaw/llm-task`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools
diff --git a/docs/plugins/reference/lmstudio.md b/docs/plugins/reference/lmstudio.md
new file mode 100644
index 00000000000..8a8fc854b9d
--- /dev/null
+++ b/docs/plugins/reference/lmstudio.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds LM Studio model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the lmstudio plugin
+title: "LM Studio plugin"
+---
+
+# LM Studio plugin
+
+Adds LM Studio model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/lmstudio-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: lmstudio; contracts: memoryEmbeddingProviders
+
+## Related docs
+
+- [lmstudio](/providers/lmstudio)
diff --git a/docs/plugins/reference/lobster.md b/docs/plugins/reference/lobster.md
new file mode 100644
index 00000000000..128c7d750df
--- /dev/null
+++ b/docs/plugins/reference/lobster.md
@@ -0,0 +1,19 @@
+---
+summary: "Typed workflow tool with resumable approvals."
+read_when:
+ - You are installing, configuring, or auditing the lobster plugin
+title: "Lobster plugin"
+---
+
+# Lobster plugin
+
+Typed workflow tool with resumable approvals.
+
+## Distribution
+
+- Package: `@openclaw/lobster`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: tools
diff --git a/docs/plugins/reference/matrix.md b/docs/plugins/reference/matrix.md
new file mode 100644
index 00000000000..31ce3173331
--- /dev/null
+++ b/docs/plugins/reference/matrix.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Matrix channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the matrix plugin
+title: "Matrix plugin"
+---
+
+# Matrix plugin
+
+Adds the Matrix channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/matrix`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: matrix
+
+## Related docs
+
+- [matrix](/channels/matrix)
diff --git a/docs/plugins/reference/mattermost.md b/docs/plugins/reference/mattermost.md
new file mode 100644
index 00000000000..75a58ab4d89
--- /dev/null
+++ b/docs/plugins/reference/mattermost.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Mattermost channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the mattermost plugin
+title: "Mattermost plugin"
+---
+
+# Mattermost plugin
+
+Adds the Mattermost channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/mattermost`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: mattermost
+
+## Related docs
+
+- [mattermost](/channels/mattermost)
diff --git a/docs/plugins/reference/memory-core.md b/docs/plugins/reference/memory-core.md
new file mode 100644
index 00000000000..971a7bde094
--- /dev/null
+++ b/docs/plugins/reference/memory-core.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds memory embedding provider support. Adds agent-callable tools."
+read_when:
+ - You are installing, configuring, or auditing the memory-core plugin
+title: "Memory Core plugin"
+---
+
+# Memory Core plugin
+
+Adds memory embedding provider support. Adds agent-callable tools.
+
+## Distribution
+
+- Package: `@openclaw/memory-core`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: memoryEmbeddingProviders, tools
diff --git a/docs/plugins/reference/memory-lancedb.md b/docs/plugins/reference/memory-lancedb.md
new file mode 100644
index 00000000000..79a4c4defd7
--- /dev/null
+++ b/docs/plugins/reference/memory-lancedb.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds agent-callable tools."
+read_when:
+ - You are installing, configuring, or auditing the memory-lancedb plugin
+title: "Memory Lancedb plugin"
+---
+
+# Memory Lancedb plugin
+
+Adds agent-callable tools.
+
+## Distribution
+
+- Package: `@openclaw/memory-lancedb`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: tools
+
+## Related docs
+
+- [memory-lancedb](/plugins/memory-lancedb)
diff --git a/docs/plugins/reference/memory-wiki.md b/docs/plugins/reference/memory-wiki.md
new file mode 100644
index 00000000000..82c8739302a
--- /dev/null
+++ b/docs/plugins/reference/memory-wiki.md
@@ -0,0 +1,23 @@
+---
+summary: "Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the memory-wiki plugin
+title: "Memory Wiki plugin"
+---
+
+# Memory Wiki plugin
+
+Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/memory-wiki`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools; skills
+
+## Related docs
+
+- [memory-wiki](/plugins/memory-wiki)
diff --git a/docs/plugins/reference/microsoft-foundry.md b/docs/plugins/reference/microsoft-foundry.md
new file mode 100644
index 00000000000..71c2d7f59af
--- /dev/null
+++ b/docs/plugins/reference/microsoft-foundry.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds Microsoft Foundry model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the microsoft-foundry plugin
+title: "Microsoft Foundry plugin"
+---
+
+# Microsoft Foundry plugin
+
+Adds Microsoft Foundry model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/microsoft-foundry`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: microsoft-foundry
diff --git a/docs/plugins/reference/microsoft.md b/docs/plugins/reference/microsoft.md
new file mode 100644
index 00000000000..d30d365f729
--- /dev/null
+++ b/docs/plugins/reference/microsoft.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds text-to-speech provider support."
+read_when:
+ - You are installing, configuring, or auditing the microsoft plugin
+title: "Microsoft plugin"
+---
+
+# Microsoft plugin
+
+Adds text-to-speech provider support.
+
+## Distribution
+
+- Package: `@openclaw/microsoft-speech`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: speechProviders
diff --git a/docs/plugins/reference/migrate-claude.md b/docs/plugins/reference/migrate-claude.md
new file mode 100644
index 00000000000..638ebe3a6f5
--- /dev/null
+++ b/docs/plugins/reference/migrate-claude.md
@@ -0,0 +1,19 @@
+---
+summary: "Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the migrate-claude plugin
+title: "Migrate Claude plugin"
+---
+
+# Migrate Claude plugin
+
+Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/migrate-claude`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: migrationProviders
diff --git a/docs/plugins/reference/migrate-hermes.md b/docs/plugins/reference/migrate-hermes.md
new file mode 100644
index 00000000000..1b2d135989e
--- /dev/null
+++ b/docs/plugins/reference/migrate-hermes.md
@@ -0,0 +1,19 @@
+---
+summary: "Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the migrate-hermes plugin
+title: "Migrate Hermes plugin"
+---
+
+# Migrate Hermes plugin
+
+Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/migrate-hermes`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: migrationProviders
diff --git a/docs/plugins/reference/minimax.md b/docs/plugins/reference/minimax.md
new file mode 100644
index 00000000000..eef1caa8d60
--- /dev/null
+++ b/docs/plugins/reference/minimax.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds MiniMax, MiniMax Portal model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the minimax plugin
+title: "MiniMax plugin"
+---
+
+# MiniMax plugin
+
+Adds MiniMax, MiniMax Portal model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/minimax-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders
+
+## Related docs
+
+- [minimax](/providers/minimax)
diff --git a/docs/plugins/reference/mistral.md b/docs/plugins/reference/mistral.md
new file mode 100644
index 00000000000..4e67ab0eaa2
--- /dev/null
+++ b/docs/plugins/reference/mistral.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Mistral model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the mistral plugin
+title: "Mistral plugin"
+---
+
+# Mistral plugin
+
+Adds Mistral model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/mistral-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders
+
+## Related docs
+
+- [mistral](/providers/mistral)
diff --git a/docs/plugins/reference/moonshot.md b/docs/plugins/reference/moonshot.md
new file mode 100644
index 00000000000..cb320b53667
--- /dev/null
+++ b/docs/plugins/reference/moonshot.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Moonshot model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the moonshot plugin
+title: "Moonshot plugin"
+---
+
+# Moonshot plugin
+
+Adds Moonshot model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/moonshot-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders
+
+## Related docs
+
+- [moonshot](/providers/moonshot)
diff --git a/docs/plugins/reference/msteams.md b/docs/plugins/reference/msteams.md
new file mode 100644
index 00000000000..bef256ab7ee
--- /dev/null
+++ b/docs/plugins/reference/msteams.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Microsoft Teams channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the msteams plugin
+title: "Microsoft Teams plugin"
+---
+
+# Microsoft Teams plugin
+
+Adds the Microsoft Teams channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/msteams`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: msteams
+
+## Related docs
+
+- [msteams](/channels/msteams)
diff --git a/docs/plugins/reference/nextcloud-talk.md b/docs/plugins/reference/nextcloud-talk.md
new file mode 100644
index 00000000000..388d12eb460
--- /dev/null
+++ b/docs/plugins/reference/nextcloud-talk.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Nextcloud Talk channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the nextcloud-talk plugin
+title: "Nextcloud Talk plugin"
+---
+
+# Nextcloud Talk plugin
+
+Adds the Nextcloud Talk channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/nextcloud-talk`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: nextcloud-talk
+
+## Related docs
+
+- [nextcloud-talk](/channels/nextcloud-talk)
diff --git a/docs/plugins/reference/nostr.md b/docs/plugins/reference/nostr.md
new file mode 100644
index 00000000000..99de5355aef
--- /dev/null
+++ b/docs/plugins/reference/nostr.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Nostr channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the nostr plugin
+title: "Nostr plugin"
+---
+
+# Nostr plugin
+
+Adds the Nostr channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/nostr`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: nostr
+
+## Related docs
+
+- [nostr](/channels/nostr)
diff --git a/docs/plugins/reference/nvidia.md b/docs/plugins/reference/nvidia.md
new file mode 100644
index 00000000000..379b2521cdb
--- /dev/null
+++ b/docs/plugins/reference/nvidia.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds NVIDIA model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the nvidia plugin
+title: "NVIDIA plugin"
+---
+
+# NVIDIA plugin
+
+Adds NVIDIA model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/nvidia-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: nvidia
+
+## Related docs
+
+- [nvidia](/providers/nvidia)
diff --git a/docs/plugins/reference/ollama.md b/docs/plugins/reference/ollama.md
new file mode 100644
index 00000000000..a2eac70d141
--- /dev/null
+++ b/docs/plugins/reference/ollama.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Ollama model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the ollama plugin
+title: "Ollama plugin"
+---
+
+# Ollama plugin
+
+Adds Ollama model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/ollama-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders
+
+## Related docs
+
+- [ollama](/providers/ollama)
diff --git a/docs/plugins/reference/open-prose.md b/docs/plugins/reference/open-prose.md
new file mode 100644
index 00000000000..4ba967b52dd
--- /dev/null
+++ b/docs/plugins/reference/open-prose.md
@@ -0,0 +1,19 @@
+---
+summary: "OpenProse VM skill pack with a /prose slash command."
+read_when:
+ - You are installing, configuring, or auditing the open-prose plugin
+title: "Open Prose plugin"
+---
+
+# Open Prose plugin
+
+OpenProse VM skill pack with a /prose slash command.
+
+## Distribution
+
+- Package: `@openclaw/open-prose`
+- Install route: included in OpenClaw
+
+## Surface
+
+skills
diff --git a/docs/plugins/reference/openai.md b/docs/plugins/reference/openai.md
new file mode 100644
index 00000000000..0b3aeb74d7c
--- /dev/null
+++ b/docs/plugins/reference/openai.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds OpenAI, OpenAI Codex model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the openai plugin
+title: "OpenAI plugin"
+---
+
+# OpenAI plugin
+
+Adds OpenAI, OpenAI Codex model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/openai-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders
+
+## Related docs
+
+- [openai](/providers/openai)
diff --git a/docs/plugins/reference/opencode-go.md b/docs/plugins/reference/opencode-go.md
new file mode 100644
index 00000000000..af4f2dc3ab6
--- /dev/null
+++ b/docs/plugins/reference/opencode-go.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds OpenCode Go model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the opencode-go plugin
+title: "OpenCode Go plugin"
+---
+
+# OpenCode Go plugin
+
+Adds OpenCode Go model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/opencode-go-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: opencode-go; contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [opencode-go](/providers/opencode-go)
diff --git a/docs/plugins/reference/opencode.md b/docs/plugins/reference/opencode.md
new file mode 100644
index 00000000000..59296817455
--- /dev/null
+++ b/docs/plugins/reference/opencode.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds OpenCode model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the opencode plugin
+title: "OpenCode plugin"
+---
+
+# OpenCode plugin
+
+Adds OpenCode model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/opencode-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: opencode; contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [opencode](/providers/opencode)
diff --git a/docs/plugins/reference/openrouter.md b/docs/plugins/reference/openrouter.md
new file mode 100644
index 00000000000..c4ad0777a88
--- /dev/null
+++ b/docs/plugins/reference/openrouter.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds OpenRouter model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the openrouter plugin
+title: "OpenRouter plugin"
+---
+
+# OpenRouter plugin
+
+Adds OpenRouter model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/openrouter-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders
+
+## Related docs
+
+- [openrouter](/providers/openrouter)
diff --git a/docs/plugins/reference/openshell.md b/docs/plugins/reference/openshell.md
new file mode 100644
index 00000000000..43de142399c
--- /dev/null
+++ b/docs/plugins/reference/openshell.md
@@ -0,0 +1,19 @@
+---
+summary: "Sandbox backend powered by OpenShell with mirrored local workspaces and SSH-based command execution."
+read_when:
+ - You are installing, configuring, or auditing the openshell plugin
+title: "Openshell plugin"
+---
+
+# Openshell plugin
+
+Sandbox backend powered by OpenShell with mirrored local workspaces and SSH-based command execution.
+
+## Distribution
+
+- Package: `@openclaw/openshell-sandbox`
+- Install route: included in OpenClaw
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/perplexity.md b/docs/plugins/reference/perplexity.md
new file mode 100644
index 00000000000..7197ed3d4ba
--- /dev/null
+++ b/docs/plugins/reference/perplexity.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the perplexity plugin
+title: "Perplexity plugin"
+---
+
+# Perplexity plugin
+
+Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/perplexity-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: webSearchProviders
+
+## Related docs
+
+- [perplexity](/tools/perplexity-search)
diff --git a/docs/plugins/reference/qa-channel.md b/docs/plugins/reference/qa-channel.md
new file mode 100644
index 00000000000..8d9de64e3d5
--- /dev/null
+++ b/docs/plugins/reference/qa-channel.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the QA Channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the qa-channel plugin
+title: "QA Channel plugin"
+---
+
+# QA Channel plugin
+
+Adds the QA Channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/qa-channel`
+- Install route: source checkout only
+
+## Surface
+
+channels: qa-channel
+
+## Related docs
+
+- [qa-channel](/channels/qa-channel)
diff --git a/docs/plugins/reference/qa-lab.md b/docs/plugins/reference/qa-lab.md
new file mode 100644
index 00000000000..6e59bbbf8f4
--- /dev/null
+++ b/docs/plugins/reference/qa-lab.md
@@ -0,0 +1,19 @@
+---
+summary: "OpenClaw QA lab plugin with private debugger UI and scenario runner."
+read_when:
+ - You are installing, configuring, or auditing the qa-lab plugin
+title: "QA Lab plugin"
+---
+
+# QA Lab plugin
+
+OpenClaw QA lab plugin with private debugger UI and scenario runner.
+
+## Distribution
+
+- Package: `@openclaw/qa-lab`
+- Install route: source checkout only
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/qa-matrix.md b/docs/plugins/reference/qa-matrix.md
new file mode 100644
index 00000000000..c48f78c0b9f
--- /dev/null
+++ b/docs/plugins/reference/qa-matrix.md
@@ -0,0 +1,19 @@
+---
+summary: "Matrix QA transport runner and substrate."
+read_when:
+ - You are installing, configuring, or auditing the qa-matrix plugin
+title: "QA Matrix plugin"
+---
+
+# QA Matrix plugin
+
+Matrix QA transport runner and substrate.
+
+## Distribution
+
+- Package: `@openclaw/qa-matrix`
+- Install route: source checkout only
+
+## Surface
+
+plugin
diff --git a/docs/plugins/reference/qianfan.md b/docs/plugins/reference/qianfan.md
new file mode 100644
index 00000000000..58e81688c8b
--- /dev/null
+++ b/docs/plugins/reference/qianfan.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Qianfan model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the qianfan plugin
+title: "Qianfan plugin"
+---
+
+# Qianfan plugin
+
+Adds Qianfan model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/qianfan-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: qianfan
+
+## Related docs
+
+- [qianfan](/providers/qianfan)
diff --git a/docs/plugins/reference/qqbot.md b/docs/plugins/reference/qqbot.md
new file mode 100644
index 00000000000..059a03ee327
--- /dev/null
+++ b/docs/plugins/reference/qqbot.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the QQ Bot channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the qqbot plugin
+title: "QQ Bot plugin"
+---
+
+# QQ Bot plugin
+
+Adds the QQ Bot channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/qqbot`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: qqbot; contracts: tools; skills
+
+## Related docs
+
+- [qqbot](/channels/qqbot)
diff --git a/docs/plugins/reference/qwen.md b/docs/plugins/reference/qwen.md
new file mode 100644
index 00000000000..489261229b9
--- /dev/null
+++ b/docs/plugins/reference/qwen.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Qwen, Qwen Cloud, Model Studio, DashScope model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the qwen plugin
+title: "Qwen plugin"
+---
+
+# Qwen plugin
+
+Adds Qwen, Qwen Cloud, Model Studio, DashScope model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/qwen-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders
+
+## Related docs
+
+- [qwen](/providers/qwen)
diff --git a/docs/plugins/reference/runway.md b/docs/plugins/reference/runway.md
new file mode 100644
index 00000000000..9d7736ed521
--- /dev/null
+++ b/docs/plugins/reference/runway.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds video generation provider support."
+read_when:
+ - You are installing, configuring, or auditing the runway plugin
+title: "Runway plugin"
+---
+
+# Runway plugin
+
+Adds video generation provider support.
+
+## Distribution
+
+- Package: `@openclaw/runway-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: videoGenerationProviders
+
+## Related docs
+
+- [runway](/providers/runway)
diff --git a/docs/plugins/reference/searxng.md b/docs/plugins/reference/searxng.md
new file mode 100644
index 00000000000..2e9ad813790
--- /dev/null
+++ b/docs/plugins/reference/searxng.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the searxng plugin
+title: "SearXNG plugin"
+---
+
+# SearXNG plugin
+
+Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/searxng-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: webSearchProviders
diff --git a/docs/plugins/reference/senseaudio.md b/docs/plugins/reference/senseaudio.md
new file mode 100644
index 00000000000..c93d6c485a3
--- /dev/null
+++ b/docs/plugins/reference/senseaudio.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds media understanding provider support."
+read_when:
+ - You are installing, configuring, or auditing the senseaudio plugin
+title: "Senseaudio plugin"
+---
+
+# Senseaudio plugin
+
+Adds media understanding provider support.
+
+## Distribution
+
+- Package: `@openclaw/senseaudio-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [senseaudio](/providers/senseaudio)
diff --git a/docs/plugins/reference/sglang.md b/docs/plugins/reference/sglang.md
new file mode 100644
index 00000000000..ee5cab0e0c5
--- /dev/null
+++ b/docs/plugins/reference/sglang.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds SGLang model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the sglang plugin
+title: "SGLang plugin"
+---
+
+# SGLang plugin
+
+Adds SGLang model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/sglang-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: sglang
+
+## Related docs
+
+- [sglang](/providers/sglang)
diff --git a/docs/plugins/reference/signal.md b/docs/plugins/reference/signal.md
new file mode 100644
index 00000000000..045315b425f
--- /dev/null
+++ b/docs/plugins/reference/signal.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Signal channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the signal plugin
+title: "Signal plugin"
+---
+
+# Signal plugin
+
+Adds the Signal channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/signal`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: signal
+
+## Related docs
+
+- [signal](/channels/signal)
diff --git a/docs/plugins/reference/skill-workshop.md b/docs/plugins/reference/skill-workshop.md
new file mode 100644
index 00000000000..e30f4235f7c
--- /dev/null
+++ b/docs/plugins/reference/skill-workshop.md
@@ -0,0 +1,23 @@
+---
+summary: "Captures repeatable workflows as workspace skills, with pending review, safe writes, and skill prompt refresh."
+read_when:
+ - You are installing, configuring, or auditing the skill-workshop plugin
+title: "Skill Workshop plugin"
+---
+
+# Skill Workshop plugin
+
+Captures repeatable workflows as workspace skills, with pending review, safe writes, and skill prompt refresh.
+
+## Distribution
+
+- Package: `@openclaw/skill-workshop`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools
+
+## Related docs
+
+- [skill-workshop](/plugins/skill-workshop)
diff --git a/docs/plugins/reference/slack.md b/docs/plugins/reference/slack.md
new file mode 100644
index 00000000000..7d769e0568c
--- /dev/null
+++ b/docs/plugins/reference/slack.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Slack channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the slack plugin
+title: "Slack plugin"
+---
+
+# Slack plugin
+
+Adds the Slack channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/slack`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: slack
+
+## Related docs
+
+- [slack](/channels/slack)
diff --git a/docs/plugins/reference/stepfun.md b/docs/plugins/reference/stepfun.md
new file mode 100644
index 00000000000..6ba03f483a4
--- /dev/null
+++ b/docs/plugins/reference/stepfun.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds StepFun, StepFun Plan model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the stepfun plugin
+title: "StepFun plugin"
+---
+
+# StepFun plugin
+
+Adds StepFun, StepFun Plan model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/stepfun-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: stepfun, stepfun-plan
+
+## Related docs
+
+- [stepfun](/providers/stepfun)
diff --git a/docs/plugins/reference/synology-chat.md b/docs/plugins/reference/synology-chat.md
new file mode 100644
index 00000000000..ebd8308fb6f
--- /dev/null
+++ b/docs/plugins/reference/synology-chat.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Synology Chat channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the synology-chat plugin
+title: "Synology Chat plugin"
+---
+
+# Synology Chat plugin
+
+Adds the Synology Chat channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/synology-chat`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: synology-chat
+
+## Related docs
+
+- [synology-chat](/channels/synology-chat)
diff --git a/docs/plugins/reference/synthetic.md b/docs/plugins/reference/synthetic.md
new file mode 100644
index 00000000000..bc5573d60c9
--- /dev/null
+++ b/docs/plugins/reference/synthetic.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Synthetic model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the synthetic plugin
+title: "Synthetic plugin"
+---
+
+# Synthetic plugin
+
+Adds Synthetic model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/synthetic-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: synthetic
+
+## Related docs
+
+- [synthetic](/providers/synthetic)
diff --git a/docs/plugins/reference/tavily.md b/docs/plugins/reference/tavily.md
new file mode 100644
index 00000000000..6e56f328076
--- /dev/null
+++ b/docs/plugins/reference/tavily.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds agent-callable tools. Adds web search provider support."
+read_when:
+ - You are installing, configuring, or auditing the tavily plugin
+title: "Tavily plugin"
+---
+
+# Tavily plugin
+
+Adds agent-callable tools. Adds web search provider support.
+
+## Distribution
+
+- Package: `@openclaw/tavily-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: tools, webSearchProviders; skills
+
+## Related docs
+
+- [tavily](/tools/tavily)
diff --git a/docs/plugins/reference/telegram.md b/docs/plugins/reference/telegram.md
new file mode 100644
index 00000000000..960f796fc44
--- /dev/null
+++ b/docs/plugins/reference/telegram.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Telegram channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the telegram plugin
+title: "Telegram plugin"
+---
+
+# Telegram plugin
+
+Adds the Telegram channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/telegram`
+- Install route: included in OpenClaw
+
+## Surface
+
+channels: telegram
+
+## Related docs
+
+- [telegram](/channels/telegram)
diff --git a/docs/plugins/reference/tencent.md b/docs/plugins/reference/tencent.md
new file mode 100644
index 00000000000..652f109e97f
--- /dev/null
+++ b/docs/plugins/reference/tencent.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Tencent TokenHub model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the tencent plugin
+title: "Tencent plugin"
+---
+
+# Tencent plugin
+
+Adds Tencent TokenHub model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/tencent-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: tencent-tokenhub
+
+## Related docs
+
+- [tencent](/providers/tencent)
diff --git a/docs/plugins/reference/tlon.md b/docs/plugins/reference/tlon.md
new file mode 100644
index 00000000000..c161ca32cd7
--- /dev/null
+++ b/docs/plugins/reference/tlon.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Tlon channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the tlon plugin
+title: "Tlon plugin"
+---
+
+# Tlon plugin
+
+Adds the Tlon channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/tlon`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: tlon; contracts: tools; skills
+
+## Related docs
+
+- [tlon](/channels/tlon)
diff --git a/docs/plugins/reference/together.md b/docs/plugins/reference/together.md
new file mode 100644
index 00000000000..73269bfc707
--- /dev/null
+++ b/docs/plugins/reference/together.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Together model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the together plugin
+title: "Together plugin"
+---
+
+# Together plugin
+
+Adds Together model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/together-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: together; contracts: videoGenerationProviders
+
+## Related docs
+
+- [together](/providers/together)
diff --git a/docs/plugins/reference/tokenjuice.md b/docs/plugins/reference/tokenjuice.md
new file mode 100644
index 00000000000..72f8c1e1171
--- /dev/null
+++ b/docs/plugins/reference/tokenjuice.md
@@ -0,0 +1,23 @@
+---
+summary: "Compacts exec and bash tool results with tokenjuice reducers."
+read_when:
+ - You are installing, configuring, or auditing the tokenjuice plugin
+title: "Tokenjuice plugin"
+---
+
+# Tokenjuice plugin
+
+Compacts exec and bash tool results with tokenjuice reducers.
+
+## Distribution
+
+- Package: `@openclaw/tokenjuice`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: agentToolResultMiddleware
+
+## Related docs
+
+- [tokenjuice](/tools/tokenjuice)
diff --git a/docs/plugins/reference/tts-local-cli.md b/docs/plugins/reference/tts-local-cli.md
new file mode 100644
index 00000000000..7190d804f05
--- /dev/null
+++ b/docs/plugins/reference/tts-local-cli.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds text-to-speech provider support."
+read_when:
+ - You are installing, configuring, or auditing the tts-local-cli plugin
+title: "TTS Local CLI plugin"
+---
+
+# TTS Local CLI plugin
+
+Adds text-to-speech provider support.
+
+## Distribution
+
+- Package: `@openclaw/tts-local-cli`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: speechProviders
diff --git a/docs/plugins/reference/twitch.md b/docs/plugins/reference/twitch.md
new file mode 100644
index 00000000000..171f02f770a
--- /dev/null
+++ b/docs/plugins/reference/twitch.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Twitch channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the twitch plugin
+title: "Twitch plugin"
+---
+
+# Twitch plugin
+
+Adds the Twitch channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/twitch`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: twitch
+
+## Related docs
+
+- [twitch](/channels/twitch)
diff --git a/docs/plugins/reference/venice.md b/docs/plugins/reference/venice.md
new file mode 100644
index 00000000000..648080095fa
--- /dev/null
+++ b/docs/plugins/reference/venice.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Venice model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the venice plugin
+title: "Venice plugin"
+---
+
+# Venice plugin
+
+Adds Venice model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/venice-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: venice
+
+## Related docs
+
+- [venice](/providers/venice)
diff --git a/docs/plugins/reference/vercel-ai-gateway.md b/docs/plugins/reference/vercel-ai-gateway.md
new file mode 100644
index 00000000000..8976a4d2fe1
--- /dev/null
+++ b/docs/plugins/reference/vercel-ai-gateway.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Vercel AI Gateway model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the vercel-ai-gateway plugin
+title: "Vercel AI Gateway plugin"
+---
+
+# Vercel AI Gateway plugin
+
+Adds Vercel AI Gateway model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/vercel-ai-gateway-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: vercel-ai-gateway
+
+## Related docs
+
+- [vercel-ai-gateway](/providers/vercel-ai-gateway)
diff --git a/docs/plugins/reference/vllm.md b/docs/plugins/reference/vllm.md
new file mode 100644
index 00000000000..b2a898aa293
--- /dev/null
+++ b/docs/plugins/reference/vllm.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds vLLM model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the vllm plugin
+title: "vLLM plugin"
+---
+
+# vLLM plugin
+
+Adds vLLM model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/vllm-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: vllm
+
+## Related docs
+
+- [vllm](/providers/vllm)
diff --git a/docs/plugins/reference/voice-call.md b/docs/plugins/reference/voice-call.md
new file mode 100644
index 00000000000..cd71773a8ad
--- /dev/null
+++ b/docs/plugins/reference/voice-call.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds agent-callable tools."
+read_when:
+ - You are installing, configuring, or auditing the voice-call plugin
+title: "Voice Call plugin"
+---
+
+# Voice Call plugin
+
+Adds agent-callable tools.
+
+## Distribution
+
+- Package: `@openclaw/voice-call`
+- Install route: ClawHub + npm
+
+## Surface
+
+contracts: tools
+
+## Related docs
+
+- [voice-call](/plugins/voice-call)
diff --git a/docs/plugins/reference/volcengine.md b/docs/plugins/reference/volcengine.md
new file mode 100644
index 00000000000..ef4811ddc27
--- /dev/null
+++ b/docs/plugins/reference/volcengine.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Volcengine, Volcengine Plan model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the volcengine plugin
+title: "Volcengine plugin"
+---
+
+# Volcengine plugin
+
+Adds Volcengine, Volcengine Plan model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/volcengine-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: volcengine, volcengine-plan; contracts: speechProviders
+
+## Related docs
+
+- [volcengine](/providers/volcengine)
diff --git a/docs/plugins/reference/voyage.md b/docs/plugins/reference/voyage.md
new file mode 100644
index 00000000000..720a8f0fce0
--- /dev/null
+++ b/docs/plugins/reference/voyage.md
@@ -0,0 +1,19 @@
+---
+summary: "Adds memory embedding provider support."
+read_when:
+ - You are installing, configuring, or auditing the voyage plugin
+title: "Voyage plugin"
+---
+
+# Voyage plugin
+
+Adds memory embedding provider support.
+
+## Distribution
+
+- Package: `@openclaw/voyage-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: memoryEmbeddingProviders
diff --git a/docs/plugins/reference/vydra.md b/docs/plugins/reference/vydra.md
new file mode 100644
index 00000000000..0ecf21a2b7a
--- /dev/null
+++ b/docs/plugins/reference/vydra.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Vydra model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the vydra plugin
+title: "Vydra plugin"
+---
+
+# Vydra plugin
+
+Adds Vydra model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/vydra-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders
+
+## Related docs
+
+- [vydra](/providers/vydra)
diff --git a/docs/plugins/reference/web-readability.md b/docs/plugins/reference/web-readability.md
new file mode 100644
index 00000000000..793516b68ac
--- /dev/null
+++ b/docs/plugins/reference/web-readability.md
@@ -0,0 +1,19 @@
+---
+summary: "Extract readable article content from local HTML web fetch responses."
+read_when:
+ - You are installing, configuring, or auditing the web-readability plugin
+title: "Web Readability plugin"
+---
+
+# Web Readability plugin
+
+Extract readable article content from local HTML web fetch responses.
+
+## Distribution
+
+- Package: `@openclaw/web-readability-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+contracts: webContentExtractors
diff --git a/docs/plugins/reference/webhooks.md b/docs/plugins/reference/webhooks.md
new file mode 100644
index 00000000000..6f3881b8c73
--- /dev/null
+++ b/docs/plugins/reference/webhooks.md
@@ -0,0 +1,23 @@
+---
+summary: "Authenticated inbound webhooks that bind external automation to OpenClaw TaskFlows."
+read_when:
+ - You are installing, configuring, or auditing the webhooks plugin
+title: "Webhooks plugin"
+---
+
+# Webhooks plugin
+
+Authenticated inbound webhooks that bind external automation to OpenClaw TaskFlows.
+
+## Distribution
+
+- Package: `@openclaw/webhooks`
+- Install route: included in OpenClaw
+
+## Surface
+
+plugin
+
+## Related docs
+
+- [webhooks](/plugins/webhooks)
diff --git a/docs/plugins/reference/whatsapp.md b/docs/plugins/reference/whatsapp.md
new file mode 100644
index 00000000000..c184a965966
--- /dev/null
+++ b/docs/plugins/reference/whatsapp.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the WhatsApp channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the whatsapp plugin
+title: "WhatsApp plugin"
+---
+
+# WhatsApp plugin
+
+Adds the WhatsApp channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/whatsapp`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: whatsapp
+
+## Related docs
+
+- [whatsapp](/channels/whatsapp)
diff --git a/docs/plugins/reference/xai.md b/docs/plugins/reference/xai.md
new file mode 100644
index 00000000000..94d9622db05
--- /dev/null
+++ b/docs/plugins/reference/xai.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds xAI model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the xai plugin
+title: "xAI plugin"
+---
+
+# xAI plugin
+
+Adds xAI model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/xai-plugin`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders
+
+## Related docs
+
+- [xai](/providers/xai)
diff --git a/docs/plugins/reference/xiaomi.md b/docs/plugins/reference/xiaomi.md
new file mode 100644
index 00000000000..353e2599c22
--- /dev/null
+++ b/docs/plugins/reference/xiaomi.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Xiaomi model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the xiaomi plugin
+title: "Xiaomi plugin"
+---
+
+# Xiaomi plugin
+
+Adds Xiaomi model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/xiaomi-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: xiaomi; contracts: speechProviders
+
+## Related docs
+
+- [xiaomi](/providers/xiaomi)
diff --git a/docs/plugins/reference/zai.md b/docs/plugins/reference/zai.md
new file mode 100644
index 00000000000..a6c8d14a2b6
--- /dev/null
+++ b/docs/plugins/reference/zai.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds Z.AI model provider support to OpenClaw."
+read_when:
+ - You are installing, configuring, or auditing the zai plugin
+title: "Z.AI plugin"
+---
+
+# Z.AI plugin
+
+Adds Z.AI model provider support to OpenClaw.
+
+## Distribution
+
+- Package: `@openclaw/zai-provider`
+- Install route: included in OpenClaw
+
+## Surface
+
+providers: zai; contracts: mediaUnderstandingProviders
+
+## Related docs
+
+- [zai](/providers/zai)
diff --git a/docs/plugins/reference/zalo.md b/docs/plugins/reference/zalo.md
new file mode 100644
index 00000000000..ccdc94eae74
--- /dev/null
+++ b/docs/plugins/reference/zalo.md
@@ -0,0 +1,23 @@
+---
+summary: "Adds the Zalo channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the zalo plugin
+title: "Zalo plugin"
+---
+
+# Zalo plugin
+
+Adds the Zalo channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/zalo`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: zalo
+
+## Related docs
+
+- [zalo](/channels/zalo)
diff --git a/docs/plugins/reference/zalouser.md b/docs/plugins/reference/zalouser.md
new file mode 100644
index 00000000000..a0f438cc09c
--- /dev/null
+++ b/docs/plugins/reference/zalouser.md
@@ -0,0 +1,24 @@
+---
+summary: "Adds the Zalo Personal channel surface for sending and receiving OpenClaw messages."
+read_when:
+ - You are installing, configuring, or auditing the zalouser plugin
+title: "Zalo Personal plugin"
+---
+
+# Zalo Personal plugin
+
+Adds the Zalo Personal channel surface for sending and receiving OpenClaw messages.
+
+## Distribution
+
+- Package: `@openclaw/zalouser`
+- Install route: ClawHub + npm
+
+## Surface
+
+channels: zalouser; contracts: tools
+
+## Related docs
+
+- [zalouser](/channels/zalouser)
+- [zalouser](/plugins/zalouser)
diff --git a/scripts/generate-plugin-inventory-doc.mjs b/scripts/generate-plugin-inventory-doc.mjs
index 44eae5649d8..2f949e441b6 100644
--- a/scripts/generate-plugin-inventory-doc.mjs
+++ b/scripts/generate-plugin-inventory-doc.mjs
@@ -4,6 +4,8 @@ import path from "node:path";
import process from "node:process";
const DOC_PATH = "docs/plugins/plugin-inventory.md";
+const REFERENCE_INDEX_PATH = "docs/plugins/reference.md";
+const REFERENCE_DIR = "docs/plugins/reference";
const ROOT = process.cwd();
const EXTENSIONS_DIR = path.join(ROOT, "extensions");
@@ -60,6 +62,138 @@ function docLink({ label, href }) {
return `[${label}](${href})`;
}
+function pluginReferencePath(id) {
+ return `/plugins/reference/${id}`;
+}
+
+function humanizeId(value) {
+ const names = new Map([
+ ["acpx", "ACPx"],
+ ["ai", "AI"],
+ ["api", "API"],
+ ["aws", "AWS"],
+ ["azure", "Azure"],
+ ["bluebubbles", "BlueBubbles"],
+ ["byteplus", "BytePlus"],
+ ["codex", "Codex"],
+ ["cli", "CLI"],
+ ["comfy", "ComfyUI"],
+ ["dashscope", "DashScope"],
+ ["deepgram", "Deepgram"],
+ ["deepinfra", "DeepInfra"],
+ ["deepseek", "DeepSeek"],
+ ["duckduckgo", "DuckDuckGo"],
+ ["exa", "Exa"],
+ ["fal", "fal"],
+ ["feishu", "Feishu"],
+ ["github", "GitHub"],
+ ["googlechat", "Google Chat"],
+ ["gpt", "GPT"],
+ ["groq", "Groq"],
+ ["huggingface", "Hugging Face"],
+ ["imessage", "iMessage"],
+ ["irc", "IRC"],
+ ["kimi", "Kimi"],
+ ["line", "LINE"],
+ ["litellm", "LiteLLM"],
+ ["llm", "LLM"],
+ ["lmstudio", "LM Studio"],
+ ["mdns", "mDNS"],
+ ["minimax", "MiniMax"],
+ ["modelstudio", "Model Studio"],
+ ["msteams", "Microsoft Teams"],
+ ["nextcloud", "Nextcloud"],
+ ["nvidia", "NVIDIA"],
+ ["openai", "OpenAI"],
+ ["opencode", "OpenCode"],
+ ["openrouter", "OpenRouter"],
+ ["otel", "OpenTelemetry"],
+ ["qa", "QA"],
+ ["qqbot", "QQ Bot"],
+ ["qwen", "Qwen"],
+ ["qwencloud", "Qwen Cloud"],
+ ["searxng", "SearXNG"],
+ ["sglang", "SGLang"],
+ ["stepfun", "StepFun"],
+ ["tokenhub", "TokenHub"],
+ ["tts", "TTS"],
+ ["twitch", "Twitch"],
+ ["ui", "UI"],
+ ["vllm", "vLLM"],
+ ["whatsapp", "WhatsApp"],
+ ["xai", "xAI"],
+ ["zai", "Z.AI"],
+ ["zalouser", "Zalo Personal"],
+ ]);
+ return value
+ .split("-")
+ .map((part) => names.get(part) ?? part.charAt(0).toUpperCase() + part.slice(1))
+ .join(" ");
+}
+
+function displayList(values) {
+ return values
+ .filter((value) => typeof value === "string" && value.length > 0)
+ .map(humanizeId)
+ .join(", ");
+}
+
+function normalizePackageDescription(value) {
+ if (typeof value !== "string") {
+ return null;
+ }
+ return value.trim().replace(/\s+/gu, " ").replace(/\.$/u, "");
+}
+
+function resolveDescription({ manifest, packageJson }) {
+ const manifestDescription = normalizePackageDescription(manifest.description);
+ if (manifestDescription) {
+ return `${manifestDescription}.`;
+ }
+
+ const channels = Array.isArray(manifest.channels) ? manifest.channels : [];
+ if (channels.length > 0) {
+ const channelLabel = displayList(channels);
+ const channelNoun = channelLabel.toLowerCase().includes("channel") ? "" : " channel";
+ return `Adds the ${channelLabel}${channelNoun} surface for sending and receiving OpenClaw messages.`;
+ }
+
+ const providers = Array.isArray(manifest.providers) ? manifest.providers : [];
+ if (providers.length > 0) {
+ return `Adds ${displayList(providers)} model provider support to OpenClaw.`;
+ }
+
+ const contracts = Object.keys(manifest.contracts ?? {}).toSorted((left, right) =>
+ left.localeCompare(right),
+ );
+ const contractDescriptions = {
+ agentToolResultMiddleware: "Adds agent tool-result middleware.",
+ documentExtractors: "Adds document extraction for local attachments.",
+ imageGenerationProviders: "Adds image generation provider support.",
+ mediaUnderstandingProviders: "Adds media understanding provider support.",
+ memoryEmbeddingProviders: "Adds memory embedding provider support.",
+ migrationProviders: "Adds migration import support.",
+ musicGenerationProviders: "Adds music generation provider support.",
+ realtimeTranscriptionProviders: "Adds realtime transcription provider support.",
+ realtimeVoiceProviders: "Adds realtime voice provider support.",
+ speechProviders: "Adds text-to-speech provider support.",
+ tools: "Adds agent-callable tools.",
+ videoGenerationProviders: "Adds video generation provider support.",
+ webContentExtractors: "Adds readable web content extraction.",
+ webFetchProviders: "Adds web fetch provider support.",
+ webSearchProviders: "Adds web search provider support.",
+ };
+ const describedContracts = contracts
+ .map((contract) => contractDescriptions[contract])
+ .filter((value) => typeof value === "string");
+ if (describedContracts.length > 0) {
+ return describedContracts.join(" ");
+ }
+
+ const packageDescription = normalizePackageDescription(packageJson.description);
+ return packageDescription ? `${packageDescription}.` : "Provides an OpenClaw plugin.";
+}
+
function pushUniqueDocLink(values, value) {
if (
value &&
@@ -150,7 +284,7 @@ function resolveSurface(manifest) {
return parts.join("; ");
}
-function resolveInstall(packageJson, status) {
+function resolveInstallRoute(packageJson, status) {
if (status === "source") {
return "source checkout only";
}
@@ -159,14 +293,18 @@ function resolveInstall(packageJson, status) {
}
const install = packageJson.openclaw?.install;
const release = packageJson.openclaw?.release;
+ const npmSpec =
+ typeof install?.npmSpec === "string" && install.npmSpec !== packageJson.name
+ ? `: \`${install.npmSpec}\``
+ : "";
if (release?.publishToClawHub === true && release?.publishToNpm === true) {
- return install?.npmSpec ? `ClawHub + npm: \`${install.npmSpec}\`` : "ClawHub + npm";
+ return `ClawHub + npm${npmSpec}`;
}
if (release?.publishToClawHub === true) {
- return install?.npmSpec ? `ClawHub: \`${install.npmSpec}\`` : "ClawHub";
+ return `ClawHub${npmSpec}`;
}
if (release?.publishToNpm === true || typeof install?.npmSpec === "string") {
- return `npm: \`${install.npmSpec}\``;
+ return `npm${npmSpec}`;
}
return "installable plugin";
}
@@ -191,14 +329,12 @@ function escapeCell(value) {
function renderTable(records) {
const rows = [
- ["Plugin", "Package", "Surface", "Install"],
+ ["Plugin", "Description", "Distribution", "Surface"],
...records.map((record) => [
- record.docs.length > 0
- ? docLink({ href: record.docs[0].href, label: escapeCell(record.id) })
- : escapeCell(record.id),
- `\`${escapeCell(record.packageName)}\``,
+ docLink({ href: pluginReferencePath(record.id), label: escapeCell(record.id) }),
+ escapeCell(record.description),
+ `\`${escapeCell(record.packageName)}\`
${escapeCell(record.installRoute)}`,
escapeCell(record.surface),
- escapeCell(record.install),
]),
];
const widths = rows[0].map((_, index) => Math.max(...rows.map((row) => row[index].length), 3));
@@ -220,6 +356,61 @@ function formatTableRow(row, widths) {
return `| ${row.map((cell, index) => cell.padEnd(widths[index])).join(" | ")} |`;
}
+function renderRelatedDocs(record) {
+ if (record.docs.length === 0) {
+ return "";
+ }
+ return `## Related docs
+
+${record.docs.map((link) => `- ${docLink(link)}`).join("\n")}`;
+}
+
+function renderReferencePage(record) {
+ const relatedDocs = renderRelatedDocs(record);
+ return `---
+summary: "${record.description.replaceAll('"', '\\"')}"
+read_when:
+ - You are installing, configuring, or auditing the ${record.id} plugin
+title: "${record.name} plugin"
+---
+
+# ${record.name} plugin
+
+${record.description}
+
+## Distribution
+
+- Package: \`${record.packageName}\`
+- Install route: ${record.installRoute}
+
+## Surface
+
+${record.surface}${relatedDocs ? `\n\n${relatedDocs}` : ""}
+`;
+}
+
+function renderReferenceIndex(records) {
+ return `---
+summary: "Generated index of OpenClaw plugin reference pages"
+read_when:
+ - You need a reference page for a specific OpenClaw plugin
+ - You are auditing plugin docs coverage
+title: "Plugin reference"
+---
+
+# Plugin reference
+
+This page is generated from \`extensions/*/package.json\` and
+\`openclaw.plugin.json\`. Regenerate it with:
+
+\`\`\`bash
+pnpm plugins:inventory:gen
+\`\`\`
+
+${renderTable(records)}
+`;
+}
+
function collectPluginRecords() {
const rootPackageJson = readJson("package.json");
const excludedDirs = collectExcludedPackagedExtensionDirs(rootPackageJson);
@@ -238,9 +429,11 @@ function collectPluginRecords() {
const id = typeof manifest.id === "string" && manifest.id ? manifest.id : dirName;
const status = resolveStatus({ dirName, packageJson, excludedDirs });
records.push({
+ description: resolveDescription({ manifest, packageJson }),
docs: resolveDocs({ dirName, manifest, packageJson }),
id,
- install: resolveInstall(packageJson, status),
+ installRoute: resolveInstallRoute(packageJson, status),
+ name: humanizeId(id),
packageName: packageJson.name ?? "-",
status,
surface: resolveSurface(manifest),
@@ -250,6 +443,28 @@ function collectPluginRecords() {
return records.toSorted((left, right) => left.id.localeCompare(right.id));
}
+function writeGeneratedDocs(records) {
+ fs.mkdirSync(path.join(ROOT, REFERENCE_DIR), { recursive: true });
+ for (const record of records) {
+ fs.writeFileSync(
+ path.join(ROOT, REFERENCE_DIR, `${record.id}.md`),
+ renderReferencePage(record),
+ "utf8",
+ );
+ }
+ fs.writeFileSync(path.join(ROOT, REFERENCE_INDEX_PATH), renderReferenceIndex(records), "utf8");
+}
+
+function readGeneratedDocs(records) {
+ return [
+ [REFERENCE_INDEX_PATH, renderReferenceIndex(records)],
+ ...records.map((record) => [
+ path.join(REFERENCE_DIR, `${record.id}.md`),
+ renderReferencePage(record),
+ ]),
+ ];
+}
+
function renderDocument() {
const records = collectPluginRecords();
const groups = {
@@ -308,10 +523,12 @@ function main(argv = process.argv.slice(2)) {
process.exit(2);
}
+ const records = collectPluginRecords();
const next = renderDocument();
const docPath = path.join(ROOT, DOC_PATH);
if (write) {
fs.writeFileSync(docPath, next, "utf8");
+ writeGeneratedDocs(records);
return;
}
@@ -320,6 +537,14 @@ function main(argv = process.argv.slice(2)) {
console.error(`${DOC_PATH} is stale. Run \`pnpm plugins:inventory:gen\`.`);
process.exit(1);
}
+ for (const [relativePath, expected] of readGeneratedDocs(records)) {
+ const fullPath = path.join(ROOT, relativePath);
+ const actual = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, "utf8") : "";
+ if (actual !== expected) {
+ console.error(`${relativePath} is stale. Run \`pnpm plugins:inventory:gen\`.`);
+ process.exit(1);
+ }
+ }
}
main();