vilvona 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12331 -0
- package/LICENSE +24 -0
- package/README.md +314 -0
- package/THIRD_PARTY_NOTICES.md +37 -0
- package/docs/.i18n/README.md +81 -0
- package/docs/.i18n/ar-navigation.json +18 -0
- package/docs/.i18n/de-navigation.json +18 -0
- package/docs/.i18n/es-navigation.json +18 -0
- package/docs/.i18n/fr-navigation.json +18 -0
- package/docs/.i18n/glossary.ar.json +82 -0
- package/docs/.i18n/glossary.de.json +82 -0
- package/docs/.i18n/glossary.es.json +82 -0
- package/docs/.i18n/glossary.fa.json +82 -0
- package/docs/.i18n/glossary.fr.json +82 -0
- package/docs/.i18n/glossary.id.json +82 -0
- package/docs/.i18n/glossary.it.json +82 -0
- package/docs/.i18n/glossary.ja-JP.json +102 -0
- package/docs/.i18n/glossary.ko.json +82 -0
- package/docs/.i18n/glossary.nl.json +82 -0
- package/docs/.i18n/glossary.pl.json +82 -0
- package/docs/.i18n/glossary.pt-BR.json +82 -0
- package/docs/.i18n/glossary.th.json +82 -0
- package/docs/.i18n/glossary.tr.json +82 -0
- package/docs/.i18n/glossary.uk.json +82 -0
- package/docs/.i18n/glossary.vi.json +82 -0
- package/docs/.i18n/glossary.zh-CN.json +1182 -0
- package/docs/.i18n/glossary.zh-TW.json +162 -0
- package/docs/.i18n/id-navigation.json +18 -0
- package/docs/.i18n/it-navigation.json +18 -0
- package/docs/.i18n/ja-navigation.json +18 -0
- package/docs/.i18n/ko-navigation.json +18 -0
- package/docs/.i18n/pl-navigation.json +18 -0
- package/docs/.i18n/pt-BR-navigation.json +18 -0
- package/docs/.i18n/tr-navigation.json +18 -0
- package/docs/.i18n/translation-workflow.md +111 -0
- package/docs/.i18n/zh-Hans-navigation.json +552 -0
- package/docs/AGENTS.md +36 -0
- package/docs/agent-runtime-architecture.md +48 -0
- package/docs/announcements/bluebubbles-imessage.md +79 -0
- package/docs/auth-credential-semantics.md +124 -0
- package/docs/automation/auth-monitoring.md +11 -0
- package/docs/automation/clawflow.md +12 -0
- package/docs/automation/cron-jobs.md +569 -0
- package/docs/automation/cron-vs-heartbeat.md +11 -0
- package/docs/automation/gmail-pubsub.md +11 -0
- package/docs/automation/hooks.md +387 -0
- package/docs/automation/index.md +135 -0
- package/docs/automation/poll.md +12 -0
- package/docs/automation/standing-orders.md +250 -0
- package/docs/automation/taskflow.md +155 -0
- package/docs/automation/tasks.md +374 -0
- package/docs/automation/troubleshooting.md +12 -0
- package/docs/automation/webhook.md +12 -0
- package/docs/brave-search.md +11 -0
- package/docs/channels/access-groups.md +201 -0
- package/docs/channels/ambient-room-events.md +214 -0
- package/docs/channels/bot-loop-protection.md +131 -0
- package/docs/channels/broadcast-groups.md +472 -0
- package/docs/channels/channel-routing.md +162 -0
- package/docs/channels/clickclack.md +146 -0
- package/docs/channels/discord.md +1758 -0
- package/docs/channels/feishu.md +654 -0
- package/docs/channels/googlechat.md +286 -0
- package/docs/channels/group-messages.md +95 -0
- package/docs/channels/groups.md +610 -0
- package/docs/channels/imessage-from-bluebubbles.md +259 -0
- package/docs/channels/imessage.md +864 -0
- package/docs/channels/index.md +65 -0
- package/docs/channels/irc.md +253 -0
- package/docs/channels/line.md +243 -0
- package/docs/channels/location.md +71 -0
- package/docs/channels/matrix-migration.md +375 -0
- package/docs/channels/matrix-presentation.md +77 -0
- package/docs/channels/matrix-push-rules.md +150 -0
- package/docs/channels/matrix.md +935 -0
- package/docs/channels/mattermost.md +542 -0
- package/docs/channels/msteams.md +1097 -0
- package/docs/channels/nextcloud-talk.md +176 -0
- package/docs/channels/nostr.md +253 -0
- package/docs/channels/pairing.md +214 -0
- package/docs/channels/qqbot.md +317 -0
- package/docs/channels/signal.md +417 -0
- package/docs/channels/slack.md +1623 -0
- package/docs/channels/sms.md +380 -0
- package/docs/channels/synology-chat.md +187 -0
- package/docs/channels/telegram.md +1121 -0
- package/docs/channels/tlon.md +296 -0
- package/docs/channels/troubleshooting.md +162 -0
- package/docs/channels/twitch.md +431 -0
- package/docs/channels/wechat.md +171 -0
- package/docs/channels/whatsapp.md +796 -0
- package/docs/channels/yuanbao.md +416 -0
- package/docs/channels/zalo.md +253 -0
- package/docs/channels/zalouser.md +217 -0
- package/docs/ci.md +665 -0
- package/docs/clawhub/cli.md +82 -0
- package/docs/clawhub/publishing.md +96 -0
- package/docs/cli/acp.md +370 -0
- package/docs/cli/agent.md +109 -0
- package/docs/cli/agents.md +253 -0
- package/docs/cli/approvals.md +193 -0
- package/docs/cli/backup.md +98 -0
- package/docs/cli/browser.md +322 -0
- package/docs/cli/channels.md +154 -0
- package/docs/cli/clawbot.md +25 -0
- package/docs/cli/commitments.md +90 -0
- package/docs/cli/completion.md +39 -0
- package/docs/cli/config.md +504 -0
- package/docs/cli/configure.md +77 -0
- package/docs/cli/crestodian.md +337 -0
- package/docs/cli/cron.md +344 -0
- package/docs/cli/daemon.md +67 -0
- package/docs/cli/dashboard.md +33 -0
- package/docs/cli/devices.md +240 -0
- package/docs/cli/directory.md +68 -0
- package/docs/cli/dns.md +53 -0
- package/docs/cli/docs.md +63 -0
- package/docs/cli/doctor.md +254 -0
- package/docs/cli/flows.md +52 -0
- package/docs/cli/gateway.md +572 -0
- package/docs/cli/health.md +43 -0
- package/docs/cli/hooks.md +345 -0
- package/docs/cli/index.md +406 -0
- package/docs/cli/infer.md +364 -0
- package/docs/cli/logs.md +68 -0
- package/docs/cli/mcp.md +851 -0
- package/docs/cli/memory.md +183 -0
- package/docs/cli/message.md +317 -0
- package/docs/cli/migrate.md +334 -0
- package/docs/cli/models.md +239 -0
- package/docs/cli/node.md +178 -0
- package/docs/cli/nodes.md +76 -0
- package/docs/cli/onboard.md +251 -0
- package/docs/cli/pairing.md +77 -0
- package/docs/cli/path.md +511 -0
- package/docs/cli/plugins.md +480 -0
- package/docs/cli/policy.md +929 -0
- package/docs/cli/proxy.md +89 -0
- package/docs/cli/qr.md +56 -0
- package/docs/cli/reset.md +39 -0
- package/docs/cli/sandbox.md +208 -0
- package/docs/cli/secrets.md +202 -0
- package/docs/cli/security.md +135 -0
- package/docs/cli/sessions.md +178 -0
- package/docs/cli/setup.md +60 -0
- package/docs/cli/skills.md +156 -0
- package/docs/cli/status.md +45 -0
- package/docs/cli/system.md +89 -0
- package/docs/cli/tasks.md +111 -0
- package/docs/cli/transcripts.md +151 -0
- package/docs/cli/tui.md +92 -0
- package/docs/cli/uninstall.md +45 -0
- package/docs/cli/update.md +283 -0
- package/docs/cli/voicecall.md +204 -0
- package/docs/cli/webhooks.md +117 -0
- package/docs/cli/wiki.md +256 -0
- package/docs/cli/workboard.md +228 -0
- package/docs/concepts/active-memory.md +856 -0
- package/docs/concepts/agent-loop.md +185 -0
- package/docs/concepts/agent-runtimes.md +276 -0
- package/docs/concepts/agent-workspace.md +230 -0
- package/docs/concepts/agent.md +142 -0
- package/docs/concepts/architecture.md +154 -0
- package/docs/concepts/channel-docking.md +145 -0
- package/docs/concepts/commitments.md +150 -0
- package/docs/concepts/compaction.md +203 -0
- package/docs/concepts/context-engine.md +347 -0
- package/docs/concepts/context.md +199 -0
- package/docs/concepts/delegate-architecture.md +319 -0
- package/docs/concepts/dreaming.md +279 -0
- package/docs/concepts/experimental-features.md +111 -0
- package/docs/concepts/features.md +91 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +231 -0
- package/docs/concepts/mantis.md +744 -0
- package/docs/concepts/markdown-formatting.md +139 -0
- package/docs/concepts/memory-builtin.md +151 -0
- package/docs/concepts/memory-honcho.md +144 -0
- package/docs/concepts/memory-qmd.md +277 -0
- package/docs/concepts/memory-search.md +175 -0
- package/docs/concepts/memory.md +299 -0
- package/docs/concepts/message-lifecycle-refactor.md +1126 -0
- package/docs/concepts/messages.md +216 -0
- package/docs/concepts/model-failover.md +405 -0
- package/docs/concepts/model-providers.md +719 -0
- package/docs/concepts/models.md +371 -0
- package/docs/concepts/multi-agent.md +625 -0
- package/docs/concepts/oauth.md +218 -0
- package/docs/concepts/parallel-specialist-lanes.md +127 -0
- package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
- package/docs/concepts/presence.md +117 -0
- package/docs/concepts/progress-drafts.md +406 -0
- package/docs/concepts/qa-e2e-automation.md +979 -0
- package/docs/concepts/qa-matrix.md +139 -0
- package/docs/concepts/queue-steering.md +90 -0
- package/docs/concepts/queue.md +136 -0
- package/docs/concepts/retry.md +86 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +201 -0
- package/docs/concepts/session.md +164 -0
- package/docs/concepts/soul.md +116 -0
- package/docs/concepts/streaming.md +258 -0
- package/docs/concepts/system-prompt.md +330 -0
- package/docs/concepts/timezone.md +47 -0
- package/docs/concepts/typebox.md +309 -0
- package/docs/concepts/typing-indicators.md +88 -0
- package/docs/concepts/usage-tracking.md +72 -0
- package/docs/date-time.md +126 -0
- package/docs/debug/node-issue.md +90 -0
- package/docs/diagnostics/flags.md +182 -0
- package/docs/docs.json +1885 -0
- package/docs/gateway/authentication.md +286 -0
- package/docs/gateway/background-process.md +147 -0
- package/docs/gateway/bonjour.md +303 -0
- package/docs/gateway/bridge-protocol.md +97 -0
- package/docs/gateway/cli-backends.md +463 -0
- package/docs/gateway/config-agents.md +1525 -0
- package/docs/gateway/config-channels.md +942 -0
- package/docs/gateway/config-tools.md +806 -0
- package/docs/gateway/configuration-examples.md +706 -0
- package/docs/gateway/configuration-reference.md +1449 -0
- package/docs/gateway/configuration.md +748 -0
- package/docs/gateway/diagnostics.md +213 -0
- package/docs/gateway/discovery.md +154 -0
- package/docs/gateway/doctor.md +576 -0
- package/docs/gateway/external-apps.md +86 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +73 -0
- package/docs/gateway/heartbeat.md +498 -0
- package/docs/gateway/index.md +385 -0
- package/docs/gateway/local-model-services.md +205 -0
- package/docs/gateway/local-models.md +355 -0
- package/docs/gateway/logging.md +149 -0
- package/docs/gateway/multiple-gateways.md +178 -0
- package/docs/gateway/network-model.md +15 -0
- package/docs/gateway/openai-http-api.md +379 -0
- package/docs/gateway/openresponses-http-api.md +349 -0
- package/docs/gateway/openshell.md +316 -0
- package/docs/gateway/opentelemetry.md +440 -0
- package/docs/gateway/operator-scopes.md +119 -0
- package/docs/gateway/pairing.md +207 -0
- package/docs/gateway/prometheus.md +249 -0
- package/docs/gateway/protocol.md +839 -0
- package/docs/gateway/remote-gateway-readme.md +169 -0
- package/docs/gateway/remote.md +280 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +148 -0
- package/docs/gateway/sandboxing.md +546 -0
- package/docs/gateway/secrets-plan-contract.md +159 -0
- package/docs/gateway/secrets.md +805 -0
- package/docs/gateway/security/audit-checks.md +127 -0
- package/docs/gateway/security/exposure-runbook.md +212 -0
- package/docs/gateway/security/index.md +1344 -0
- package/docs/gateway/security/secure-file-operations.md +76 -0
- package/docs/gateway/security/shrinkwrap.md +111 -0
- package/docs/gateway/tailscale.md +180 -0
- package/docs/gateway/tools-invoke-http-api.md +175 -0
- package/docs/gateway/troubleshooting.md +881 -0
- package/docs/gateway/trusted-proxy-auth.md +483 -0
- package/docs/help/debugging.md +341 -0
- package/docs/help/environment.md +240 -0
- package/docs/help/faq-first-run.md +872 -0
- package/docs/help/faq-models.md +557 -0
- package/docs/help/faq.md +2115 -0
- package/docs/help/index.md +39 -0
- package/docs/help/scripts.md +56 -0
- package/docs/help/testing-live.md +592 -0
- package/docs/help/testing-updates-plugins.md +299 -0
- package/docs/help/testing.md +977 -0
- package/docs/help/troubleshooting.md +500 -0
- package/docs/index.md +196 -0
- package/docs/install/ansible.md +233 -0
- package/docs/install/azure.md +315 -0
- package/docs/install/bun.md +59 -0
- package/docs/install/clawdock.md +112 -0
- package/docs/install/development-channels.md +148 -0
- package/docs/install/digitalocean.md +174 -0
- package/docs/install/docker-vm-runtime.md +154 -0
- package/docs/install/docker.md +564 -0
- package/docs/install/exe-dev.md +201 -0
- package/docs/install/fly.md +524 -0
- package/docs/install/gcp.md +418 -0
- package/docs/install/hetzner.md +285 -0
- package/docs/install/hostinger.md +98 -0
- package/docs/install/index.md +236 -0
- package/docs/install/installer.md +447 -0
- package/docs/install/kubernetes.md +196 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-claude.md +165 -0
- package/docs/install/migrating-hermes.md +178 -0
- package/docs/install/migrating.md +137 -0
- package/docs/install/nix.md +112 -0
- package/docs/install/node.md +142 -0
- package/docs/install/northflank.mdx +44 -0
- package/docs/install/oracle.md +218 -0
- package/docs/install/podman.md +216 -0
- package/docs/install/railway.mdx +92 -0
- package/docs/install/raspberry-pi.md +234 -0
- package/docs/install/render.mdx +167 -0
- package/docs/install/uninstall.md +140 -0
- package/docs/install/updating.md +284 -0
- package/docs/install/upstash.md +96 -0
- package/docs/logging.md +322 -0
- package/docs/maturity-scores.yaml +5361 -0
- package/docs/nav-tabs-underline.js +104 -0
- package/docs/network.md +72 -0
- package/docs/nodes/audio.md +216 -0
- package/docs/nodes/camera.md +166 -0
- package/docs/nodes/images.md +77 -0
- package/docs/nodes/index.md +444 -0
- package/docs/nodes/location-command.md +102 -0
- package/docs/nodes/media-understanding.md +495 -0
- package/docs/nodes/talk.md +160 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +93 -0
- package/docs/openclaw-agent-runtime.md +82 -0
- package/docs/perplexity.md +11 -0
- package/docs/plan/codex-context-engine-harness.md +624 -0
- package/docs/plan/ui-channels.md +284 -0
- package/docs/platforms/android.md +286 -0
- package/docs/platforms/digitalocean.md +12 -0
- package/docs/platforms/easyrunner.md +109 -0
- package/docs/platforms/index.md +65 -0
- package/docs/platforms/ios.md +287 -0
- package/docs/platforms/linux.md +141 -0
- package/docs/platforms/mac/bundled-gateway.md +79 -0
- package/docs/platforms/mac/canvas.md +128 -0
- package/docs/platforms/mac/child-process.md +72 -0
- package/docs/platforms/mac/dev-setup.md +112 -0
- package/docs/platforms/mac/health.md +39 -0
- package/docs/platforms/mac/icon.md +36 -0
- package/docs/platforms/mac/logging.md +62 -0
- package/docs/platforms/mac/menu-bar.md +93 -0
- package/docs/platforms/mac/peekaboo.md +96 -0
- package/docs/platforms/mac/permissions.md +73 -0
- package/docs/platforms/mac/remote.md +123 -0
- package/docs/platforms/mac/signing.md +52 -0
- package/docs/platforms/mac/skills.md +45 -0
- package/docs/platforms/mac/voice-overlay.md +66 -0
- package/docs/platforms/mac/voicewake.md +79 -0
- package/docs/platforms/mac/webchat.md +54 -0
- package/docs/platforms/mac/xpc.md +66 -0
- package/docs/platforms/macos.md +228 -0
- package/docs/platforms/oracle.md +12 -0
- package/docs/platforms/raspberry-pi.md +13 -0
- package/docs/platforms/windows.md +304 -0
- package/docs/plugins/adding-capabilities.md +146 -0
- package/docs/plugins/admin-http-rpc.md +216 -0
- package/docs/plugins/agent-tools.md +13 -0
- package/docs/plugins/architecture-internals.md +1203 -0
- package/docs/plugins/architecture.md +483 -0
- package/docs/plugins/building-extensions.md +13 -0
- package/docs/plugins/building-plugins.md +343 -0
- package/docs/plugins/bundles.md +310 -0
- package/docs/plugins/cli-backend-plugins.md +328 -0
- package/docs/plugins/codex-computer-use.md +297 -0
- package/docs/plugins/codex-harness-reference.md +480 -0
- package/docs/plugins/codex-harness-runtime.md +268 -0
- package/docs/plugins/codex-harness.md +800 -0
- package/docs/plugins/codex-native-plugins.md +280 -0
- package/docs/plugins/community.md +77 -0
- package/docs/plugins/compatibility.md +198 -0
- package/docs/plugins/copilot.md +355 -0
- package/docs/plugins/dependency-resolution.md +176 -0
- package/docs/plugins/google-meet.md +1737 -0
- package/docs/plugins/hooks.md +525 -0
- package/docs/plugins/install-overrides.md +80 -0
- package/docs/plugins/llama-cpp.md +58 -0
- package/docs/plugins/manage-plugins.md +214 -0
- package/docs/plugins/manifest.md +1468 -0
- package/docs/plugins/memory-lancedb.md +385 -0
- package/docs/plugins/memory-wiki.md +529 -0
- package/docs/plugins/message-presentation.md +487 -0
- package/docs/plugins/oc-path.md +166 -0
- package/docs/plugins/plugin-inventory.md +318 -0
- package/docs/plugins/plugin-permission-requests.md +193 -0
- package/docs/plugins/reference/acpx.md +23 -0
- package/docs/plugins/reference/admin-http-rpc.md +23 -0
- package/docs/plugins/reference/alibaba.md +23 -0
- package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
- package/docs/plugins/reference/amazon-bedrock.md +23 -0
- package/docs/plugins/reference/anthropic-vertex.md +29 -0
- package/docs/plugins/reference/anthropic.md +23 -0
- package/docs/plugins/reference/arcee.md +23 -0
- package/docs/plugins/reference/azure-speech.md +23 -0
- package/docs/plugins/reference/bonjour.md +19 -0
- package/docs/plugins/reference/brave.md +23 -0
- package/docs/plugins/reference/browser.md +23 -0
- package/docs/plugins/reference/byteplus.md +19 -0
- package/docs/plugins/reference/canvas.md +19 -0
- package/docs/plugins/reference/cerebras.md +23 -0
- package/docs/plugins/reference/chutes.md +23 -0
- package/docs/plugins/reference/clickclack.md +23 -0
- package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
- package/docs/plugins/reference/codex-supervisor.md +27 -0
- package/docs/plugins/reference/codex.md +23 -0
- package/docs/plugins/reference/comfy.md +23 -0
- package/docs/plugins/reference/copilot-proxy.md +19 -0
- package/docs/plugins/reference/copilot.md +23 -0
- package/docs/plugins/reference/deepgram.md +23 -0
- package/docs/plugins/reference/deepinfra.md +23 -0
- package/docs/plugins/reference/deepseek.md +23 -0
- package/docs/plugins/reference/diagnostics-otel.md +19 -0
- package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
- package/docs/plugins/reference/diffs-language-pack.md +31 -0
- package/docs/plugins/reference/diffs.md +19 -0
- package/docs/plugins/reference/discord.md +23 -0
- package/docs/plugins/reference/document-extract.md +23 -0
- package/docs/plugins/reference/duckduckgo.md +23 -0
- package/docs/plugins/reference/elevenlabs.md +23 -0
- package/docs/plugins/reference/exa.md +23 -0
- package/docs/plugins/reference/fal.md +23 -0
- package/docs/plugins/reference/feishu.md +23 -0
- package/docs/plugins/reference/file-transfer.md +19 -0
- package/docs/plugins/reference/firecrawl.md +23 -0
- package/docs/plugins/reference/fireworks.md +23 -0
- package/docs/plugins/reference/github-copilot.md +23 -0
- package/docs/plugins/reference/gmi.md +23 -0
- package/docs/plugins/reference/google-meet.md +23 -0
- package/docs/plugins/reference/google.md +23 -0
- package/docs/plugins/reference/googlechat.md +23 -0
- package/docs/plugins/reference/gradium.md +23 -0
- package/docs/plugins/reference/groq.md +23 -0
- package/docs/plugins/reference/huggingface.md +23 -0
- package/docs/plugins/reference/imessage.md +23 -0
- package/docs/plugins/reference/inworld.md +23 -0
- package/docs/plugins/reference/irc.md +23 -0
- package/docs/plugins/reference/kilocode.md +23 -0
- package/docs/plugins/reference/kimi.md +23 -0
- package/docs/plugins/reference/line.md +23 -0
- package/docs/plugins/reference/litellm.md +23 -0
- package/docs/plugins/reference/llama-cpp.md +23 -0
- package/docs/plugins/reference/llm-task.md +19 -0
- package/docs/plugins/reference/lmstudio.md +23 -0
- package/docs/plugins/reference/lobster.md +19 -0
- package/docs/plugins/reference/matrix.md +23 -0
- package/docs/plugins/reference/mattermost.md +23 -0
- package/docs/plugins/reference/memory-core.md +19 -0
- package/docs/plugins/reference/memory-lancedb.md +23 -0
- package/docs/plugins/reference/memory-wiki.md +23 -0
- package/docs/plugins/reference/microsoft-foundry.md +113 -0
- package/docs/plugins/reference/microsoft.md +19 -0
- package/docs/plugins/reference/migrate-claude.md +19 -0
- package/docs/plugins/reference/migrate-hermes.md +19 -0
- package/docs/plugins/reference/minimax.md +23 -0
- package/docs/plugins/reference/mistral.md +23 -0
- package/docs/plugins/reference/moonshot.md +23 -0
- package/docs/plugins/reference/msteams.md +23 -0
- package/docs/plugins/reference/nextcloud-talk.md +23 -0
- package/docs/plugins/reference/nostr.md +23 -0
- package/docs/plugins/reference/novita.md +23 -0
- package/docs/plugins/reference/nvidia.md +23 -0
- package/docs/plugins/reference/oc-path.md +23 -0
- package/docs/plugins/reference/ollama.md +24 -0
- package/docs/plugins/reference/open-prose.md +19 -0
- package/docs/plugins/reference/openai.md +23 -0
- package/docs/plugins/reference/opencode-go.md +23 -0
- package/docs/plugins/reference/opencode.md +23 -0
- package/docs/plugins/reference/openrouter.md +23 -0
- package/docs/plugins/reference/openshell.md +19 -0
- package/docs/plugins/reference/perplexity.md +23 -0
- package/docs/plugins/reference/pixverse.md +23 -0
- package/docs/plugins/reference/policy.md +79 -0
- package/docs/plugins/reference/qa-channel.md +23 -0
- package/docs/plugins/reference/qa-lab.md +19 -0
- package/docs/plugins/reference/qa-matrix.md +19 -0
- package/docs/plugins/reference/qianfan.md +23 -0
- package/docs/plugins/reference/qqbot.md +23 -0
- package/docs/plugins/reference/qwen.md +24 -0
- package/docs/plugins/reference/runway.md +23 -0
- package/docs/plugins/reference/searxng.md +19 -0
- package/docs/plugins/reference/senseaudio.md +23 -0
- package/docs/plugins/reference/sglang.md +23 -0
- package/docs/plugins/reference/signal.md +23 -0
- package/docs/plugins/reference/slack.md +23 -0
- package/docs/plugins/reference/sms.md +23 -0
- package/docs/plugins/reference/stepfun.md +23 -0
- package/docs/plugins/reference/synology-chat.md +23 -0
- package/docs/plugins/reference/synthetic.md +23 -0
- package/docs/plugins/reference/tavily.md +23 -0
- package/docs/plugins/reference/telegram.md +23 -0
- package/docs/plugins/reference/tencent.md +23 -0
- package/docs/plugins/reference/tlon.md +23 -0
- package/docs/plugins/reference/together.md +23 -0
- package/docs/plugins/reference/tokenjuice.md +23 -0
- package/docs/plugins/reference/tts-local-cli.md +19 -0
- package/docs/plugins/reference/twitch.md +23 -0
- package/docs/plugins/reference/venice.md +23 -0
- package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
- package/docs/plugins/reference/vllm.md +23 -0
- package/docs/plugins/reference/voice-call.md +23 -0
- package/docs/plugins/reference/volcengine.md +23 -0
- package/docs/plugins/reference/voyage.md +19 -0
- package/docs/plugins/reference/vydra.md +23 -0
- package/docs/plugins/reference/web-readability.md +19 -0
- package/docs/plugins/reference/webhooks.md +23 -0
- package/docs/plugins/reference/whatsapp.md +23 -0
- package/docs/plugins/reference/workboard.md +23 -0
- package/docs/plugins/reference/xai.md +23 -0
- package/docs/plugins/reference/xiaomi.md +23 -0
- package/docs/plugins/reference/zai.md +23 -0
- package/docs/plugins/reference/zalo.md +23 -0
- package/docs/plugins/reference/zalouser.md +24 -0
- package/docs/plugins/reference.md +19 -0
- package/docs/plugins/sdk-agent-harness.md +339 -0
- package/docs/plugins/sdk-channel-inbound.md +70 -0
- package/docs/plugins/sdk-channel-ingress.md +137 -0
- package/docs/plugins/sdk-channel-message.md +18 -0
- package/docs/plugins/sdk-channel-outbound.md +113 -0
- package/docs/plugins/sdk-channel-plugins.md +770 -0
- package/docs/plugins/sdk-channel-turn.md +9 -0
- package/docs/plugins/sdk-entrypoints.md +344 -0
- package/docs/plugins/sdk-migration.md +1011 -0
- package/docs/plugins/sdk-overview.md +525 -0
- package/docs/plugins/sdk-provider-plugins.md +1019 -0
- package/docs/plugins/sdk-runtime.md +683 -0
- package/docs/plugins/sdk-setup.md +550 -0
- package/docs/plugins/sdk-subpaths.md +401 -0
- package/docs/plugins/sdk-testing.md +403 -0
- package/docs/plugins/tool-plugins.md +411 -0
- package/docs/plugins/voice-call.md +942 -0
- package/docs/plugins/webhooks.md +192 -0
- package/docs/plugins/workboard.md +402 -0
- package/docs/plugins/zalouser.md +86 -0
- package/docs/prose.md +191 -0
- package/docs/providers/alibaba.md +158 -0
- package/docs/providers/anthropic.md +386 -0
- package/docs/providers/arcee.md +144 -0
- package/docs/providers/azure-speech.md +119 -0
- package/docs/providers/bedrock-mantle.md +224 -0
- package/docs/providers/bedrock.md +433 -0
- package/docs/providers/cerebras.md +130 -0
- package/docs/providers/chutes.md +153 -0
- package/docs/providers/claude-max-api-proxy.md +191 -0
- package/docs/providers/cloudflare-ai-gateway.md +119 -0
- package/docs/providers/comfy.md +362 -0
- package/docs/providers/deepgram.md +184 -0
- package/docs/providers/deepinfra.md +92 -0
- package/docs/providers/deepseek.md +146 -0
- package/docs/providers/ds4.md +309 -0
- package/docs/providers/elevenlabs.md +130 -0
- package/docs/providers/fal.md +240 -0
- package/docs/providers/fireworks.md +144 -0
- package/docs/providers/github-copilot.md +257 -0
- package/docs/providers/gmi.md +92 -0
- package/docs/providers/google.md +472 -0
- package/docs/providers/gradium.md +123 -0
- package/docs/providers/groq.md +171 -0
- package/docs/providers/huggingface.md +235 -0
- package/docs/providers/index.md +105 -0
- package/docs/providers/inferrs.md +272 -0
- package/docs/providers/inworld.md +120 -0
- package/docs/providers/kilocode.md +135 -0
- package/docs/providers/litellm.md +234 -0
- package/docs/providers/lmstudio.md +224 -0
- package/docs/providers/minimax.md +518 -0
- package/docs/providers/mistral.md +235 -0
- package/docs/providers/models.md +64 -0
- package/docs/providers/moonshot.md +413 -0
- package/docs/providers/novita.md +92 -0
- package/docs/providers/nvidia.md +208 -0
- package/docs/providers/ollama-cloud.md +115 -0
- package/docs/providers/ollama.md +1225 -0
- package/docs/providers/openai.md +1091 -0
- package/docs/providers/opencode-go.md +123 -0
- package/docs/providers/opencode.md +149 -0
- package/docs/providers/openrouter.md +390 -0
- package/docs/providers/perplexity-provider.md +123 -0
- package/docs/providers/pixverse.md +165 -0
- package/docs/providers/qianfan.md +132 -0
- package/docs/providers/qwen-oauth.md +115 -0
- package/docs/providers/qwen.md +364 -0
- package/docs/providers/runway.md +103 -0
- package/docs/providers/senseaudio.md +68 -0
- package/docs/providers/sglang.md +161 -0
- package/docs/providers/stepfun.md +229 -0
- package/docs/providers/synthetic.md +154 -0
- package/docs/providers/tencent.md +130 -0
- package/docs/providers/together.md +140 -0
- package/docs/providers/venice.md +312 -0
- package/docs/providers/vercel-ai-gateway.md +128 -0
- package/docs/providers/vllm.md +407 -0
- package/docs/providers/volcengine.md +199 -0
- package/docs/providers/vydra.md +180 -0
- package/docs/providers/xai.md +571 -0
- package/docs/providers/xiaomi.md +286 -0
- package/docs/providers/zai.md +224 -0
- package/docs/refactor/access.md +9 -0
- package/docs/refactor/acp.md +298 -0
- package/docs/refactor/canvas.md +131 -0
- package/docs/refactor/database-first.md +2263 -0
- package/docs/refactor/ingress-core.md +341 -0
- package/docs/reference/AGENTS.default.md +131 -0
- package/docs/reference/RELEASING.md +844 -0
- package/docs/reference/api-usage-costs.md +208 -0
- package/docs/reference/application-modernization-plan.md +208 -0
- package/docs/reference/code-mode.md +1058 -0
- package/docs/reference/credits.md +33 -0
- package/docs/reference/device-models.md +50 -0
- package/docs/reference/full-release-validation.md +206 -0
- package/docs/reference/memory-config.md +630 -0
- package/docs/reference/prompt-caching.md +358 -0
- package/docs/reference/release-performance-sweep.md +347 -0
- package/docs/reference/rich-output-protocol.md +93 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secret-placeholder-conventions.md +33 -0
- package/docs/reference/secretref-credential-surface.md +163 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +691 -0
- package/docs/reference/session-management-compaction.md +474 -0
- package/docs/reference/templates/AGENTS.dev.md +90 -0
- package/docs/reference/templates/AGENTS.md +227 -0
- package/docs/reference/templates/BOOT.md +16 -0
- package/docs/reference/templates/BOOTSTRAP.md +66 -0
- package/docs/reference/templates/HEARTBEAT.md +24 -0
- package/docs/reference/templates/IDENTITY.dev.md +52 -0
- package/docs/reference/templates/IDENTITY.md +34 -0
- package/docs/reference/templates/SOUL.dev.md +82 -0
- package/docs/reference/templates/SOUL.md +49 -0
- package/docs/reference/templates/TOOLS.dev.md +29 -0
- package/docs/reference/templates/TOOLS.md +51 -0
- package/docs/reference/templates/USER.dev.md +23 -0
- package/docs/reference/templates/USER.md +28 -0
- package/docs/reference/test.md +248 -0
- package/docs/reference/token-use.md +246 -0
- package/docs/reference/transcript-hygiene.md +226 -0
- package/docs/reference/wizard.md +252 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +170 -0
- package/docs/security/incident-response.md +59 -0
- package/docs/security/network-proxy.md +268 -0
- package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
- package/docs/snippets/plugin-publish/minimal-package.json +16 -0
- package/docs/specs/claw-supervisor.md +247 -0
- package/docs/start/bootstrapping.md +49 -0
- package/docs/start/docs-directory.md +69 -0
- package/docs/start/getting-started.md +152 -0
- package/docs/start/hubs.md +201 -0
- package/docs/start/lore.md +223 -0
- package/docs/start/onboarding-overview.md +72 -0
- package/docs/start/onboarding.md +98 -0
- package/docs/start/openclaw.md +246 -0
- package/docs/start/quickstart.md +25 -0
- package/docs/start/setup.md +178 -0
- package/docs/start/showcase.md +371 -0
- package/docs/start/wizard-cli-automation.md +232 -0
- package/docs/start/wizard-cli-reference.md +331 -0
- package/docs/start/wizard.md +142 -0
- package/docs/style.css +137 -0
- package/docs/tools/acp-agents-setup.md +356 -0
- package/docs/tools/acp-agents.md +865 -0
- package/docs/tools/agent-send.md +130 -0
- package/docs/tools/apply-patch.md +64 -0
- package/docs/tools/brave-search.md +139 -0
- package/docs/tools/browser-control.md +405 -0
- package/docs/tools/browser-linux-troubleshooting.md +173 -0
- package/docs/tools/browser-login.md +77 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
- package/docs/tools/browser.md +866 -0
- package/docs/tools/btw.md +159 -0
- package/docs/tools/capability-cookbook.md +12 -0
- package/docs/tools/clawhub.md +5 -0
- package/docs/tools/code-execution.md +173 -0
- package/docs/tools/creating-skills.md +271 -0
- package/docs/tools/diffs.md +527 -0
- package/docs/tools/duckduckgo-search.md +109 -0
- package/docs/tools/elevated.md +128 -0
- package/docs/tools/exa-search.md +152 -0
- package/docs/tools/exec-approvals-advanced.md +457 -0
- package/docs/tools/exec-approvals.md +520 -0
- package/docs/tools/exec.md +294 -0
- package/docs/tools/firecrawl.md +155 -0
- package/docs/tools/gemini-search.md +114 -0
- package/docs/tools/goal.md +217 -0
- package/docs/tools/grok-search.md +129 -0
- package/docs/tools/image-generation.md +538 -0
- package/docs/tools/index.md +176 -0
- package/docs/tools/kimi-search.md +105 -0
- package/docs/tools/llm-task.md +137 -0
- package/docs/tools/lobster.md +365 -0
- package/docs/tools/loop-detection.md +154 -0
- package/docs/tools/media-overview.md +161 -0
- package/docs/tools/minimax-search.md +102 -0
- package/docs/tools/multi-agent-sandbox-tools.md +409 -0
- package/docs/tools/music-generation.md +372 -0
- package/docs/tools/ollama-search.md +153 -0
- package/docs/tools/parallel-search.md +154 -0
- package/docs/tools/pdf.md +213 -0
- package/docs/tools/permission-modes.md +111 -0
- package/docs/tools/perplexity-search.md +220 -0
- package/docs/tools/plugin.md +378 -0
- package/docs/tools/reactions.md +100 -0
- package/docs/tools/searxng-search.md +141 -0
- package/docs/tools/skill-workshop.md +283 -0
- package/docs/tools/skills-config.md +457 -0
- package/docs/tools/skills.md +591 -0
- package/docs/tools/slash-commands.md +518 -0
- package/docs/tools/steer.md +77 -0
- package/docs/tools/subagents.md +652 -0
- package/docs/tools/tavily.md +162 -0
- package/docs/tools/thinking.md +142 -0
- package/docs/tools/tokenjuice.md +84 -0
- package/docs/tools/tool-search.md +269 -0
- package/docs/tools/trajectory.md +229 -0
- package/docs/tools/tts.md +1013 -0
- package/docs/tools/video-generation.md +555 -0
- package/docs/tools/web-fetch.md +210 -0
- package/docs/tools/web.md +476 -0
- package/docs/tts.md +11 -0
- package/docs/vps.md +139 -0
- package/docs/web/control-ui.md +530 -0
- package/docs/web/dashboard.md +107 -0
- package/docs/web/index.md +133 -0
- package/docs/web/tui.md +258 -0
- package/docs/web/webchat.md +102 -0
- package/npm-shrinkwrap.json +3485 -0
- package/openclaw.mjs +661 -0
- package/package.json +1971 -0
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.39.0.patch +40 -0
- package/pnpm-workspace.yaml +124 -0
- package/scripts/crabbox-wrapper.mjs +2470 -0
- package/scripts/lib/official-external-channel-catalog.json +570 -0
- package/scripts/lib/official-external-plugin-catalog.json +284 -0
- package/scripts/lib/official-external-provider-catalog.json +158 -0
- package/scripts/lib/package-dist-imports.mjs +174 -0
- package/scripts/npm-runner.mjs +95 -0
- package/scripts/postinstall-bundled-plugins.mjs +978 -0
- package/scripts/preinstall-package-manager-warning.mjs +74 -0
- package/scripts/prepare-git-hooks.mjs +73 -0
- package/scripts/windows-cmd-helpers.mjs +29 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +78 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +143 -0
- package/skills/diagram-maker/SKILL.md +53 -0
- package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
- package/skills/diagram-maker/references/svg-template.md +112 -0
- package/skills/discord/SKILL.md +136 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +47 -0
- package/skills/gh-issues/SKILL.md +213 -0
- package/skills/gifgrep/SKILL.md +85 -0
- package/skills/github/SKILL.md +84 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +105 -0
- package/skills/himalaya/SKILL.md +80 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/meme-maker/SKILL.md +42 -0
- package/skills/meme-maker/references/templates.json +358 -0
- package/skills/meme-maker/scripts/meme.mjs +398 -0
- package/skills/model-usage/SKILL.md +71 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +319 -0
- package/skills/model-usage/scripts/test_model_usage.py +40 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +143 -0
- package/skills/node-inspect-debugger/SKILL.md +85 -0
- package/skills/notion/SKILL.md +150 -0
- package/skills/obsidian/SKILL.md +119 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +71 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +126 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +198 -0
- package/skills/pyproject.toml +10 -0
- package/skills/python-debugpy/SKILL.md +73 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +151 -0
- package/skills/sherpa-onnx-tts/SKILL.md +109 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +78 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +144 -0
- package/skills/skill-creator/scripts/quick_validate.py +169 -0
- package/skills/skill-creator/scripts/test_package_skill.py +199 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
- package/skills/slack/SKILL.md +78 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spike/SKILL.md +51 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/taskflow/SKILL.md +149 -0
- package/skills/taskflow/examples/inbox-triage.lobster +33 -0
- package/skills/taskflow/examples/pr-intake.lobster +32 -0
- package/skills/taskflow-inbox-triage/SKILL.md +119 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +91 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +108 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +87 -0
- package/skills/xurl/SKILL.md +120 -0
- package/src/agents/templates/HEARTBEAT.md +5 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Use GMI Cloud's OpenAI-compatible API with OpenClaw"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to run OpenClaw with GMI Cloud models
|
|
5
|
+
- You need the GMI provider id, key, or endpoint
|
|
6
|
+
title: "GMI Cloud"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
GMI Cloud is a hosted inference platform for frontier and open-weight models
|
|
10
|
+
behind an OpenAI-compatible API. In OpenClaw it is a bundled model provider,
|
|
11
|
+
which means you can select it with the provider id `gmi`, store credentials
|
|
12
|
+
through normal model auth, and use model refs like
|
|
13
|
+
`gmi/google/gemini-3.1-flash-lite`.
|
|
14
|
+
|
|
15
|
+
Use GMI when you want one API key for several hosted model families, including
|
|
16
|
+
Google, Anthropic, OpenAI, DeepSeek, Moonshot, and Z.AI routes exposed by GMI's
|
|
17
|
+
catalog. It is useful as a secondary provider for model fallback, for comparing
|
|
18
|
+
hosted routes across vendors, or when GMI has a model available before your
|
|
19
|
+
primary provider does.
|
|
20
|
+
|
|
21
|
+
This provider uses OpenAI-compatible chat semantics. OpenClaw owns the provider
|
|
22
|
+
id, auth profile, aliases, model catalog seed, and base URL; GMI owns the live
|
|
23
|
+
model availability, billing, rate limits, and any provider-side routing policy.
|
|
24
|
+
|
|
25
|
+
## Setup
|
|
26
|
+
|
|
27
|
+
Create an API key in GMI Cloud, then run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
openclaw onboard --auth-choice gmi-api-key
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Or set:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
export GMI_API_KEY="<your-gmi-api-key>" # pragma: allowlist secret
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Defaults
|
|
40
|
+
|
|
41
|
+
- Provider: `gmi`
|
|
42
|
+
- Aliases: `gmi-cloud`, `gmicloud`
|
|
43
|
+
- Base URL: `https://api.gmi-serving.com/v1`
|
|
44
|
+
- Env var: `GMI_API_KEY`
|
|
45
|
+
- Default model: `gmi/google/gemini-3.1-flash-lite`
|
|
46
|
+
|
|
47
|
+
## When to choose GMI
|
|
48
|
+
|
|
49
|
+
- You want a hosted OpenAI-compatible endpoint rather than a local model server.
|
|
50
|
+
- You want to try several commercial and open-weight model families through one
|
|
51
|
+
provider account.
|
|
52
|
+
- You want a fallback provider with different upstream routing from OpenRouter,
|
|
53
|
+
DeepInfra, Together, or the direct vendor APIs.
|
|
54
|
+
- You need GMI-specific model ids, pricing, or account controls.
|
|
55
|
+
|
|
56
|
+
Choose the direct vendor provider instead when you need vendor-native features
|
|
57
|
+
that GMI does not expose through its OpenAI-compatible route. Choose a local
|
|
58
|
+
provider such as Ollama, LM Studio, vLLM, or SGLang when data locality or local
|
|
59
|
+
GPU control matters more than hosted convenience.
|
|
60
|
+
|
|
61
|
+
## Models
|
|
62
|
+
|
|
63
|
+
The bundled catalog seeds commonly available GMI Cloud route ids, including:
|
|
64
|
+
|
|
65
|
+
- `gmi/zai-org/GLM-5.1-FP8`
|
|
66
|
+
- `gmi/deepseek-ai/DeepSeek-V3.2`
|
|
67
|
+
- `gmi/moonshotai/Kimi-K2.5`
|
|
68
|
+
- `gmi/google/gemini-3.1-flash-lite`
|
|
69
|
+
- `gmi/anthropic/claude-sonnet-4.6`
|
|
70
|
+
- `gmi/openai/gpt-5.4`
|
|
71
|
+
|
|
72
|
+
The catalog is a seed, not a promise that every account can call every model at
|
|
73
|
+
all times. Use OpenClaw's model listing command to see what the configured
|
|
74
|
+
provider reports in your environment:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
openclaw models list --provider gmi
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Troubleshooting
|
|
81
|
+
|
|
82
|
+
- `401` or `403`: check that `GMI_API_KEY` is set for the process running
|
|
83
|
+
OpenClaw, or re-run onboarding to store the key in the provider auth profile.
|
|
84
|
+
- Unknown model errors: confirm the model exists in your GMI account and use the
|
|
85
|
+
full `gmi/<route-id>` ref shown by `openclaw models list --provider gmi`.
|
|
86
|
+
- Intermittent provider errors: try a different GMI route or configure GMI as a
|
|
87
|
+
fallback rather than the only primary model provider.
|
|
88
|
+
|
|
89
|
+
## Related
|
|
90
|
+
|
|
91
|
+
- [Model providers](/concepts/model-providers)
|
|
92
|
+
- [All providers](/providers/index)
|
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Google Gemini setup (API key + OAuth, image generation, media understanding, TTS, web search)"
|
|
3
|
+
title: "Google (Gemini)"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to use Google Gemini models with OpenClaw
|
|
6
|
+
- You need the API key or OAuth auth flow
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
The Google plugin provides access to Gemini models through Google AI Studio, plus
|
|
10
|
+
image generation, media understanding (image/audio/video), text-to-speech, and web search via
|
|
11
|
+
Gemini Grounding.
|
|
12
|
+
|
|
13
|
+
- Provider: `google`
|
|
14
|
+
- Auth: `GEMINI_API_KEY` or `GOOGLE_API_KEY`
|
|
15
|
+
- API: Google Gemini API
|
|
16
|
+
- Runtime option: provider/model `agentRuntime.id: "google-gemini-cli"`
|
|
17
|
+
reuses Gemini CLI OAuth while keeping model refs canonical as `google/*`.
|
|
18
|
+
|
|
19
|
+
## Getting started
|
|
20
|
+
|
|
21
|
+
Choose your preferred auth method and follow the setup steps.
|
|
22
|
+
|
|
23
|
+
<Tabs>
|
|
24
|
+
<Tab title="API key">
|
|
25
|
+
**Best for:** standard Gemini API access through Google AI Studio.
|
|
26
|
+
|
|
27
|
+
<Steps>
|
|
28
|
+
<Step title="Run onboarding">
|
|
29
|
+
```bash
|
|
30
|
+
openclaw onboard --auth-choice gemini-api-key
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Or pass the key directly:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
openclaw onboard --non-interactive \
|
|
37
|
+
--mode local \
|
|
38
|
+
--auth-choice gemini-api-key \
|
|
39
|
+
--gemini-api-key "$GEMINI_API_KEY"
|
|
40
|
+
```
|
|
41
|
+
</Step>
|
|
42
|
+
<Step title="Set a default model">
|
|
43
|
+
```json5
|
|
44
|
+
{
|
|
45
|
+
agents: {
|
|
46
|
+
defaults: {
|
|
47
|
+
model: { primary: "google/gemini-3.1-pro-preview" },
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
</Step>
|
|
53
|
+
<Step title="Verify the model is available">
|
|
54
|
+
```bash
|
|
55
|
+
openclaw models list --provider google
|
|
56
|
+
```
|
|
57
|
+
</Step>
|
|
58
|
+
</Steps>
|
|
59
|
+
|
|
60
|
+
<Tip>
|
|
61
|
+
The environment variables `GEMINI_API_KEY` and `GOOGLE_API_KEY` are both accepted. Use whichever you already have configured.
|
|
62
|
+
</Tip>
|
|
63
|
+
|
|
64
|
+
</Tab>
|
|
65
|
+
|
|
66
|
+
<Tab title="Gemini CLI (OAuth)">
|
|
67
|
+
**Best for:** reusing an existing Gemini CLI login via PKCE OAuth instead of a separate API key.
|
|
68
|
+
|
|
69
|
+
<Warning>
|
|
70
|
+
The `google-gemini-cli` provider is an unofficial integration. Some users
|
|
71
|
+
report account restrictions when using OAuth this way. Use at your own risk.
|
|
72
|
+
</Warning>
|
|
73
|
+
|
|
74
|
+
<Steps>
|
|
75
|
+
<Step title="Install the Gemini CLI">
|
|
76
|
+
The local `gemini` command must be available on `PATH`.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Homebrew
|
|
80
|
+
brew install gemini-cli
|
|
81
|
+
|
|
82
|
+
# or npm
|
|
83
|
+
npm install -g @google/gemini-cli
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
OpenClaw supports both Homebrew installs and global npm installs, including
|
|
87
|
+
common Windows/npm layouts.
|
|
88
|
+
</Step>
|
|
89
|
+
<Step title="Log in via OAuth">
|
|
90
|
+
```bash
|
|
91
|
+
openclaw models auth login --provider google-gemini-cli --set-default
|
|
92
|
+
```
|
|
93
|
+
</Step>
|
|
94
|
+
<Step title="Verify the model is available">
|
|
95
|
+
```bash
|
|
96
|
+
openclaw models list --provider google
|
|
97
|
+
```
|
|
98
|
+
</Step>
|
|
99
|
+
</Steps>
|
|
100
|
+
|
|
101
|
+
- Default model: `google/gemini-3.1-pro-preview`
|
|
102
|
+
- Runtime: `google-gemini-cli`
|
|
103
|
+
- Alias: `gemini-cli`
|
|
104
|
+
|
|
105
|
+
Gemini 3.1 Pro's Gemini API model id is `gemini-3.1-pro-preview`. OpenClaw accepts the shorter `google/gemini-3.1-pro` as a convenience alias and normalizes it before provider calls.
|
|
106
|
+
|
|
107
|
+
**Environment variables:**
|
|
108
|
+
|
|
109
|
+
- `OPENCLAW_GEMINI_OAUTH_CLIENT_ID`
|
|
110
|
+
- `OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET`
|
|
111
|
+
|
|
112
|
+
(Or the `GEMINI_CLI_*` variants.)
|
|
113
|
+
|
|
114
|
+
<Note>
|
|
115
|
+
If Gemini CLI OAuth requests fail after login, set `GOOGLE_CLOUD_PROJECT` or
|
|
116
|
+
`GOOGLE_CLOUD_PROJECT_ID` on the gateway host and retry.
|
|
117
|
+
</Note>
|
|
118
|
+
|
|
119
|
+
<Note>
|
|
120
|
+
If login fails before the browser flow starts, make sure the local `gemini`
|
|
121
|
+
command is installed and on `PATH`.
|
|
122
|
+
</Note>
|
|
123
|
+
|
|
124
|
+
`google-gemini-cli/*` model refs are legacy compatibility aliases. New
|
|
125
|
+
configs should use `google/*` model refs plus the `google-gemini-cli`
|
|
126
|
+
runtime when they want local Gemini CLI execution.
|
|
127
|
+
|
|
128
|
+
</Tab>
|
|
129
|
+
</Tabs>
|
|
130
|
+
|
|
131
|
+
## Capabilities
|
|
132
|
+
|
|
133
|
+
| Capability | Supported |
|
|
134
|
+
| ---------------------- | ----------------------------- |
|
|
135
|
+
| Chat completions | Yes |
|
|
136
|
+
| Image generation | Yes |
|
|
137
|
+
| Music generation | Yes |
|
|
138
|
+
| Text-to-speech | Yes |
|
|
139
|
+
| Realtime voice | Yes (Google Live API) |
|
|
140
|
+
| Image understanding | Yes |
|
|
141
|
+
| Audio transcription | Yes |
|
|
142
|
+
| Video understanding | Yes |
|
|
143
|
+
| Web search (Grounding) | Yes |
|
|
144
|
+
| Thinking/reasoning | Yes (Gemini 2.5+ / Gemini 3+) |
|
|
145
|
+
| Gemma 4 models | Yes |
|
|
146
|
+
|
|
147
|
+
## Web search
|
|
148
|
+
|
|
149
|
+
The bundled `gemini` web-search provider uses Gemini Google Search grounding.
|
|
150
|
+
Configure a dedicated search key under `plugins.entries.google.config.webSearch`,
|
|
151
|
+
or let it reuse `models.providers.google.apiKey` after `GEMINI_API_KEY`:
|
|
152
|
+
|
|
153
|
+
```json5
|
|
154
|
+
{
|
|
155
|
+
plugins: {
|
|
156
|
+
entries: {
|
|
157
|
+
google: {
|
|
158
|
+
config: {
|
|
159
|
+
webSearch: {
|
|
160
|
+
apiKey: "AIza...", // optional if GEMINI_API_KEY or models.providers.google.apiKey is set
|
|
161
|
+
baseUrl: "https://generativelanguage.googleapis.com/v1beta", // falls back to models.providers.google.baseUrl
|
|
162
|
+
model: "gemini-2.5-flash",
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Credential precedence is dedicated `webSearch.apiKey`, then `GEMINI_API_KEY`,
|
|
172
|
+
then `models.providers.google.apiKey`. `webSearch.baseUrl` is optional and
|
|
173
|
+
exists for operator proxies or compatible Gemini API endpoints; when omitted,
|
|
174
|
+
Gemini web search reuses `models.providers.google.baseUrl`. See
|
|
175
|
+
[Gemini search](/tools/gemini-search) for the provider-specific tool behavior.
|
|
176
|
+
|
|
177
|
+
<Tip>
|
|
178
|
+
Gemini 3 models use `thinkingLevel` rather than `thinkingBudget`. OpenClaw maps
|
|
179
|
+
Gemini 3, Gemini 3.1, and `gemini-*-latest` alias reasoning controls to
|
|
180
|
+
`thinkingLevel` so default/low-latency runs do not send disabled
|
|
181
|
+
`thinkingBudget` values.
|
|
182
|
+
|
|
183
|
+
`/think adaptive` keeps Google's dynamic thinking semantics instead of choosing
|
|
184
|
+
a fixed OpenClaw level. Gemini 3 and Gemini 3.1 omit a fixed `thinkingLevel` so
|
|
185
|
+
Google can choose the level; Gemini 2.5 sends Google's dynamic sentinel
|
|
186
|
+
`thinkingBudget: -1`.
|
|
187
|
+
|
|
188
|
+
Gemma 4 models (for example `gemma-4-26b-a4b-it`) support thinking mode. OpenClaw
|
|
189
|
+
rewrites `thinkingBudget` to a supported Google `thinkingLevel` for Gemma 4.
|
|
190
|
+
Setting thinking to `off` preserves thinking disabled instead of mapping to
|
|
191
|
+
`MINIMAL`.
|
|
192
|
+
</Tip>
|
|
193
|
+
|
|
194
|
+
## Image generation
|
|
195
|
+
|
|
196
|
+
The bundled `google` image-generation provider defaults to
|
|
197
|
+
`google/gemini-3.1-flash-image-preview`.
|
|
198
|
+
|
|
199
|
+
- Also supports `google/gemini-3-pro-image-preview`
|
|
200
|
+
- Generate: up to 4 images per request
|
|
201
|
+
- Edit mode: enabled, up to 5 input images
|
|
202
|
+
- Geometry controls: `size`, `aspectRatio`, and `resolution`
|
|
203
|
+
|
|
204
|
+
To use Google as the default image provider:
|
|
205
|
+
|
|
206
|
+
```json5
|
|
207
|
+
{
|
|
208
|
+
agents: {
|
|
209
|
+
defaults: {
|
|
210
|
+
imageGenerationModel: {
|
|
211
|
+
primary: "google/gemini-3.1-flash-image-preview",
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
<Note>
|
|
219
|
+
See [Image Generation](/tools/image-generation) for shared tool parameters, provider selection, and failover behavior.
|
|
220
|
+
</Note>
|
|
221
|
+
|
|
222
|
+
## Video generation
|
|
223
|
+
|
|
224
|
+
The bundled `google` plugin also registers video generation through the shared
|
|
225
|
+
`video_generate` tool.
|
|
226
|
+
|
|
227
|
+
- Default video model: `google/veo-3.1-fast-generate-preview`
|
|
228
|
+
- Modes: text-to-video, image-to-video, and single-video reference flows
|
|
229
|
+
- Supports `aspectRatio` (`16:9`, `9:16`) and `resolution` (`720P`, `1080P`); audio output is not supported by Veo today
|
|
230
|
+
- Supported durations: **4, 6, or 8 seconds** (other values snap to the nearest allowed value)
|
|
231
|
+
|
|
232
|
+
To use Google as the default video provider:
|
|
233
|
+
|
|
234
|
+
```json5
|
|
235
|
+
{
|
|
236
|
+
agents: {
|
|
237
|
+
defaults: {
|
|
238
|
+
videoGenerationModel: {
|
|
239
|
+
primary: "google/veo-3.1-fast-generate-preview",
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
<Note>
|
|
247
|
+
See [Video Generation](/tools/video-generation) for shared tool parameters, provider selection, and failover behavior.
|
|
248
|
+
</Note>
|
|
249
|
+
|
|
250
|
+
## Music generation
|
|
251
|
+
|
|
252
|
+
The bundled `google` plugin also registers music generation through the shared
|
|
253
|
+
`music_generate` tool.
|
|
254
|
+
|
|
255
|
+
- Default music model: `google/lyria-3-clip-preview`
|
|
256
|
+
- Also supports `google/lyria-3-pro-preview`
|
|
257
|
+
- Prompt controls: `lyrics` and `instrumental`
|
|
258
|
+
- Output format: `mp3` by default, plus `wav` on `google/lyria-3-pro-preview`
|
|
259
|
+
- Reference inputs: up to 10 images
|
|
260
|
+
- Session-backed runs detach through the shared task/status flow, including `action: "status"`
|
|
261
|
+
|
|
262
|
+
To use Google as the default music provider:
|
|
263
|
+
|
|
264
|
+
```json5
|
|
265
|
+
{
|
|
266
|
+
agents: {
|
|
267
|
+
defaults: {
|
|
268
|
+
musicGenerationModel: {
|
|
269
|
+
primary: "google/lyria-3-clip-preview",
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
<Note>
|
|
277
|
+
See [Music Generation](/tools/music-generation) for shared tool parameters, provider selection, and failover behavior.
|
|
278
|
+
</Note>
|
|
279
|
+
|
|
280
|
+
## Text-to-speech
|
|
281
|
+
|
|
282
|
+
The bundled `google` speech provider uses the Gemini API TTS path with
|
|
283
|
+
`gemini-3.1-flash-tts-preview`.
|
|
284
|
+
|
|
285
|
+
- Default voice: `Kore`
|
|
286
|
+
- Auth: `messages.tts.providers.google.apiKey`, `models.providers.google.apiKey`, `GEMINI_API_KEY`, or `GOOGLE_API_KEY`
|
|
287
|
+
- Output: WAV for regular TTS attachments, Opus for voice-note targets, PCM for Talk/telephony
|
|
288
|
+
- Voice-note output: Google PCM is wrapped as WAV and transcoded to 48 kHz Opus with `ffmpeg`
|
|
289
|
+
|
|
290
|
+
Google's batch Gemini TTS path returns generated audio in the completed
|
|
291
|
+
`generateContent` response. For lowest-latency spoken conversations, use the
|
|
292
|
+
Google realtime voice provider backed by the Gemini Live API instead of batch
|
|
293
|
+
TTS.
|
|
294
|
+
|
|
295
|
+
To use Google as the default TTS provider:
|
|
296
|
+
|
|
297
|
+
```json5
|
|
298
|
+
{
|
|
299
|
+
messages: {
|
|
300
|
+
tts: {
|
|
301
|
+
auto: "always",
|
|
302
|
+
provider: "google",
|
|
303
|
+
providers: {
|
|
304
|
+
google: {
|
|
305
|
+
model: "gemini-3.1-flash-tts-preview",
|
|
306
|
+
speakerVoice: "Kore",
|
|
307
|
+
audioProfile: "Speak professionally with a calm tone.",
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Gemini API TTS uses natural-language prompting for style control. Set
|
|
316
|
+
`audioProfile` to prepend a reusable style prompt before the spoken text. Set
|
|
317
|
+
`speakerName` when your prompt text refers to a named speaker.
|
|
318
|
+
|
|
319
|
+
Gemini API TTS also accepts expressive square-bracket audio tags in the text,
|
|
320
|
+
such as `[whispers]` or `[laughs]`. To keep tags out of the visible chat reply
|
|
321
|
+
while sending them to TTS, put them inside a `[[tts:text]]...[[/tts:text]]`
|
|
322
|
+
block:
|
|
323
|
+
|
|
324
|
+
```text
|
|
325
|
+
Here is the clean reply text.
|
|
326
|
+
|
|
327
|
+
[[tts:text]][whispers] Here is the spoken version.[[/tts:text]]
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
<Note>
|
|
331
|
+
A Google Cloud Console API key restricted to the Gemini API is valid for this
|
|
332
|
+
provider. This is not the separate Cloud Text-to-Speech API path.
|
|
333
|
+
</Note>
|
|
334
|
+
|
|
335
|
+
## Realtime voice
|
|
336
|
+
|
|
337
|
+
The bundled `google` plugin registers a realtime voice provider backed by the
|
|
338
|
+
Gemini Live API for backend audio bridges such as Voice Call and Google Meet.
|
|
339
|
+
|
|
340
|
+
| Setting | Config path | Default |
|
|
341
|
+
| --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
342
|
+
| Model | `plugins.entries.voice-call.config.realtime.providers.google.model` | `gemini-2.5-flash-native-audio-preview-12-2025` |
|
|
343
|
+
| Voice | `...google.voice` | `Kore` |
|
|
344
|
+
| Temperature | `...google.temperature` | (unset) |
|
|
345
|
+
| VAD start sensitivity | `...google.startSensitivity` | (unset) |
|
|
346
|
+
| VAD end sensitivity | `...google.endSensitivity` | (unset) |
|
|
347
|
+
| Silence duration | `...google.silenceDurationMs` | (unset) |
|
|
348
|
+
| Activity handling | `...google.activityHandling` | Google default, `start-of-activity-interrupts` |
|
|
349
|
+
| Turn coverage | `...google.turnCoverage` | Google default, `only-activity` |
|
|
350
|
+
| Disable auto VAD | `...google.automaticActivityDetectionDisabled` | `false` |
|
|
351
|
+
| Session resumption | `...google.sessionResumption` | `true` |
|
|
352
|
+
| Context compression | `...google.contextWindowCompression` | `true` |
|
|
353
|
+
| API key | `...google.apiKey` | Falls back to `models.providers.google.apiKey`, `GEMINI_API_KEY`, or `GOOGLE_API_KEY` |
|
|
354
|
+
|
|
355
|
+
Example Voice Call realtime config:
|
|
356
|
+
|
|
357
|
+
```json5
|
|
358
|
+
{
|
|
359
|
+
plugins: {
|
|
360
|
+
entries: {
|
|
361
|
+
"voice-call": {
|
|
362
|
+
enabled: true,
|
|
363
|
+
config: {
|
|
364
|
+
realtime: {
|
|
365
|
+
enabled: true,
|
|
366
|
+
provider: "google",
|
|
367
|
+
providers: {
|
|
368
|
+
google: {
|
|
369
|
+
model: "gemini-2.5-flash-native-audio-preview-12-2025",
|
|
370
|
+
speakerVoice: "Kore",
|
|
371
|
+
activityHandling: "start-of-activity-interrupts",
|
|
372
|
+
turnCoverage: "only-activity",
|
|
373
|
+
},
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
<Note>
|
|
384
|
+
Google Live API uses bidirectional audio and function calling over a WebSocket.
|
|
385
|
+
OpenClaw adapts telephony/Meet bridge audio to Gemini's PCM Live API stream and
|
|
386
|
+
keeps tool calls on the shared realtime voice contract. Leave `temperature`
|
|
387
|
+
unset unless you need sampling changes; OpenClaw omits non-positive values
|
|
388
|
+
because Google Live can return transcripts without audio for `temperature: 0`.
|
|
389
|
+
Gemini API transcription is enabled without `languageCodes`; the current Google
|
|
390
|
+
SDK rejects language-code hints on this API path.
|
|
391
|
+
</Note>
|
|
392
|
+
|
|
393
|
+
<Note>
|
|
394
|
+
Control UI Talk supports Google Live browser sessions with constrained one-use
|
|
395
|
+
tokens. Backend-only realtime voice providers can also run through the generic
|
|
396
|
+
Gateway relay transport, which keeps provider credentials on the Gateway.
|
|
397
|
+
</Note>
|
|
398
|
+
|
|
399
|
+
For maintainer live verification, run
|
|
400
|
+
`OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts`.
|
|
401
|
+
The smoke also covers OpenAI backend/WebRTC paths; the Google leg mints the same
|
|
402
|
+
constrained Live API token shape used by Control UI Talk, opens the browser
|
|
403
|
+
WebSocket endpoint, sends the initial setup payload, and waits for
|
|
404
|
+
`setupComplete`.
|
|
405
|
+
|
|
406
|
+
## Advanced configuration
|
|
407
|
+
|
|
408
|
+
<AccordionGroup>
|
|
409
|
+
<Accordion title="Direct Gemini cache reuse">
|
|
410
|
+
For direct Gemini API runs (`api: "google-generative-ai"`), OpenClaw
|
|
411
|
+
passes a configured `cachedContent` handle through to Gemini requests.
|
|
412
|
+
|
|
413
|
+
- Configure per-model or global params with either
|
|
414
|
+
`cachedContent` or legacy `cached_content`
|
|
415
|
+
- If both are present, `cachedContent` wins
|
|
416
|
+
- Example value: `cachedContents/prebuilt-context`
|
|
417
|
+
- Gemini cache-hit usage is normalized into OpenClaw `cacheRead` from
|
|
418
|
+
upstream `cachedContentTokenCount`
|
|
419
|
+
|
|
420
|
+
```json5
|
|
421
|
+
{
|
|
422
|
+
agents: {
|
|
423
|
+
defaults: {
|
|
424
|
+
models: {
|
|
425
|
+
"google/gemini-2.5-pro": {
|
|
426
|
+
params: {
|
|
427
|
+
cachedContent: "cachedContents/prebuilt-context",
|
|
428
|
+
},
|
|
429
|
+
},
|
|
430
|
+
},
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
</Accordion>
|
|
437
|
+
|
|
438
|
+
<Accordion title="Gemini CLI JSON usage notes">
|
|
439
|
+
When using the `google-gemini-cli` OAuth provider, OpenClaw normalizes
|
|
440
|
+
the CLI JSON output as follows:
|
|
441
|
+
|
|
442
|
+
- Reply text comes from the CLI JSON `response` field.
|
|
443
|
+
- Usage falls back to `stats` when the CLI leaves `usage` empty.
|
|
444
|
+
- `stats.cached` is normalized into OpenClaw `cacheRead`.
|
|
445
|
+
- If `stats.input` is missing, OpenClaw derives input tokens from
|
|
446
|
+
`stats.input_tokens - stats.cached`.
|
|
447
|
+
|
|
448
|
+
</Accordion>
|
|
449
|
+
|
|
450
|
+
<Accordion title="Environment and daemon setup">
|
|
451
|
+
If the Gateway runs as a daemon (launchd/systemd), make sure `GEMINI_API_KEY`
|
|
452
|
+
is available to that process (for example, in `~/.openclaw/.env` or via
|
|
453
|
+
`env.shellEnv`).
|
|
454
|
+
</Accordion>
|
|
455
|
+
</AccordionGroup>
|
|
456
|
+
|
|
457
|
+
## Related
|
|
458
|
+
|
|
459
|
+
<CardGroup cols={2}>
|
|
460
|
+
<Card title="Model selection" href="/concepts/model-providers" icon="layers">
|
|
461
|
+
Choosing providers, model refs, and failover behavior.
|
|
462
|
+
</Card>
|
|
463
|
+
<Card title="Image generation" href="/tools/image-generation" icon="image">
|
|
464
|
+
Shared image tool parameters and provider selection.
|
|
465
|
+
</Card>
|
|
466
|
+
<Card title="Video generation" href="/tools/video-generation" icon="video">
|
|
467
|
+
Shared video tool parameters and provider selection.
|
|
468
|
+
</Card>
|
|
469
|
+
<Card title="Music generation" href="/tools/music-generation" icon="music">
|
|
470
|
+
Shared music tool parameters and provider selection.
|
|
471
|
+
</Card>
|
|
472
|
+
</CardGroup>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Use Gradium text-to-speech in OpenClaw"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want Gradium for text-to-speech
|
|
5
|
+
- You need Gradium API key, voice, or directive token configuration
|
|
6
|
+
title: "Gradium"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
[Gradium](https://gradium.ai) is a bundled text-to-speech provider for OpenClaw. The plugin can render normal audio replies (WAV), voice-note-compatible Opus output, and 8 kHz u-law audio for telephony surfaces.
|
|
10
|
+
|
|
11
|
+
| Property | Value |
|
|
12
|
+
| ------------- | ------------------------------------ |
|
|
13
|
+
| Provider id | `gradium` |
|
|
14
|
+
| Auth | `GRADIUM_API_KEY` or config `apiKey` |
|
|
15
|
+
| Base URL | `https://api.gradium.ai` (default) |
|
|
16
|
+
| Default voice | `Emma` (`YTpq7expH9539ERJ`) |
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
Create a Gradium API key, then expose it to OpenClaw with either an env var or the config key.
|
|
21
|
+
|
|
22
|
+
<Tabs>
|
|
23
|
+
<Tab title="Env var">
|
|
24
|
+
```bash
|
|
25
|
+
export GRADIUM_API_KEY="gsk_..."
|
|
26
|
+
```
|
|
27
|
+
</Tab>
|
|
28
|
+
|
|
29
|
+
<Tab title="Config key">
|
|
30
|
+
```json5
|
|
31
|
+
{
|
|
32
|
+
messages: {
|
|
33
|
+
tts: {
|
|
34
|
+
auto: "always",
|
|
35
|
+
provider: "gradium",
|
|
36
|
+
providers: {
|
|
37
|
+
gradium: {
|
|
38
|
+
apiKey: "${GRADIUM_API_KEY}",
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
</Tab>
|
|
46
|
+
</Tabs>
|
|
47
|
+
|
|
48
|
+
The plugin checks the resolved `apiKey` first and falls back to the `GRADIUM_API_KEY` environment variable.
|
|
49
|
+
|
|
50
|
+
## Config
|
|
51
|
+
|
|
52
|
+
```json5
|
|
53
|
+
{
|
|
54
|
+
messages: {
|
|
55
|
+
tts: {
|
|
56
|
+
auto: "always",
|
|
57
|
+
provider: "gradium",
|
|
58
|
+
providers: {
|
|
59
|
+
gradium: {
|
|
60
|
+
speakerVoiceId: "YTpq7expH9539ERJ",
|
|
61
|
+
// apiKey: "${GRADIUM_API_KEY}",
|
|
62
|
+
// baseUrl: "https://api.gradium.ai",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| Key | Type | Description |
|
|
71
|
+
| ----------------------------------------------- | ------ | --------------------------------------------------------------------------------------------- |
|
|
72
|
+
| `messages.tts.providers.gradium.apiKey` | string | Resolved API key. Supports `${ENV}` and secret refs. |
|
|
73
|
+
| `messages.tts.providers.gradium.baseUrl` | string | Override the API origin. Trailing slashes are stripped. Defaults to `https://api.gradium.ai`. |
|
|
74
|
+
| `messages.tts.providers.gradium.speakerVoiceId` | string | Default voice id used when no directive override is present. |
|
|
75
|
+
|
|
76
|
+
The output audio format is selected automatically by the runtime based on the target surface and is not configurable from `openclaw.json`. See [Output](#output) below.
|
|
77
|
+
|
|
78
|
+
## Voices
|
|
79
|
+
|
|
80
|
+
| Name | Voice ID |
|
|
81
|
+
| --------- | ------------------ |
|
|
82
|
+
| Emma | `YTpq7expH9539ERJ` |
|
|
83
|
+
| Kent | `LFZvm12tW_z0xfGo` |
|
|
84
|
+
| Tiffany | `Eu9iL_CYe8N-Gkx_` |
|
|
85
|
+
| Christina | `2H4HY2CBNyJHBCrP` |
|
|
86
|
+
| Sydney | `jtEKaLYNn6iif5PR` |
|
|
87
|
+
| John | `KWJiFWu2O9nMPYcR` |
|
|
88
|
+
| Arthur | `3jUdJyOi9pgbxBTK` |
|
|
89
|
+
|
|
90
|
+
Default voice: Emma.
|
|
91
|
+
|
|
92
|
+
### Per-message voice override
|
|
93
|
+
|
|
94
|
+
When the active speech policy allows voice overrides, you can switch voices inline using a directive token. Use `speakerVoiceId` for provider-native voice ids.
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
/voice:LFZvm12tW_z0xfGo
|
|
98
|
+
/voice_id:LFZvm12tW_z0xfGo
|
|
99
|
+
/voiceid:LFZvm12tW_z0xfGo
|
|
100
|
+
/gradium_voice:LFZvm12tW_z0xfGo
|
|
101
|
+
/gradiumvoice:LFZvm12tW_z0xfGo
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If the speech policy disables voice overrides, the directive is consumed but ignored.
|
|
105
|
+
|
|
106
|
+
## Output
|
|
107
|
+
|
|
108
|
+
The runtime picks the output format from the target surface. The provider does not synthesize other formats today.
|
|
109
|
+
|
|
110
|
+
| Target | Format | File ext | Sample rate | Voice-compatible flag |
|
|
111
|
+
| -------------- | ----------- | -------- | ----------- | --------------------- |
|
|
112
|
+
| Standard audio | `wav` | `.wav` | provider | no |
|
|
113
|
+
| Voice note | `opus` | `.opus` | provider | yes |
|
|
114
|
+
| Telephony | `ulaw_8000` | n/a | 8 kHz | n/a |
|
|
115
|
+
|
|
116
|
+
## Auto-select order
|
|
117
|
+
|
|
118
|
+
Among configured TTS providers, Gradium's auto-select order is `30`. See [Text-to-Speech](/tools/tts) for how OpenClaw picks the active provider when `messages.tts.provider` is not pinned.
|
|
119
|
+
|
|
120
|
+
## Related
|
|
121
|
+
|
|
122
|
+
- [Text-to-Speech](/tools/tts)
|
|
123
|
+
- [Media Overview](/tools/media-overview)
|