diff --git a/.github/workflows/docs-sync-publish.yml b/.github/workflows/docs-sync-publish.yml index 283df79bd493..993492d09db9 100644 --- a/.github/workflows/docs-sync-publish.yml +++ b/.github/workflows/docs-sync-publish.yml @@ -6,8 +6,12 @@ on: - main paths: - docs/** + - extensions/**/openclaw.plugin.json + - extensions/**/package.json - scripts/docs-list.js - scripts/docs-sync-publish.mjs + - scripts/generate-plugin-inventory-doc.mjs + - scripts/lib/plugin-inventory-doc.mjs - .github/workflows/docs-sync-publish.yml workflow_dispatch: diff --git a/.gitignore b/.gitignore index cb1d6a25fcfa..48c79913c6fc 100644 --- a/.gitignore +++ b/.gitignore @@ -190,6 +190,144 @@ docs/.generated/*.json !docs/.generated/config-baseline.counts.json docs/.generated/*.jsonl +# Generated-only plugin references; explicit entries keep new human-authored pages visible. +docs/plugins/reference/admin-http-rpc.md +docs/plugins/reference/alibaba.md +docs/plugins/reference/amazon-bedrock-mantle.md +docs/plugins/reference/amazon-bedrock.md +docs/plugins/reference/arcee.md +docs/plugins/reference/azure-speech.md +docs/plugins/reference/baseten.md +docs/plugins/reference/beam.md +docs/plugins/reference/bonjour.md +docs/plugins/reference/brave.md +docs/plugins/reference/browser.md +docs/plugins/reference/buzz.md +docs/plugins/reference/byteplus.md +docs/plugins/reference/canvas.md +docs/plugins/reference/cerebras.md +docs/plugins/reference/chutes.md +docs/plugins/reference/clawrouter.md +docs/plugins/reference/cloudflare-ai-gateway.md +docs/plugins/reference/codex.md +docs/plugins/reference/cohere.md +docs/plugins/reference/comfy.md +docs/plugins/reference/copilot-proxy.md +docs/plugins/reference/copilot.md +docs/plugins/reference/cua-computer.md +docs/plugins/reference/deepgram.md +docs/plugins/reference/deepinfra.md +docs/plugins/reference/deepseek.md +docs/plugins/reference/diagnostics-otel.md +docs/plugins/reference/diagnostics-prometheus.md +docs/plugins/reference/diffs.md +docs/plugins/reference/discord.md +docs/plugins/reference/document-extract.md +docs/plugins/reference/duckduckgo.md +docs/plugins/reference/elevenlabs.md +docs/plugins/reference/exa.md +docs/plugins/reference/fal.md +docs/plugins/reference/featherless.md +docs/plugins/reference/feishu.md +docs/plugins/reference/file-transfer.md +docs/plugins/reference/firecrawl.md +docs/plugins/reference/fireworks.md +docs/plugins/reference/fish-audio.md +docs/plugins/reference/github-copilot.md +docs/plugins/reference/gmi.md +docs/plugins/reference/google-meet.md +docs/plugins/reference/google.md +docs/plugins/reference/googlechat.md +docs/plugins/reference/gradium.md +docs/plugins/reference/groq.md +docs/plugins/reference/huggingface.md +docs/plugins/reference/imessage.md +docs/plugins/reference/inworld.md +docs/plugins/reference/irc.md +docs/plugins/reference/kilocode.md +docs/plugins/reference/kimi.md +docs/plugins/reference/line.md +docs/plugins/reference/linux-canvas.md +docs/plugins/reference/linux-node.md +docs/plugins/reference/litellm.md +docs/plugins/reference/llm-task.md +docs/plugins/reference/lmstudio.md +docs/plugins/reference/lobster.md +docs/plugins/reference/logbook.md +docs/plugins/reference/longcat.md +docs/plugins/reference/matrix.md +docs/plugins/reference/mattermost.md +docs/plugins/reference/memory-core.md +docs/plugins/reference/memory-lancedb.md +docs/plugins/reference/memory-wiki.md +docs/plugins/reference/meta.md +docs/plugins/reference/microsoft.md +docs/plugins/reference/migrate-claude.md +docs/plugins/reference/migrate-hermes.md +docs/plugins/reference/minimax.md +docs/plugins/reference/mistral.md +docs/plugins/reference/moonshot.md +docs/plugins/reference/msteams.md +docs/plugins/reference/mxc.md +docs/plugins/reference/nextcloud-talk.md +docs/plugins/reference/nostr.md +docs/plugins/reference/novita.md +docs/plugins/reference/nvidia.md +docs/plugins/reference/oc-path.md +docs/plugins/reference/ollama.md +docs/plugins/reference/onepassword.md +docs/plugins/reference/open-prose.md +docs/plugins/reference/openai.md +docs/plugins/reference/opencode-go.md +docs/plugins/reference/openrouter.md +docs/plugins/reference/openshell.md +docs/plugins/reference/perplexity.md +docs/plugins/reference/pixverse.md +docs/plugins/reference/qa-channel.md +docs/plugins/reference/qa-lab.md +docs/plugins/reference/qianfan.md +docs/plugins/reference/qqbot.md +docs/plugins/reference/qwen.md +docs/plugins/reference/raft.md +docs/plugins/reference/reef.md +docs/plugins/reference/runway.md +docs/plugins/reference/searxng.md +docs/plugins/reference/senseaudio.md +docs/plugins/reference/sglang.md +docs/plugins/reference/signal.md +docs/plugins/reference/slack.md +docs/plugins/reference/sms.md +docs/plugins/reference/stepfun.md +docs/plugins/reference/synology-chat.md +docs/plugins/reference/synthetic.md +docs/plugins/reference/tavily.md +docs/plugins/reference/teams-meetings.md +docs/plugins/reference/telegram.md +docs/plugins/reference/tencent.md +docs/plugins/reference/tlon.md +docs/plugins/reference/together.md +docs/plugins/reference/tokenjuice.md +docs/plugins/reference/tts-local-cli.md +docs/plugins/reference/twitch.md +docs/plugins/reference/vault.md +docs/plugins/reference/venice.md +docs/plugins/reference/vercel-ai-gateway.md +docs/plugins/reference/vllm.md +docs/plugins/reference/voice-call.md +docs/plugins/reference/volcengine.md +docs/plugins/reference/voyage.md +docs/plugins/reference/vydra.md +docs/plugins/reference/web-readability.md +docs/plugins/reference/webhooks.md +docs/plugins/reference/whatsapp.md +docs/plugins/reference/workboard.md +docs/plugins/reference/xai.md +docs/plugins/reference/xiaomi.md +docs/plugins/reference/zai.md +docs/plugins/reference/zalo.md +docs/plugins/reference/zalouser.md +docs/plugins/reference/zoom-meetings.md + # Deprecated changelog fragment workflow changelog/fragments/ diff --git a/docs/plugins/reference/admin-http-rpc.md b/docs/plugins/reference/admin-http-rpc.md deleted file mode 100644 index 030c2af99e81..000000000000 --- a/docs/plugins/reference/admin-http-rpc.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw admin HTTP RPC endpoint." -read_when: - - You are installing, configuring, or auditing the admin-http-rpc plugin -title: "Admin Http Rpc plugin" ---- - -# Admin Http Rpc plugin - -OpenClaw admin HTTP RPC endpoint. - -## Distribution - -- Package: `@openclaw/admin-http-rpc` -- Install route: included in OpenClaw - -## Surface - -contracts: `gatewayMethodDispatch` - -## Related docs - -- [admin-http-rpc](/plugins/admin-http-rpc) diff --git a/docs/plugins/reference/alibaba.md b/docs/plugins/reference/alibaba.md deleted file mode 100644 index 4b8824d3e0d0..000000000000 --- a/docs/plugins/reference/alibaba.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 0b8d25efaf95..000000000000 --- a/docs/plugins/reference/amazon-bedrock-mantle.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Amazon Bedrock Mantle provider plugin for OpenAI-compatible model routing." -read_when: - - You are installing, configuring, or auditing the amazon-bedrock-mantle plugin -title: "Amazon Bedrock Mantle plugin" ---- - -# Amazon Bedrock Mantle plugin - -OpenClaw Amazon Bedrock Mantle provider plugin for OpenAI-compatible model routing. - -## Distribution - -- Package: `@openclaw/amazon-bedrock-mantle-provider` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index 8f750f015bdb..000000000000 --- a/docs/plugins/reference/amazon-bedrock.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Amazon Bedrock provider plugin with model discovery, embeddings, and guardrail support." -read_when: - - You are installing, configuring, or auditing the amazon-bedrock plugin -title: "Amazon Bedrock plugin" ---- - -# Amazon Bedrock plugin - -OpenClaw Amazon Bedrock provider plugin with model discovery, embeddings, and guardrail support. - -## Distribution - -- Package: `@openclaw/amazon-bedrock-provider` -- Install route: npm; ClawHub - -## Surface - -providers: `amazon-bedrock`; contracts: `memoryEmbeddingProviders` - -## Related docs - -- [amazon-bedrock](/providers/bedrock) diff --git a/docs/plugins/reference/arcee.md b/docs/plugins/reference/arcee.md deleted file mode 100644 index 0e55e5323b52..000000000000 --- a/docs/plugins/reference/arcee.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/arcee-provider` - -## Surface - -providers: `arcee` - -## Related docs - -- [arcee](/providers/arcee) diff --git a/docs/plugins/reference/azure-speech.md b/docs/plugins/reference/azure-speech.md deleted file mode 100644 index 5510266328c0..000000000000 --- a/docs/plugins/reference/azure-speech.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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/baseten.md b/docs/plugins/reference/baseten.md deleted file mode 100644 index c0f4d5ead58e..000000000000 --- a/docs/plugins/reference/baseten.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Baseten provider plugin." -read_when: - - You are installing, configuring, or auditing the baseten plugin -title: "Baseten plugin" ---- - -# Baseten plugin - -OpenClaw Baseten provider plugin. - -## Distribution - -- Package: `@openclaw/baseten-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/baseten-provider` - -## Surface - -providers: `baseten` - -## Related docs - -- [baseten](/providers/baseten) diff --git a/docs/plugins/reference/beam.md b/docs/plugins/reference/beam.md deleted file mode 100644 index 1e2561757d9a..000000000000 --- a/docs/plugins/reference/beam.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Read-only coding-session Beam receiver." -read_when: - - You are installing, configuring, or auditing the beam plugin -title: "Beam plugin" ---- - -# Beam plugin - -Read-only coding-session Beam receiver. - -## Distribution - -- Package: `@openclaw/beam` -- Install route: included in OpenClaw - -## Surface - -plugin - -## Related docs - -- [beam](/plugins/beam) diff --git a/docs/plugins/reference/bonjour.md b/docs/plugins/reference/bonjour.md deleted file mode 100644 index e1ef2d4f253d..000000000000 --- a/docs/plugins/reference/bonjour.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 9f72ff41484e..000000000000 --- a/docs/plugins/reference/brave.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Brave Search provider plugin for web search." -read_when: - - You are installing, configuring, or auditing the brave plugin -title: "Brave plugin" ---- - -# Brave plugin - -OpenClaw Brave Search provider plugin for web search. - -## Distribution - -- Package: `@openclaw/brave-plugin` -- Install route: npm; ClawHub - -## Surface - -contracts: `webSearchProviders` - -## Related docs - -- [brave](/tools/brave-search) diff --git a/docs/plugins/reference/browser.md b/docs/plugins/reference/browser.md deleted file mode 100644 index ef93dc19e2ba..000000000000 --- a/docs/plugins/reference/browser.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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/buzz.md b/docs/plugins/reference/buzz.md deleted file mode 100644 index 6337f88680e9..000000000000 --- a/docs/plugins/reference/buzz.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Connect OpenClaw agents to Buzz rooms." -read_when: - - You are installing, configuring, or auditing the buzz plugin -title: "Buzz plugin" ---- - -# Buzz plugin - -Connect OpenClaw agents to Buzz rooms. - -## Distribution - -- Package: `@openclaw/buzz` -- Install route: npm; ClawHub: `clawhub:@openclaw/buzz` - -## Surface - -channels: `buzz` - -## Related docs - -- [buzz](/channels/buzz) diff --git a/docs/plugins/reference/byteplus.md b/docs/plugins/reference/byteplus.md deleted file mode 100644 index 597f4ef6889b..000000000000 --- a/docs/plugins/reference/byteplus.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/byteplus-provider` - -## Surface - -providers: `byteplus`, `byteplus-plan`; contracts: `videoGenerationProviders` diff --git a/docs/plugins/reference/canvas.md b/docs/plugins/reference/canvas.md deleted file mode 100644 index 27b146737e49..000000000000 --- a/docs/plugins/reference/canvas.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Experimental Canvas control and A2UI rendering surfaces for paired nodes." -read_when: - - You are installing, configuring, or auditing the canvas plugin -title: "Canvas plugin" ---- - -# Canvas plugin - -Experimental Canvas control and A2UI rendering surfaces for paired nodes. - -## Distribution - -- Package: `@openclaw/canvas-plugin` -- Install route: included in OpenClaw - -## Surface - -contracts: `tools`; skills diff --git a/docs/plugins/reference/cerebras.md b/docs/plugins/reference/cerebras.md deleted file mode 100644 index b13cc9acf874..000000000000 --- a/docs/plugins/reference/cerebras.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/cerebras-provider` - -## Surface - -providers: `cerebras` - -## Related docs - -- [cerebras](/providers/cerebras) diff --git a/docs/plugins/reference/chutes.md b/docs/plugins/reference/chutes.md deleted file mode 100644 index 598685ba3a00..000000000000 --- a/docs/plugins/reference/chutes.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/chutes-provider` - -## Surface - -providers: `chutes` - -## Related docs - -- [Chutes](/providers/chutes) diff --git a/docs/plugins/reference/clawrouter.md b/docs/plugins/reference/clawrouter.md deleted file mode 100644 index b2416af4fb31..000000000000 --- a/docs/plugins/reference/clawrouter.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds ClawRouter model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the clawrouter plugin -title: "ClawRouter plugin" ---- - -# ClawRouter plugin - -Adds ClawRouter model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/clawrouter` -- Install route: included in OpenClaw - -## Surface - -providers: `clawrouter`; contracts: `usageProviders` - -## Related docs - -- [clawrouter](/providers/clawrouter) diff --git a/docs/plugins/reference/cloudflare-ai-gateway.md b/docs/plugins/reference/cloudflare-ai-gateway.md deleted file mode 100644 index 61b460fd9e25..000000000000 --- a/docs/plugins/reference/cloudflare-ai-gateway.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/cloudflare-ai-gateway-provider` - -## 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 deleted file mode 100644 index c282a7fe0c55..000000000000 --- a/docs/plugins/reference/codex.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Codex app-server harness and native session catalog." -read_when: - - You are installing, configuring, or auditing the codex plugin -title: "Codex plugin" ---- - -# Codex plugin - -Codex app-server harness and native session catalog. - -## Distribution - -- Package: `@openclaw/codex` -- Install route: npm; ClawHub - -## Surface - -contracts: `mediaUnderstandingProviders`, `migrationProviders`, `tools`, `webSearchProviders` - -## Related docs - -- [codex](/plugins/codex-harness) diff --git a/docs/plugins/reference/cohere.md b/docs/plugins/reference/cohere.md deleted file mode 100644 index 151e1b7aa9e1..000000000000 --- a/docs/plugins/reference/cohere.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Cohere provider plugin." -read_when: - - You are installing, configuring, or auditing the cohere plugin -title: "Cohere plugin" ---- - -# Cohere plugin - -OpenClaw Cohere provider plugin. - -## Distribution - -- Package: `@openclaw/cohere-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/cohere-provider` - -## Surface - -providers: `cohere` - -## Related docs - -- [cohere](/providers/cohere) diff --git a/docs/plugins/reference/comfy.md b/docs/plugins/reference/comfy.md deleted file mode 100644 index 7cbdf7c051c4..000000000000 --- a/docs/plugins/reference/comfy.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/comfy-provider` - -## 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 deleted file mode 100644 index 9a028fe82aff..000000000000 --- a/docs/plugins/reference/copilot-proxy.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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/copilot.md b/docs/plugins/reference/copilot.md deleted file mode 100644 index a80f4be7dfc9..000000000000 --- a/docs/plugins/reference/copilot.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Registers the GitHub Copilot agent runtime." -read_when: - - You are installing, configuring, or auditing the copilot plugin -title: "Copilot plugin" ---- - -# Copilot plugin - -Registers the GitHub Copilot agent runtime. - -## Distribution - -- Package: `@openclaw/copilot` -- Install route: npm; ClawHub: `clawhub:@openclaw/copilot` - -## Surface - -plugin - -## Related docs - -- [copilot](/plugins/copilot) diff --git a/docs/plugins/reference/cua-computer.md b/docs/plugins/reference/cua-computer.md deleted file mode 100644 index 89bf157669dc..000000000000 --- a/docs/plugins/reference/cua-computer.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Experimental cua-driver computer control for Windows and Linux node hosts." -read_when: - - You are installing, configuring, or auditing the cua-computer plugin -title: "Cua Computer plugin" ---- - -# Cua Computer plugin - -Experimental cua-driver computer control for Windows and Linux node hosts. - -## Distribution - -- Package: `@openclaw/cua-computer` -- Install route: included in OpenClaw - -## Surface - -plugin diff --git a/docs/plugins/reference/deepgram.md b/docs/plugins/reference/deepgram.md deleted file mode 100644 index f994c0bedaaf..000000000000 --- a/docs/plugins/reference/deepgram.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index fb44d74f1467..000000000000 --- a/docs/plugins/reference/deepinfra.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/deepinfra-provider` - -## Surface - -providers: `deepinfra`; contracts: `embeddingProviders`, `imageGenerationProviders`, `mediaUnderstandingProviders`, `speechProviders`, `videoGenerationProviders` - -## Related docs - -- [deepinfra](/providers/deepinfra) diff --git a/docs/plugins/reference/deepseek.md b/docs/plugins/reference/deepseek.md deleted file mode 100644 index e56059cc4633..000000000000 --- a/docs/plugins/reference/deepseek.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/deepseek-provider` - -## Surface - -providers: `deepseek`; contracts: `usageProviders` - -## Related docs - -- [deepseek](/providers/deepseek) diff --git a/docs/plugins/reference/diagnostics-otel.md b/docs/plugins/reference/diagnostics-otel.md deleted file mode 100644 index cb63ca08348f..000000000000 --- a/docs/plugins/reference/diagnostics-otel.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "OpenClaw diagnostics OpenTelemetry exporter for metrics, traces, and logs." -read_when: - - You are installing, configuring, or auditing the diagnostics-otel plugin -title: "Diagnostics OpenTelemetry plugin" ---- - -# Diagnostics OpenTelemetry plugin - -OpenClaw diagnostics OpenTelemetry exporter for metrics, traces, and logs. - -## Distribution - -- Package: `@openclaw/diagnostics-otel` -- Install route: npm; ClawHub: `clawhub:@openclaw/diagnostics-otel` - -## Surface - -plugin diff --git a/docs/plugins/reference/diagnostics-prometheus.md b/docs/plugins/reference/diagnostics-prometheus.md deleted file mode 100644 index a261eb767867..000000000000 --- a/docs/plugins/reference/diagnostics-prometheus.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "OpenClaw diagnostics Prometheus exporter for runtime metrics." -read_when: - - You are installing, configuring, or auditing the diagnostics-prometheus plugin -title: "Diagnostics Prometheus plugin" ---- - -# Diagnostics Prometheus plugin - -OpenClaw diagnostics Prometheus exporter for runtime metrics. - -## Distribution - -- Package: `@openclaw/diagnostics-prometheus` -- Install route: npm; ClawHub: `clawhub:@openclaw/diagnostics-prometheus` - -## Surface - -plugin diff --git a/docs/plugins/reference/diffs.md b/docs/plugins/reference/diffs.md deleted file mode 100644 index 675ad6ed8a57..000000000000 --- a/docs/plugins/reference/diffs.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "OpenClaw read-only diff viewer plugin and file renderer for agents." -read_when: - - You are installing, configuring, or auditing the diffs plugin -title: "Diffs plugin" ---- - -# Diffs plugin - -OpenClaw read-only diff viewer plugin and file renderer for agents. - -## Distribution - -- Package: `@openclaw/diffs` -- Install route: npm; ClawHub - -## Surface - -contracts: `tools`; skills diff --git a/docs/plugins/reference/discord.md b/docs/plugins/reference/discord.md deleted file mode 100644 index 46088d1becd6..000000000000 --- a/docs/plugins/reference/discord.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Discord channel plugin for channels, DMs, commands, and app events." -read_when: - - You are installing, configuring, or auditing the discord plugin -title: "Discord plugin" ---- - -# Discord plugin - -OpenClaw Discord channel plugin for channels, DMs, commands, and app events. - -## Distribution - -- Package: `@openclaw/discord` -- Install route: npm; ClawHub - -## Surface - -channels: `discord`; contracts: `tools`, `transcriptSourceProviders`; skills - -## Related docs - -- [Discord](/channels/discord) diff --git a/docs/plugins/reference/document-extract.md b/docs/plugins/reference/document-extract.md deleted file mode 100644 index eb12f0cbff1d..000000000000 --- a/docs/plugins/reference/document-extract.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index a74ffe70265d..000000000000 --- a/docs/plugins/reference/duckduckgo.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/duckduckgo-plugin` - -## Surface - -contracts: `webSearchProviders` - -## Related docs - -- [duckduckgo](/tools/duckduckgo-search) diff --git a/docs/plugins/reference/elevenlabs.md b/docs/plugins/reference/elevenlabs.md deleted file mode 100644 index 81c1f8b13b10..000000000000 --- a/docs/plugins/reference/elevenlabs.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 074061838c81..000000000000 --- a/docs/plugins/reference/exa.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/exa-plugin` - -## Surface - -contracts: `webSearchProviders` - -## Related docs - -- [exa](/tools/exa-search) diff --git a/docs/plugins/reference/fal.md b/docs/plugins/reference/fal.md deleted file mode 100644 index 8b0a2064570e..000000000000 --- a/docs/plugins/reference/fal.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `musicGenerationProviders`, `videoGenerationProviders` - -## Related docs - -- [fal](/providers/fal) diff --git a/docs/plugins/reference/featherless.md b/docs/plugins/reference/featherless.md deleted file mode 100644 index cae4b172f6d3..000000000000 --- a/docs/plugins/reference/featherless.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Featherless AI provider plugin." -read_when: - - You are installing, configuring, or auditing the featherless plugin -title: "Featherless plugin" ---- - -# Featherless plugin - -OpenClaw Featherless AI provider plugin. - -## Distribution - -- Package: `@openclaw/featherless-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/featherless-provider` - -## Surface - -providers: `featherless` - -## Related docs - -- [featherless](/providers/featherless) diff --git a/docs/plugins/reference/feishu.md b/docs/plugins/reference/feishu.md deleted file mode 100644 index 634badd8e300..000000000000 --- a/docs/plugins/reference/feishu.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng)." -read_when: - - You are installing, configuring, or auditing the feishu plugin -title: "Feishu plugin" ---- - -# Feishu plugin - -OpenClaw Feishu/Lark channel plugin for chats and workplace tools (community maintained by @m1heng). - -## Distribution - -- Package: `@openclaw/feishu` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index d16e873fd1ef..000000000000 --- a/docs/plugins/reference/file-transfer.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 120a77ffc0ea..000000000000 --- a/docs/plugins/reference/firecrawl.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/firecrawl-plugin` - -## Surface - -contracts: `tools`, `webFetchProviders`, `webSearchProviders` - -## Related docs - -- [firecrawl](/tools/firecrawl) diff --git a/docs/plugins/reference/fireworks.md b/docs/plugins/reference/fireworks.md deleted file mode 100644 index 1b4b1ae6de9b..000000000000 --- a/docs/plugins/reference/fireworks.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/fireworks-provider` - -## Surface - -providers: `fireworks` - -## Related docs - -- [Fireworks](/providers/fireworks) diff --git a/docs/plugins/reference/fish-audio.md b/docs/plugins/reference/fish-audio.md deleted file mode 100644 index f6d9d1a257a4..000000000000 --- a/docs/plugins/reference/fish-audio.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Fish Audio S2.1 hosted text-to-speech with streaming, voice notes, and telephony output." -read_when: - - You are installing, configuring, or auditing the fish-audio plugin -title: "Fish Audio plugin" ---- - -# Fish Audio plugin - -Fish Audio S2.1 hosted text-to-speech with streaming, voice notes, and telephony output. - -## Distribution - -- Package: `@openclaw/fish-audio-speech` -- Install route: npm; ClawHub: `clawhub:@openclaw/fish-audio-speech` - -## Surface - -contracts: `speechProviders` - -## Related docs - -- [fish-audio](/providers/fish-audio) diff --git a/docs/plugins/reference/github-copilot.md b/docs/plugins/reference/github-copilot.md deleted file mode 100644 index 48bcc9ffc0d5..000000000000 --- a/docs/plugins/reference/github-copilot.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `usageProviders` - -## Related docs - -- [github-copilot](/providers/github-copilot) diff --git a/docs/plugins/reference/gmi.md b/docs/plugins/reference/gmi.md deleted file mode 100644 index 5716dcde00ca..000000000000 --- a/docs/plugins/reference/gmi.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw GMI Cloud provider plugin." -read_when: - - You are installing, configuring, or auditing the gmi plugin -title: "Gmi plugin" ---- - -# Gmi plugin - -OpenClaw GMI Cloud provider plugin. - -## Distribution - -- Package: `@openclaw/gmi-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/gmi-provider` - -## Surface - -providers: `gmi`, `gmi-cloud`, `gmicloud` - -## Related docs - -- [gmi](/providers/gmi) diff --git a/docs/plugins/reference/google-meet.md b/docs/plugins/reference/google-meet.md deleted file mode 100644 index 70bc2ce0c0b5..000000000000 --- a/docs/plugins/reference/google-meet.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Google Meet participant plugin for joining 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 - -OpenClaw Google Meet participant plugin for joining calls through Chrome or Twilio transports. - -## Distribution - -- Package: `@openclaw/google-meet` -- Install route: npm; ClawHub - -## Surface - -contracts: `tools`, `transcriptSourceProviders` - -## Related docs - -- [google-meet](/plugins/google-meet) diff --git a/docs/plugins/reference/google.md b/docs/plugins/reference/google.md deleted file mode 100644 index c7917953f15c..000000000000 --- a/docs/plugins/reference/google.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `usageProviders`, `videoGenerationProviders`, `webSearchProviders` - -## Related docs - -- [google](/providers/google) diff --git a/docs/plugins/reference/googlechat.md b/docs/plugins/reference/googlechat.md deleted file mode 100644 index 0cd03e56e3ac..000000000000 --- a/docs/plugins/reference/googlechat.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Google Chat channel plugin for spaces and direct messages." -read_when: - - You are installing, configuring, or auditing the googlechat plugin -title: "Google Chat plugin" ---- - -# Google Chat plugin - -OpenClaw Google Chat channel plugin for spaces and direct messages. - -## Distribution - -- Package: `@openclaw/googlechat` -- Install route: npm; ClawHub - -## Surface - -channels: `googlechat` - -## Related docs - -- [Google Chat](/channels/googlechat) diff --git a/docs/plugins/reference/gradium.md b/docs/plugins/reference/gradium.md deleted file mode 100644 index 1d6cc99fc512..000000000000 --- a/docs/plugins/reference/gradium.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/gradium-speech` - -## Surface - -contracts: `speechProviders` - -## Related docs - -- [gradium](/providers/gradium) diff --git a/docs/plugins/reference/groq.md b/docs/plugins/reference/groq.md deleted file mode 100644 index e7aacc9464ee..000000000000 --- a/docs/plugins/reference/groq.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/groq-provider` - -## Surface - -providers: `groq`; contracts: `mediaUnderstandingProviders` - -## Related docs - -- [groq](/providers/groq) diff --git a/docs/plugins/reference/huggingface.md b/docs/plugins/reference/huggingface.md deleted file mode 100644 index 2657e4b2c5d2..000000000000 --- a/docs/plugins/reference/huggingface.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index d88eb2cf1157..000000000000 --- a/docs/plugins/reference/imessage.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/imessage` - -## Surface - -channels: `imessage`; skills - -## Related docs - -- [iMessage](/channels/imessage) diff --git a/docs/plugins/reference/inworld.md b/docs/plugins/reference/inworld.md deleted file mode 100644 index e172ff371733..000000000000 --- a/docs/plugins/reference/inworld.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/inworld-speech` - -## Surface - -contracts: `speechProviders` - -## Related docs - -- [inworld](/providers/inworld) diff --git a/docs/plugins/reference/irc.md b/docs/plugins/reference/irc.md deleted file mode 100644 index d8470e8986cd..000000000000 --- a/docs/plugins/reference/irc.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/irc` - -## Surface - -channels: `irc` - -## Related docs - -- [irc](/channels/irc) diff --git a/docs/plugins/reference/kilocode.md b/docs/plugins/reference/kilocode.md deleted file mode 100644 index 8d74d4636a6d..000000000000 --- a/docs/plugins/reference/kilocode.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/kilocode-provider` - -## Surface - -providers: `kilocode` - -## Related docs - -- [kilocode](/providers/kilocode) diff --git a/docs/plugins/reference/kimi.md b/docs/plugins/reference/kimi.md deleted file mode 100644 index 372fb78e9cf4..000000000000 --- a/docs/plugins/reference/kimi.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/kimi-provider` - -## Surface - -providers: `kimi`, `kimi-coding` - -## Related docs - -- [kimi](/providers/moonshot) diff --git a/docs/plugins/reference/line.md b/docs/plugins/reference/line.md deleted file mode 100644 index aca4dd810e9c..000000000000 --- a/docs/plugins/reference/line.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw LINE channel plugin for LINE Bot API chats." -read_when: - - You are installing, configuring, or auditing the line plugin -title: "LINE plugin" ---- - -# LINE plugin - -OpenClaw LINE channel plugin for LINE Bot API chats. - -## Distribution - -- Package: `@openclaw/line` -- Install route: npm; ClawHub - -## Surface - -channels: `line` - -## Related docs - -- [LINE](/channels/line) diff --git a/docs/plugins/reference/linux-canvas.md b/docs/plugins/reference/linux-canvas.md deleted file mode 100644 index 04c91bc249cd..000000000000 --- a/docs/plugins/reference/linux-canvas.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Canvas rendering bridge for the OpenClaw Linux desktop app." -read_when: - - You are installing, configuring, or auditing the linux-canvas plugin -title: "Linux Canvas plugin" ---- - -# Linux Canvas plugin - -Canvas rendering bridge for the OpenClaw Linux desktop app. - -## Distribution - -- Package: `@openclaw/linux-canvas` -- Install route: included in OpenClaw - -## Surface - -plugin diff --git a/docs/plugins/reference/linux-node.md b/docs/plugins/reference/linux-node.md deleted file mode 100644 index 3d7ca5bac7d6..000000000000 --- a/docs/plugins/reference/linux-node.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Desktop notifications, camera capture, and location for Linux node hosts." -read_when: - - You are installing, configuring, or auditing the linux-node plugin -title: "Linux Node plugin" ---- - -# Linux Node plugin - -Desktop notifications, camera capture, and location for Linux node hosts. - -## Distribution - -- Package: `@openclaw/linux-node` -- Install route: included in OpenClaw - -## Surface - -plugin diff --git a/docs/plugins/reference/litellm.md b/docs/plugins/reference/litellm.md deleted file mode 100644 index b85f116cb7ff..000000000000 --- a/docs/plugins/reference/litellm.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 75186b3dde2a..000000000000 --- a/docs/plugins/reference/llm-task.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index eb531ae99bf1..000000000000 --- a/docs/plugins/reference/lmstudio.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index a9702c563270..000000000000 --- a/docs/plugins/reference/lobster.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Lobster workflow tool plugin for typed pipelines and resumable approvals." -read_when: - - You are installing, configuring, or auditing the lobster plugin -title: "Lobster plugin" ---- - -# Lobster plugin - -Lobster workflow tool plugin for typed pipelines and resumable approvals. - -## Distribution - -- Package: `@openclaw/lobster` -- Install route: npm; ClawHub - -## Surface - -contracts: `tools` diff --git a/docs/plugins/reference/logbook.md b/docs/plugins/reference/logbook.md deleted file mode 100644 index 6d3e3ce4474c..000000000000 --- a/docs/plugins/reference/logbook.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Automatic work journal: captures periodic screen snapshots from a paired node and turns them into a reviewable timeline of your day." -read_when: - - You are installing, configuring, or auditing the logbook plugin -title: "Logbook plugin" ---- - -# Logbook plugin - -Automatic work journal: captures periodic screen snapshots from a paired node and turns them into a reviewable timeline of your day. - -## Distribution - -- Package: `@openclaw/logbook` -- Install route: included in OpenClaw - -## Surface - -plugin - -## Related docs - -- [logbook](/plugins/logbook) diff --git a/docs/plugins/reference/longcat.md b/docs/plugins/reference/longcat.md deleted file mode 100644 index a18c4ee3d614..000000000000 --- a/docs/plugins/reference/longcat.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw LongCat provider plugin." -read_when: - - You are installing, configuring, or auditing the longcat plugin -title: "LongCat plugin" ---- - -# LongCat plugin - -OpenClaw LongCat provider plugin. - -## Distribution - -- Package: `@openclaw/longcat-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/longcat-provider` - -## Surface - -providers: `longcat` - -## Related docs - -- [longcat](/providers/longcat) diff --git a/docs/plugins/reference/matrix.md b/docs/plugins/reference/matrix.md deleted file mode 100644 index 4da82e54c3e2..000000000000 --- a/docs/plugins/reference/matrix.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Matrix channel plugin for rooms and direct messages." -read_when: - - You are installing, configuring, or auditing the matrix plugin -title: "Matrix plugin" ---- - -# Matrix plugin - -OpenClaw Matrix channel plugin for rooms and direct messages. - -## Distribution - -- Package: `@openclaw/matrix` -- Install route: ClawHub: `clawhub:@openclaw/matrix`; npm - -## Surface - -channels: `matrix` - -## Related docs - -- [Matrix](/channels/matrix) diff --git a/docs/plugins/reference/mattermost.md b/docs/plugins/reference/mattermost.md deleted file mode 100644 index abcb29effd11..000000000000 --- a/docs/plugins/reference/mattermost.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/mattermost` - -## Surface - -channels: `mattermost` - -## Related docs - -- [mattermost](/channels/mattermost) diff --git a/docs/plugins/reference/memory-core.md b/docs/plugins/reference/memory-core.md deleted file mode 100644 index c5217faeeac3..000000000000 --- a/docs/plugins/reference/memory-core.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "Adds agent-callable tools." -read_when: - - You are installing, configuring, or auditing the memory-core plugin -title: "Memory Core plugin" ---- - -# Memory Core plugin - -Adds agent-callable tools. - -## Distribution - -- Package: `@openclaw/memory-core` -- Install route: included in OpenClaw - -## Surface - -contracts: `tools` diff --git a/docs/plugins/reference/memory-lancedb.md b/docs/plugins/reference/memory-lancedb.md deleted file mode 100644 index 1c9baee61118..000000000000 --- a/docs/plugins/reference/memory-lancedb.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw LanceDB-backed long-term memory plugin with auto-recall, auto-capture, and vector search." -read_when: - - You are installing, configuring, or auditing the memory-lancedb plugin -title: "Memory Lancedb plugin" ---- - -# Memory Lancedb plugin - -OpenClaw LanceDB-backed long-term memory plugin with auto-recall, auto-capture, and vector search. - -## Distribution - -- Package: `@openclaw/memory-lancedb` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index b4c4ecd83636..000000000000 --- a/docs/plugins/reference/memory-wiki.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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/meta.md b/docs/plugins/reference/meta.md deleted file mode 100644 index 9324d97c2f28..000000000000 --- a/docs/plugins/reference/meta.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds Meta model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the meta plugin -title: "Meta plugin" ---- - -# Meta plugin - -Adds Meta model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/meta-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/meta-provider` - -## Surface - -providers: `meta` - -## Related docs - -- [Meta](/providers/meta) diff --git a/docs/plugins/reference/microsoft.md b/docs/plugins/reference/microsoft.md deleted file mode 100644 index b7fd64316522..000000000000 --- a/docs/plugins/reference/microsoft.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 527b254237ba..000000000000 --- a/docs/plugins/reference/migrate-claude.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 990535426663..000000000000 --- a/docs/plugins/reference/migrate-hermes.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index fe5879203638..000000000000 --- a/docs/plugins/reference/minimax.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `usageProviders`, `videoGenerationProviders`, `webSearchProviders` - -## Related docs - -- [minimax](/providers/minimax) diff --git a/docs/plugins/reference/mistral.md b/docs/plugins/reference/mistral.md deleted file mode 100644 index 7226e986dd00..000000000000 --- a/docs/plugins/reference/mistral.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/mistral-provider` - -## 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 deleted file mode 100644 index 2bcf41050e84..000000000000 --- a/docs/plugins/reference/moonshot.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/moonshot-provider` - -## 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 deleted file mode 100644 index ea8a37c2623b..000000000000 --- a/docs/plugins/reference/msteams.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Microsoft Teams channel plugin for bot conversations." -read_when: - - You are installing, configuring, or auditing the msteams plugin -title: "Microsoft Teams plugin" ---- - -# Microsoft Teams plugin - -OpenClaw Microsoft Teams channel plugin for bot conversations. - -## Distribution - -- Package: `@openclaw/msteams` -- Install route: npm; ClawHub - -## Surface - -channels: `msteams` - -## Related docs - -- [Microsoft Teams](/channels/msteams) diff --git a/docs/plugins/reference/mxc.md b/docs/plugins/reference/mxc.md deleted file mode 100644 index dfe5f231cdc2..000000000000 --- a/docs/plugins/reference/mxc.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "OS-level sandboxed tool execution via MXC: runs commands in a Windows ProcessContainer with configured MXC policy files." -read_when: - - You are installing, configuring, or auditing the mxc plugin -title: "Mxc plugin" ---- - -# Mxc plugin - -OS-level sandboxed tool execution via MXC: runs commands in a Windows ProcessContainer with configured MXC policy files. - -## Distribution - -- Package: `@openclaw/mxc-sandbox` -- Install route: npm; ClawHub - -## Surface - -plugin diff --git a/docs/plugins/reference/nextcloud-talk.md b/docs/plugins/reference/nextcloud-talk.md deleted file mode 100644 index c0ad4663d3c9..000000000000 --- a/docs/plugins/reference/nextcloud-talk.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Nextcloud Talk channel plugin for conversations." -read_when: - - You are installing, configuring, or auditing the nextcloud-talk plugin -title: "Nextcloud Talk plugin" ---- - -# Nextcloud Talk plugin - -OpenClaw Nextcloud Talk channel plugin for conversations. - -## Distribution - -- Package: `@openclaw/nextcloud-talk` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index aac07e1bbeed..000000000000 --- a/docs/plugins/reference/nostr.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Nostr channel plugin for NIP-04 encrypted direct messages." -read_when: - - You are installing, configuring, or auditing the nostr plugin -title: "Nostr plugin" ---- - -# Nostr plugin - -OpenClaw Nostr channel plugin for NIP-04 encrypted direct messages. - -## Distribution - -- Package: `@openclaw/nostr` -- Install route: npm; ClawHub - -## Surface - -channels: `nostr` - -## Related docs - -- [nostr](/channels/nostr) diff --git a/docs/plugins/reference/novita.md b/docs/plugins/reference/novita.md deleted file mode 100644 index 93a57f41d00e..000000000000 --- a/docs/plugins/reference/novita.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds Novita, Novita AI, Novitaai model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the novita plugin -title: "Novita plugin" ---- - -# Novita plugin - -Adds Novita, Novita AI, Novitaai model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/novita-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/novita-provider` - -## Surface - -providers: `novita`, `novita-ai`, `novitaai` - -## Related docs - -- [novita](/providers/novita) diff --git a/docs/plugins/reference/nvidia.md b/docs/plugins/reference/nvidia.md deleted file mode 100644 index 577e5ee9e2c4..000000000000 --- a/docs/plugins/reference/nvidia.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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/oc-path.md b/docs/plugins/reference/oc-path.md deleted file mode 100644 index 14c984502433..000000000000 --- a/docs/plugins/reference/oc-path.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds the openclaw path CLI for oc:// workspace file addressing." -read_when: - - You are installing, configuring, or auditing the oc-path plugin -title: "Oc Path plugin" ---- - -# Oc Path plugin - -Adds the openclaw path CLI for oc:// workspace file addressing. - -## Distribution - -- Package: `@openclaw/oc-path` -- Install route: included in OpenClaw - -## Surface - -plugin - -## Related docs - -- [oc-path](/plugins/oc-path) diff --git a/docs/plugins/reference/ollama.md b/docs/plugins/reference/ollama.md deleted file mode 100644 index 1b85dcf62ff7..000000000000 --- a/docs/plugins/reference/ollama.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -summary: "Adds Ollama, Ollama Cloud model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the ollama plugin -title: "Ollama plugin" ---- - -# Ollama plugin - -Adds Ollama, Ollama Cloud model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/ollama-provider` -- Install route: included in OpenClaw - -## Surface - -providers: `ollama`, `ollama-cloud`; contracts: `memoryEmbeddingProviders`, `tools`, `webSearchProviders` - -## Related docs - -- [ollama](/providers/ollama) -- [ollama-cloud](/providers/ollama-cloud) diff --git a/docs/plugins/reference/onepassword.md b/docs/plugins/reference/onepassword.md deleted file mode 100644 index be8af0f0ef1a..000000000000 --- a/docs/plugins/reference/onepassword.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "1Password SecretRef resolver and curated agent broker with approval policy and SQLite audit history." -read_when: - - You are installing, configuring, or auditing the onepassword plugin -title: "Onepassword plugin" ---- - -# Onepassword plugin - -1Password SecretRef resolver and curated agent broker with approval policy and SQLite audit history. - -## Distribution - -- Package: `@openclaw/onepassword` -- Install route: included in OpenClaw - -## Surface - -contracts: `tools` - -## Related docs - -- [onepassword](/plugins/onepassword) diff --git a/docs/plugins/reference/open-prose.md b/docs/plugins/reference/open-prose.md deleted file mode 100644 index 4ba967b52dd6..000000000000 --- a/docs/plugins/reference/open-prose.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 895cba4a844b..000000000000 --- a/docs/plugins/reference/openai.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds OpenAI model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the openai plugin -title: "OpenAI plugin" ---- - -# OpenAI plugin - -Adds OpenAI model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/openai-provider` -- Install route: included in OpenClaw - -## Surface - -providers: `openai`; contracts: `imageGenerationProviders`, `mediaUnderstandingProviders`, `memoryEmbeddingProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `speechProviders`, `usageProviders`, `videoGenerationProviders` - -## Related docs - -- [openai](/providers/openai) diff --git a/docs/plugins/reference/opencode-go.md b/docs/plugins/reference/opencode-go.md deleted file mode 100644 index 5e85c69c8237..000000000000 --- a/docs/plugins/reference/opencode-go.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/opencode-go-provider` - -## Surface - -providers: `opencode-go`; contracts: `mediaUnderstandingProviders` - -## Related docs - -- [opencode-go](/providers/opencode-go) diff --git a/docs/plugins/reference/openrouter.md b/docs/plugins/reference/openrouter.md deleted file mode 100644 index 2528b2d167cc..000000000000 --- a/docs/plugins/reference/openrouter.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `musicGenerationProviders`, `speechProviders`, `usageProviders`, `videoGenerationProviders` - -## Related docs - -- [openrouter](/providers/openrouter) diff --git a/docs/plugins/reference/openshell.md b/docs/plugins/reference/openshell.md deleted file mode 100644 index ba0db6f3732f..000000000000 --- a/docs/plugins/reference/openshell.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -summary: "OpenClaw sandbox backend for the NVIDIA OpenShell CLI with mirrored local workspaces and SSH command execution." -read_when: - - You are installing, configuring, or auditing the openshell plugin -title: "Openshell plugin" ---- - -# Openshell plugin - -OpenClaw sandbox backend for the NVIDIA OpenShell CLI with mirrored local workspaces and SSH command execution. - -## Distribution - -- Package: `@openclaw/openshell-sandbox` -- Install route: npm; ClawHub - -## Surface - -plugin diff --git a/docs/plugins/reference/perplexity.md b/docs/plugins/reference/perplexity.md deleted file mode 100644 index dea5fc69f155..000000000000 --- a/docs/plugins/reference/perplexity.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/perplexity-plugin` - -## Surface - -contracts: `webSearchProviders` - -## Related docs - -- [perplexity](/tools/perplexity-search) diff --git a/docs/plugins/reference/pixverse.md b/docs/plugins/reference/pixverse.md deleted file mode 100644 index 6276f124707f..000000000000 --- a/docs/plugins/reference/pixverse.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw PixVerse video generation provider plugin." -read_when: - - You are installing, configuring, or auditing the pixverse plugin -title: "PixVerse plugin" ---- - -# PixVerse plugin - -OpenClaw PixVerse video generation provider plugin. - -## Distribution - -- Package: `@openclaw/pixverse-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/pixverse-provider` - -## Surface - -contracts: `videoGenerationProviders` - -## Related docs - -- [pixverse](/providers/pixverse) diff --git a/docs/plugins/reference/qa-channel.md b/docs/plugins/reference/qa-channel.md deleted file mode 100644 index f2673684e97c..000000000000 --- a/docs/plugins/reference/qa-channel.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 996e1121730b..000000000000 --- a/docs/plugins/reference/qa-lab.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 - -contracts: `tools`, `webSearchProviders`, `workerProviders` diff --git a/docs/plugins/reference/qianfan.md b/docs/plugins/reference/qianfan.md deleted file mode 100644 index 67e1f40caecd..000000000000 --- a/docs/plugins/reference/qianfan.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/qianfan-provider` - -## Surface - -providers: `qianfan` - -## Related docs - -- [qianfan](/providers/qianfan) diff --git a/docs/plugins/reference/qqbot.md b/docs/plugins/reference/qqbot.md deleted file mode 100644 index 82468f74fb94..000000000000 --- a/docs/plugins/reference/qqbot.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw QQ Bot channel plugin for group and direct-message workflows." -read_when: - - You are installing, configuring, or auditing the qqbot plugin -title: "QQ Bot plugin" ---- - -# QQ Bot plugin - -OpenClaw QQ Bot channel plugin for group and direct-message workflows. - -## Distribution - -- Package: `@openclaw/qqbot` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index 73c94c02c1f4..000000000000 --- a/docs/plugins/reference/qwen.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds Qwen, Qwen Cloud, Model Studio, DashScope, Qwen Token Plan, Bailian Token Plan 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, Qwen Token Plan, Bailian Token Plan model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/qwen-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/qwen-provider` - -## Surface - -providers: `qwen`, `qwencloud`, `modelstudio`, `dashscope`, `qwen-token-plan`, `bailian-token-plan`; contracts: `mediaUnderstandingProviders`, `videoGenerationProviders` - -## Related docs - -- [qwen](/providers/qwen) diff --git a/docs/plugins/reference/raft.md b/docs/plugins/reference/raft.md deleted file mode 100644 index 6ef43e275e2e..000000000000 --- a/docs/plugins/reference/raft.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Raft channel plugin for secure CLI wake bridges." -read_when: - - You are installing, configuring, or auditing the raft plugin -title: "Raft plugin" ---- - -# Raft plugin - -OpenClaw Raft channel plugin for secure CLI wake bridges. - -## Distribution - -- Package: `@openclaw/raft` -- Install route: npm; ClawHub - -## Surface - -channels: `raft` - -## Related docs - -- [Raft](/channels/raft) diff --git a/docs/plugins/reference/reef.md b/docs/plugins/reference/reef.md deleted file mode 100644 index 447c1aba74c5..000000000000 --- a/docs/plugins/reference/reef.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Guarded end-to-end encrypted claw channel." -read_when: - - You are installing, configuring, or auditing the reef plugin -title: "Reef plugin" ---- - -# Reef plugin - -Guarded end-to-end encrypted claw channel. - -## Distribution - -- Package: `@openclaw/reef` -- Install route: included in OpenClaw - -## Surface - -channels: `reef` - -## Related docs - -- [reef](/channels/reef) diff --git a/docs/plugins/reference/runway.md b/docs/plugins/reference/runway.md deleted file mode 100644 index 9c19a43a04c5..000000000000 --- a/docs/plugins/reference/runway.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index da29b6b52ccc..000000000000 --- a/docs/plugins/reference/searxng.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/searxng-plugin` - -## Surface - -contracts: `webSearchProviders` diff --git a/docs/plugins/reference/senseaudio.md b/docs/plugins/reference/senseaudio.md deleted file mode 100644 index f76d55e3ce3c..000000000000 --- a/docs/plugins/reference/senseaudio.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 7645e4da0bfe..000000000000 --- a/docs/plugins/reference/sglang.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index a2fc9264a994..000000000000 --- a/docs/plugins/reference/signal.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/signal` - -## Surface - -channels: `signal` - -## Related docs - -- [Signal](/channels/signal) diff --git a/docs/plugins/reference/slack.md b/docs/plugins/reference/slack.md deleted file mode 100644 index 2d1bb3dcc7fc..000000000000 --- a/docs/plugins/reference/slack.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Slack channel plugin for channels, DMs, commands, and app events." -read_when: - - You are installing, configuring, or auditing the slack plugin -title: "Slack plugin" ---- - -# Slack plugin - -OpenClaw Slack channel plugin for channels, DMs, commands, and app events. - -## Distribution - -- Package: `@openclaw/slack` -- Install route: npm; ClawHub - -## Surface - -channels: `slack`; skills - -## Related docs - -- [Slack](/channels/slack) diff --git a/docs/plugins/reference/sms.md b/docs/plugins/reference/sms.md deleted file mode 100644 index f10e40426af5..000000000000 --- a/docs/plugins/reference/sms.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Twilio SMS channel plugin for OpenClaw text messages." -read_when: - - You are installing, configuring, or auditing the sms plugin -title: "Sms plugin" ---- - -# Sms plugin - -Twilio SMS channel plugin for OpenClaw text messages. - -## Distribution - -- Package: `@openclaw/sms` -- Install route: npm; ClawHub: `clawhub:@openclaw/sms` - -## Surface - -channels: `sms` - -## Related docs - -- [sms](/channels/sms) diff --git a/docs/plugins/reference/stepfun.md b/docs/plugins/reference/stepfun.md deleted file mode 100644 index 8fc25ddf1ccb..000000000000 --- a/docs/plugins/reference/stepfun.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/stepfun-provider` - -## 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 deleted file mode 100644 index ef4dc8384fd2..000000000000 --- a/docs/plugins/reference/synology-chat.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Synology Chat channel plugin for OpenClaw channels and direct messages." -read_when: - - You are installing, configuring, or auditing the synology-chat plugin -title: "Synology Chat plugin" ---- - -# Synology Chat plugin - -Synology Chat channel plugin for OpenClaw channels and direct messages. - -## Distribution - -- Package: `@openclaw/synology-chat` -- Install route: npm; ClawHub - -## 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 deleted file mode 100644 index ca38a2076a2f..000000000000 --- a/docs/plugins/reference/synthetic.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/synthetic-provider` - -## Surface - -providers: `synthetic` - -## Related docs - -- [Synthetic](/providers/synthetic) diff --git a/docs/plugins/reference/tavily.md b/docs/plugins/reference/tavily.md deleted file mode 100644 index 48519fde63df..000000000000 --- a/docs/plugins/reference/tavily.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/tavily-plugin` - -## Surface - -contracts: `tools`, `webSearchProviders`; skills - -## Related docs - -- [tavily](/tools/tavily) diff --git a/docs/plugins/reference/teams-meetings.md b/docs/plugins/reference/teams-meetings.md deleted file mode 100644 index 96fa3e0a55f3..000000000000 --- a/docs/plugins/reference/teams-meetings.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Join Microsoft Teams meetings as a Chrome browser guest." -read_when: - - You are installing, configuring, or auditing the teams-meetings plugin -title: "Microsoft Teams meetings plugin" ---- - -# Microsoft Teams meetings plugin - -Join Microsoft Teams meetings as a Chrome browser guest. - -## Distribution - -- Package: `@openclaw/teams-meetings` -- Install route: npm; ClawHub: `clawhub:@openclaw/teams-meetings` - -## Surface - -contracts: `tools`, `transcriptSourceProviders` - -## Related docs - -- [teams-meetings](/plugins/teams-meetings) diff --git a/docs/plugins/reference/telegram.md b/docs/plugins/reference/telegram.md deleted file mode 100644 index 959218b6cbeb..000000000000 --- a/docs/plugins/reference/telegram.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index a746297d9951..000000000000 --- a/docs/plugins/reference/tencent.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds Tencent TokenHub, Tencent Tokenplan model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the tencent plugin -title: "Tencent plugin" ---- - -# Tencent plugin - -Adds Tencent TokenHub, Tencent Tokenplan model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/tencent-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/tencent-provider` - -## Surface - -providers: `tencent-tokenhub`, `tencent-tokenplan` - -## Related docs - -- [tencent](/providers/tencent) diff --git a/docs/plugins/reference/tlon.md b/docs/plugins/reference/tlon.md deleted file mode 100644 index e94ff001577f..000000000000 --- a/docs/plugins/reference/tlon.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Tlon/Urbit channel plugin for chat workflows." -read_when: - - You are installing, configuring, or auditing the tlon plugin -title: "Tlon plugin" ---- - -# Tlon plugin - -OpenClaw Tlon/Urbit channel plugin for chat workflows. - -## Distribution - -- Package: `@openclaw/tlon` -- Install route: npm; ClawHub - -## Surface - -channels: `tlon`; skills - -## Related docs - -- [tlon](/channels/tlon) diff --git a/docs/plugins/reference/together.md b/docs/plugins/reference/together.md deleted file mode 100644 index efc60a230895..000000000000 --- a/docs/plugins/reference/together.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 5a258a6eafe8..000000000000 --- a/docs/plugins/reference/tokenjuice.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/tokenjuice` - -## 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 deleted file mode 100644 index dbaa3ec2f160..000000000000 --- a/docs/plugins/reference/tts-local-cli.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index d9d9ce14791d..000000000000 --- a/docs/plugins/reference/twitch.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Twitch channel plugin for chat and moderation workflows." -read_when: - - You are installing, configuring, or auditing the twitch plugin -title: "Twitch plugin" ---- - -# Twitch plugin - -OpenClaw Twitch channel plugin for chat and moderation workflows. - -## Distribution - -- Package: `@openclaw/twitch` -- Install route: npm; ClawHub - -## Surface - -channels: `twitch` - -## Related docs - -- [twitch](/channels/twitch) diff --git a/docs/plugins/reference/vault.md b/docs/plugins/reference/vault.md deleted file mode 100644 index b59b7cf789e3..000000000000 --- a/docs/plugins/reference/vault.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "HashiCorp Vault SecretRef provider integration." -read_when: - - You are installing, configuring, or auditing the vault plugin -title: "Vault plugin" ---- - -# Vault plugin - -HashiCorp Vault SecretRef provider integration. - -## Distribution - -- Package: `@openclaw/vault` -- Install route: included in OpenClaw - -## Surface - -plugin - -## Related docs - -- [vault](/plugins/vault) diff --git a/docs/plugins/reference/venice.md b/docs/plugins/reference/venice.md deleted file mode 100644 index ef207f5432a3..000000000000 --- a/docs/plugins/reference/venice.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/venice-provider` - -## Surface - -providers: `venice`; contracts: `usageProviders` - -## Related docs - -- [venice](/providers/venice) diff --git a/docs/plugins/reference/vercel-ai-gateway.md b/docs/plugins/reference/vercel-ai-gateway.md deleted file mode 100644 index 23437e3389f5..000000000000 --- a/docs/plugins/reference/vercel-ai-gateway.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/vercel-ai-gateway-provider` - -## 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 deleted file mode 100644 index 30d6a21a3e73..000000000000 --- a/docs/plugins/reference/vllm.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index 36b8a33e50ea..000000000000 --- a/docs/plugins/reference/voice-call.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw voice-call plugin for Twilio, Telnyx, and Plivo phone calls." -read_when: - - You are installing, configuring, or auditing the voice-call plugin -title: "Voice Call plugin" ---- - -# Voice Call plugin - -OpenClaw voice-call plugin for Twilio, Telnyx, and Plivo phone calls. - -## Distribution - -- Package: `@openclaw/voice-call` -- Install route: npm; ClawHub - -## Surface - -contracts: `tools`; skills - -## Related docs - -- [voice-call](/plugins/voice-call) diff --git a/docs/plugins/reference/volcengine.md b/docs/plugins/reference/volcengine.md deleted file mode 100644 index e4bbd0db0f69..000000000000 --- a/docs/plugins/reference/volcengine.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/volcengine-provider` - -## 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 deleted file mode 100644 index c4220ee48600..000000000000 --- a/docs/plugins/reference/voyage.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/voyage-provider` - -## Surface - -contracts: `memoryEmbeddingProviders` diff --git a/docs/plugins/reference/vydra.md b/docs/plugins/reference/vydra.md deleted file mode 100644 index 70fa9253a934..000000000000 --- a/docs/plugins/reference/vydra.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/vydra-provider` - -## 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 deleted file mode 100644 index 26eafb559719..000000000000 --- a/docs/plugins/reference/web-readability.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -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 deleted file mode 100644 index 6f3881b8c736..000000000000 --- a/docs/plugins/reference/webhooks.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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 deleted file mode 100644 index b04083aa32a7..000000000000 --- a/docs/plugins/reference/whatsapp.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw WhatsApp channel plugin for WhatsApp Web chats." -read_when: - - You are installing, configuring, or auditing the whatsapp plugin -title: "WhatsApp plugin" ---- - -# WhatsApp plugin - -OpenClaw WhatsApp channel plugin for WhatsApp Web chats. - -## Distribution - -- Package: `@openclaw/whatsapp` -- Install route: ClawHub: `clawhub:@openclaw/whatsapp`; npm - -## Surface - -channels: `whatsapp`; contracts: `tools`; skills - -## Related docs - -- [WhatsApp](/channels/whatsapp) diff --git a/docs/plugins/reference/workboard.md b/docs/plugins/reference/workboard.md deleted file mode 100644 index a99431d78742..000000000000 --- a/docs/plugins/reference/workboard.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Dashboard workboard for agent-owned issues and sessions." -read_when: - - You are installing, configuring, or auditing the workboard plugin -title: "Workboard plugin" ---- - -# Workboard plugin - -Dashboard workboard for agent-owned issues and sessions. - -## Distribution - -- Package: `@openclaw/workboard` -- Install route: included in OpenClaw - -## Surface - -contracts: `tools`; dashboard data bindings: `workboard.cards.list`, `workboard.stats`, `workboard.boards.list`; dashboard action verbs: `workboard.dispatch` - -## Related docs - -- [workboard](/plugins/workboard) diff --git a/docs/plugins/reference/xai.md b/docs/plugins/reference/xai.md deleted file mode 100644 index eb5c9f14f488..000000000000 --- a/docs/plugins/reference/xai.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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`, `realtimeVoiceProviders`, `speechProviders`, `tools`, `videoGenerationProviders`, `webSearchProviders` - -## Related docs - -- [xai](/providers/xai) diff --git a/docs/plugins/reference/xiaomi.md b/docs/plugins/reference/xiaomi.md deleted file mode 100644 index 692193b42924..000000000000 --- a/docs/plugins/reference/xiaomi.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Adds Xiaomi, Xiaomi Token Plan model provider support to OpenClaw." -read_when: - - You are installing, configuring, or auditing the xiaomi plugin -title: "Xiaomi plugin" ---- - -# Xiaomi plugin - -Adds Xiaomi, Xiaomi Token Plan model provider support to OpenClaw. - -## Distribution - -- Package: `@openclaw/xiaomi-provider` -- Install route: npm; ClawHub: `clawhub:@openclaw/xiaomi-provider` - -## Surface - -providers: `xiaomi`, `xiaomi-token-plan`; contracts: `speechProviders`, `usageProviders` - -## Related docs - -- [xiaomi](/providers/xiaomi) diff --git a/docs/plugins/reference/zai.md b/docs/plugins/reference/zai.md deleted file mode 100644 index c886774a4ce9..000000000000 --- a/docs/plugins/reference/zai.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -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: npm; ClawHub: `clawhub:@openclaw/zai-provider` - -## Surface - -providers: `zai`; contracts: `mediaUnderstandingProviders`, `usageProviders` - -## Related docs - -- [zai](/providers/zai) diff --git a/docs/plugins/reference/zalo.md b/docs/plugins/reference/zalo.md deleted file mode 100644 index 2cc060bbf1a8..000000000000 --- a/docs/plugins/reference/zalo.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "OpenClaw Zalo channel plugin for bot and webhook chats." -read_when: - - You are installing, configuring, or auditing the zalo plugin -title: "Zalo plugin" ---- - -# Zalo plugin - -OpenClaw Zalo channel plugin for bot and webhook chats. - -## Distribution - -- Package: `@openclaw/zalo` -- Install route: npm; ClawHub - -## Surface - -channels: `zalo` - -## Related docs - -- [zalo](/channels/zalo) diff --git a/docs/plugins/reference/zalouser.md b/docs/plugins/reference/zalouser.md deleted file mode 100644 index b37d5b10f393..000000000000 --- a/docs/plugins/reference/zalouser.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -summary: "OpenClaw Zalo Personal Account plugin via native zca-js integration." -read_when: - - You are installing, configuring, or auditing the zalouser plugin -title: "Zalo Personal plugin" ---- - -# Zalo Personal plugin - -OpenClaw Zalo Personal Account plugin via native zca-js integration. - -## Distribution - -- Package: `@openclaw/zalouser` -- Install route: npm; ClawHub - -## Surface - -channels: `zalouser`; contracts: `tools` - -## Related docs - -- [zalouser](/channels/zalouser) -- [zalouser](/plugins/zalouser) diff --git a/docs/plugins/reference/zoom-meetings.md b/docs/plugins/reference/zoom-meetings.md deleted file mode 100644 index 7452b941ddc6..000000000000 --- a/docs/plugins/reference/zoom-meetings.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -summary: "Join Zoom meetings as a Chrome browser guest." -read_when: - - You are installing, configuring, or auditing the zoom-meetings plugin -title: "Zoom meetings plugin" ---- - -# Zoom meetings plugin - -Join Zoom meetings as a Chrome browser guest. - -## Distribution - -- Package: `@openclaw/zoom-meetings` -- Install route: npm; ClawHub: `clawhub:@openclaw/zoom-meetings` - -## Surface - -contracts: `tools`, `transcriptSourceProviders` - -## Related docs - -- [zoom-meetings](/plugins/zoom-meetings) diff --git a/package.json b/package.json index 1499278d50a7..7ecedfee7897 100644 --- a/package.json +++ b/package.json @@ -1535,7 +1535,7 @@ "docs:check-links": "node scripts/docs-link-audit.mjs", "docs:check-links:anchors": "node scripts/docs-link-audit.mjs --anchors", "docs:check-mdx": "node scripts/check-docs-mdx.mjs docs README.md", - "docs:dev": "cd docs && mint dev", + "docs:dev": "node scripts/generate-plugin-inventory-doc.mjs --materialize && cd docs && mint dev", "docs:list": "node scripts/docs-list.js", "docs:map:gen": "node scripts/docs-list.js --headings", "docs:spellcheck": "bash scripts/docs-spellcheck.sh", diff --git a/scripts/check-docs-mdx.mjs b/scripts/check-docs-mdx.mjs index 7051777da9de..32eb16fb64ea 100644 --- a/scripts/check-docs-mdx.mjs +++ b/scripts/check-docs-mdx.mjs @@ -311,6 +311,17 @@ async function main() { const args = parseArgs(process.argv.slice(2)); const cwd = process.cwd(); const roots = args.roots.map((root) => path.resolve(root)); + const sourceScriptsDir = path.dirname(fileURLToPath(import.meta.url)); + const sourceDocsDir = path.resolve(sourceScriptsDir, "..", "docs"); + if ( + roots.some( + (root) => root === sourceDocsDir || root.startsWith(`${sourceDocsDir}${path.sep}`), + ) && + fs.existsSync(path.join(sourceScriptsDir, "docs-list.js")) + ) { + const { materializePluginReferenceDocs } = await import("./docs-list.js"); + materializePluginReferenceDocs(sourceDocsDir); + } const files = [ ...new Set( roots.flatMap((root) => { diff --git a/scripts/docs-link-audit.mjs b/scripts/docs-link-audit.mjs index c24a5484d6b6..9d07bb75b6d7 100644 --- a/scripts/docs-link-audit.mjs +++ b/scripts/docs-link-audit.mjs @@ -8,6 +8,7 @@ import path from "node:path"; import { pathToFileURL } from "node:url"; import { createProcessor } from "@mdx-js/mdx"; import MarkdownIt from "markdown-it"; +import { materializePluginReferenceDocs } from "./docs-list.js"; import { resolveClawHubRepoPath, syncClawHubDocsTree } from "./docs-sync-publish.mjs"; import { resolveNpmRunner } from "./npm-runner.mjs"; @@ -874,5 +875,6 @@ function isCliEntry() { } if (isCliEntry()) { + materializePluginReferenceDocs(DOCS_DIR); process.exit(runDocsLinkAuditCli()); } diff --git a/scripts/docs-list.d.ts b/scripts/docs-list.d.ts index 9ab34dd84879..c2ec001dc13f 100644 --- a/scripts/docs-list.d.ts +++ b/scripts/docs-list.d.ts @@ -1,3 +1,7 @@ +export function materializePluginReferenceDocs( + docsDir?: string, + options?: { regenerate?: boolean }, +): boolean; export function renderDocsHeadingMap( docsDir?: string, options?: { relativePath?: (base: string, fullPath: string) => string }, diff --git a/scripts/docs-list.js b/scripts/docs-list.js index b994620fd918..958c81d3c0dd 100755 --- a/scripts/docs-list.js +++ b/scripts/docs-list.js @@ -1,8 +1,9 @@ #!/usr/bin/env node // Lists source docs pages and renders on-demand heading metadata for docs-aware tooling. +import { spawnSync } from "node:child_process"; import { existsSync, readdirSync, readFileSync, realpathSync, statSync } from "node:fs"; -import { join, relative } from "node:path"; +import { dirname, join, relative } from "node:path"; import { fileURLToPath } from "node:url"; const DOCS_DIR = join(process.cwd(), "docs"); @@ -27,6 +28,33 @@ function assertDocsDir(docsDir) { } } +/** Materialize source-owned plugin reference pages before traversing source documentation. */ +export function materializePluginReferenceDocs(docsDir = DOCS_DIR, options = {}) { + const sourceRoot = dirname(docsDir); + const generatorPath = join(sourceRoot, "scripts", "generate-plugin-inventory-doc.mjs"); + if ( + !existsSync(generatorPath) || + !existsSync(join(sourceRoot, "extensions")) || + !existsSync(join(docsDir, "plugins", "plugin-inventory.md")) + ) { + return false; + } + + const result = spawnSync( + process.execPath, + [generatorPath, options.regenerate ? "--write" : "--materialize"], + { cwd: sourceRoot, encoding: "utf8" }, + ); + if (result.error || result.status !== 0) { + throw new Error( + result.error?.message || + result.stderr.trim() || + "failed to materialize plugin reference docs", + ); + } + return true; +} + /** * @param {unknown[]} values * @returns {string[]} @@ -255,6 +283,7 @@ function normalizeDocsMapRelativePath(relativePath) { /** Render the publish-only docs heading map without creating a source-tree mirror. */ export function renderDocsHeadingMap(docsDir = DOCS_DIR, options = {}) { assertDocsDir(docsDir); + materializePluginReferenceDocs(docsDir); const files = walkMarkdownFiles(docsDir, docsDir, { excludedDirs: DOCS_MAP_EXCLUDED_DIRS, excludedFiles: DOCS_MAP_EXCLUDED_FILES, @@ -297,6 +326,7 @@ export function renderDocsHeadingMap(docsDir = DOCS_DIR, options = {}) { function runDocsList(docsDir = DOCS_DIR) { assertDocsDir(docsDir); + materializePluginReferenceDocs(docsDir); console.log("Listing all markdown files in docs folder:"); const markdownFiles = walkMarkdownFiles(docsDir, docsDir, { excludedDirs: DOCS_LIST_EXCLUDED_DIRS, diff --git a/scripts/docs-sync-publish.mjs b/scripts/docs-sync-publish.mjs index bab5500734ef..04bcb258686f 100644 --- a/scripts/docs-sync-publish.mjs +++ b/scripts/docs-sync-publish.mjs @@ -5,7 +5,7 @@ import { execFileSync } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; import { fileURLToPath, pathToFileURL } from "node:url"; -import { renderDocsHeadingMap } from "./docs-list.js"; +import { materializePluginReferenceDocs, renderDocsHeadingMap } from "./docs-list.js"; import { repairMintlifyAccordionIndentation } from "./lib/mintlify-accordion.mjs"; const HERE = path.dirname(fileURLToPath(import.meta.url)); @@ -758,6 +758,7 @@ export function syncClawHubDocsTree(targetDocsDir, options = {}) { } function syncDocsTree(targetRoot, options = {}) { + materializePluginReferenceDocs(SOURCE_DOCS_DIR, { regenerate: true }); const targetDocsDir = path.join(targetRoot, "docs"); ensureDir(targetDocsDir); diff --git a/scripts/format-docs.mjs b/scripts/format-docs.mjs index d802eee5f057..9b1722046dbb 100644 --- a/scripts/format-docs.mjs +++ b/scripts/format-docs.mjs @@ -6,6 +6,7 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; import { pathToFileURL } from "node:url"; +import { materializePluginReferenceDocs } from "./docs-list.js"; import { resolveRepoToolBinPath } from "./lib/local-heavy-check-runtime.mjs"; import { repairMintlifyAccordionIndentation } from "./lib/mintlify-accordion.mjs"; import { outputTail } from "./lib/output-tail.mjs"; @@ -236,6 +237,7 @@ export function formatDocs(params = {}, deps = {}) { } function main() { + materializePluginReferenceDocs(path.join(ROOT, "docs")); const { changed, fileCount } = formatDocs({ check: CHECK, root: ROOT }); if (CHECK && changed.length > 0) { diff --git a/scripts/generate-plugin-inventory-doc.mjs b/scripts/generate-plugin-inventory-doc.mjs index b24f1b594447..609acf1baa9d 100644 --- a/scripts/generate-plugin-inventory-doc.mjs +++ b/scripts/generate-plugin-inventory-doc.mjs @@ -35,6 +35,19 @@ const PLUGIN_DOC_ALIASES = new Map([ const SKIPPED_REFERENCE_PAGE_IDS = new Set(["parallel"]); const MANUAL_SECTION_START = ""; const MANUAL_SECTION_END = ""; +// Human-authored sections remain tracked; manifest-only pages are recreated on demand. +const AUTHORED_REFERENCE_PAGE_IDS = new Set([ + "acpx", + "anthropic", + "anthropic-vertex", + "clickclack", + "crabbox", + "diffs-language-pack", + "llama-cpp", + "microsoft-foundry", + "opencode", + "policy", +]); // Generated link labels are user-visible product names and translation source. const RELATED_DOC_PRODUCT_IDS = new Set([ "chutes", @@ -584,6 +597,21 @@ function writeGeneratedDocs(records) { fs.writeFileSync(path.join(ROOT, REFERENCE_INDEX_PATH), renderReferenceIndex(records), "utf8"); } +function validateAuthoredReferencePages(records) { + for (const record of records.filter(hasGeneratedReferencePage)) { + const relativePath = path.join(REFERENCE_DIR, `${record.id}.md`); + const manualSections = readManualReferenceSections(relativePath); + if (AUTHORED_REFERENCE_PAGE_IDS.has(record.id) && !manualSections) { + throw new Error(`${relativePath} is missing its tracked, human-authored documentation`); + } + if (manualSections && !AUTHORED_REFERENCE_PAGE_IDS.has(record.id)) { + throw new Error( + `${relativePath} contains human-authored documentation; remove its .gitignore entry and add its plugin id to AUTHORED_REFERENCE_PAGE_IDS`, + ); + } + } +} + function readGeneratedDocs(records) { return [ [REFERENCE_INDEX_PATH, renderReferenceIndex(records)], @@ -676,14 +704,18 @@ ${renderInventoryList(groups.source)} function main(argv = process.argv.slice(2)) { const write = argv.includes("--write"); const check = argv.includes("--check"); - if (write === check) { - console.error("usage: node scripts/generate-plugin-inventory-doc.mjs --write|--check"); + const materialize = argv.includes("--materialize"); + if (Number(write) + Number(check) + Number(materialize) !== 1) { + console.error( + "usage: node scripts/generate-plugin-inventory-doc.mjs --write|--check|--materialize", + ); process.exit(2); } const records = collectPluginRecords(); const next = renderDocument(); const docPath = path.join(ROOT, DOC_PATH); + validateAuthoredReferencePages(records); if (write) { fs.writeFileSync(docPath, next, "utf8"); writeGeneratedDocs(records); @@ -697,6 +729,15 @@ function main(argv = process.argv.slice(2)) { } for (const [relativePath, expected] of readGeneratedDocs(records)) { const fullPath = path.join(ROOT, relativePath); + if (!fs.existsSync(fullPath) && relativePath.startsWith(`${REFERENCE_DIR}${path.sep}`)) { + try { + fs.writeFileSync(fullPath, expected, { encoding: "utf8", flag: "wx" }); + } catch (error) { + if (error?.code !== "EEXIST") { + throw error; + } + } + } const actual = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, "utf8") : ""; if (actual !== expected) { console.error(`${relativePath} is stale. Run \`pnpm plugins:inventory:gen\`.`); diff --git a/test/scripts/plugin-reference-docs.test.ts b/test/scripts/plugin-reference-docs.test.ts new file mode 100644 index 000000000000..d2e056c4f28c --- /dev/null +++ b/test/scripts/plugin-reference-docs.test.ts @@ -0,0 +1,161 @@ +import { spawnSync } from "node:child_process"; +import { copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs"; +import path from "node:path"; +import { afterEach, describe, expect, it } from "vitest"; +import { materializePluginReferenceDocs, renderDocsHeadingMap } from "../../scripts/docs-list.js"; +import { preparePackageDocsMap, restorePackageDocsMap } from "../../scripts/package-docs-map.mjs"; +import { cleanupTempDirs, makeTempDir } from "../helpers/temp-dir.js"; + +const tempDirs: string[] = []; +const repoRoot = path.resolve(import.meta.dirname, "../.."); +const manualStart = ""; +const manualEnd = ""; + +function runGenerator(root: string, mode: string) { + return spawnSync( + process.execPath, + [path.join(root, "scripts", "generate-plugin-inventory-doc.mjs"), mode], + { cwd: root, encoding: "utf8" }, + ); +} + +function createPluginDocsFixture() { + const root = makeTempDir(tempDirs, "openclaw-plugin-reference-docs-"); + const referenceDir = path.join(root, "docs", "plugins", "reference"); + mkdirSync(referenceDir, { recursive: true }); + mkdirSync(path.join(root, "scripts", "lib"), { recursive: true }); + for (const relativePath of [ + "scripts/docs-list.js", + "scripts/generate-plugin-inventory-doc.mjs", + "scripts/lib/plugin-inventory-doc.mjs", + ]) { + copyFileSync(path.join(repoRoot, relativePath), path.join(root, relativePath)); + } + writeFileSync( + path.join(root, "package.json"), + `${JSON.stringify({ name: "plugin-docs-fixture", version: "1.0.0", files: ["docs/"] })}\n`, + ); + writeFileSync(path.join(root, ".gitignore"), "docs/plugins/reference/generated-example.md\n"); + + for (const id of ["anthropic", "generated-example"]) { + const pluginDir = path.join(root, "extensions", id); + mkdirSync(pluginDir, { recursive: true }); + writeFileSync( + path.join(pluginDir, "package.json"), + `${JSON.stringify({ name: `@openclaw/${id}` })}\n`, + ); + writeFileSync( + path.join(pluginDir, "openclaw.plugin.json"), + `${JSON.stringify({ id, description: `${id} plugin` })}\n`, + ); + } + + const authoredPath = path.join(referenceDir, "anthropic.md"); + writeFileSync( + authoredPath, + `## Surface\n\nplugin\n\n${manualStart}\n\n## Operator setup\n\nPreserve this exact operator guidance.\n\n${manualEnd}\n`, + ); + const generated = runGenerator(root, "--write"); + if (generated.status !== 0) { + throw new Error(generated.stderr); + } + + const generatedPath = path.join(referenceDir, "generated-example.md"); + const generatedBytes = readFileSync(generatedPath, "utf8"); + const authoredBytes = readFileSync(authoredPath, "utf8"); + rmSync(generatedPath); + return { authoredBytes, authoredPath, generatedBytes, generatedPath, root }; +} + +afterEach(() => { + cleanupTempDirs(tempDirs); +}); + +describe("manifest-generated plugin reference docs", () => { + it("restores clean-checkout routes while preserving authored pages byte-for-byte", () => { + const fixture = createPluginDocsFixture(); + + expect(runGenerator(fixture.root, "--check").status).toBe(0); + expect(readFileSync(fixture.generatedPath, "utf8")).toBe(fixture.generatedBytes); + expect(readFileSync(fixture.authoredPath, "utf8")).toBe(fixture.authoredBytes); + expect(renderDocsHeadingMap(path.join(fixture.root, "docs"))).toContain( + "- Route: /plugins/reference/generated-example", + ); + }); + + it("rejects stale generated pages without overwriting evidence", () => { + const fixture = createPluginDocsFixture(); + writeFileSync( + fixture.generatedPath, + fixture.generatedBytes.replace("generated-example plugin", "STALE generated-example plugin"), + ); + + const result = runGenerator(fixture.root, "--check"); + + expect(result.status).toBe(1); + expect(result.stderr).toContain("generated-example.md is stale"); + expect(readFileSync(fixture.generatedPath, "utf8")).toContain("STALE"); + }); + + it("refuses to recreate missing authored content or hide newly authored sections", () => { + const missingFixture = createPluginDocsFixture(); + rmSync(missingFixture.authoredPath); + const missing = runGenerator(missingFixture.root, "--check"); + expect(missing.status).not.toBe(0); + expect(missing.stderr).toContain("missing its tracked, human-authored documentation"); + expect(existsSync(missingFixture.authoredPath)).toBe(false); + + const hiddenFixture = createPluginDocsFixture(); + writeFileSync( + hiddenFixture.generatedPath, + hiddenFixture.generatedBytes.replace( + "## Surface\n\nplugin", + `## Surface\n\nplugin\n\n${manualStart}\n\nDo not ignore me.\n\n${manualEnd}`, + ), + ); + const hidden = runGenerator(hiddenFixture.root, "--check"); + expect(hidden.status).not.toBe(0); + expect(hidden.stderr).toContain("remove its .gitignore entry"); + }); + + it("materializes references before heading maps and no-lifecycle npm packaging", async () => { + const fixture = createPluginDocsFixture(); + + await expect(preparePackageDocsMap(fixture.root)).resolves.toBe(true); + expect(readFileSync(fixture.generatedPath, "utf8")).toBe(fixture.generatedBytes); + expect(readFileSync(path.join(fixture.root, "docs", "docs_map.md"), "utf8")).toContain( + "- Route: /plugins/reference/generated-example", + ); + + if (process.platform !== "win32") { + const packed = spawnSync("npm", ["pack", "--dry-run", "--ignore-scripts", "--json"], { + cwd: fixture.root, + encoding: "utf8", + }); + expect(packed.status, packed.stderr).toBe(0); + const files = + (JSON.parse(packed.stdout) as Array<{ files: Array<{ path: string }> }>)[0]?.files ?? []; + expect(files.map(({ path: filePath }) => filePath)).toContain( + "docs/plugins/reference/generated-example.md", + ); + } + + await expect(restorePackageDocsMap(fixture.root)).resolves.toBe(true); + expect(readFileSync(fixture.authoredPath, "utf8")).toBe(fixture.authoredBytes); + }); + + it("keeps standalone docs roots and publish mirror scripts independent", () => { + const docsRoot = makeTempDir(tempDirs, "openclaw-standalone-docs-"); + mkdirSync(path.join(docsRoot, "docs")); + expect(materializePluginReferenceDocs(path.join(docsRoot, "docs"))).toBe(false); + + const workflow = readFileSync( + path.join(repoRoot, ".github", "workflows", "docs-sync-publish.yml"), + "utf8", + ); + expect(workflow).toContain("extensions/**/openclaw.plugin.json"); + expect(workflow).toContain("extensions/**/package.json"); + expect(workflow).toContain("scripts/generate-plugin-inventory-doc.mjs"); + expect(workflow).toContain("scripts/lib/plugin-inventory-doc.mjs"); + }); +});