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,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blucli
|
|
3
|
+
description: "BluOS CLI (blu) for discovery, playback, grouping, and volume."
|
|
4
|
+
homepage: https://blucli.sh
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "🫐",
|
|
10
|
+
"requires": { "bins": ["blu"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "go",
|
|
15
|
+
"kind": "go",
|
|
16
|
+
"module": "github.com/steipete/blucli/cmd/blu@latest",
|
|
17
|
+
"bins": ["blu"],
|
|
18
|
+
"label": "Install blucli (go)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# blucli (blu)
|
|
26
|
+
|
|
27
|
+
Use `blu` to control Bluesound/NAD players.
|
|
28
|
+
|
|
29
|
+
Quick start
|
|
30
|
+
|
|
31
|
+
- `blu devices` (pick target)
|
|
32
|
+
- `blu --device <id> status`
|
|
33
|
+
- `blu play|pause|stop`
|
|
34
|
+
- `blu volume set 15`
|
|
35
|
+
|
|
36
|
+
Target selection (in priority order)
|
|
37
|
+
|
|
38
|
+
- `--device <id|name|alias>`
|
|
39
|
+
- `BLU_DEVICE`
|
|
40
|
+
- config default (if set)
|
|
41
|
+
|
|
42
|
+
Common tasks
|
|
43
|
+
|
|
44
|
+
- Grouping: `blu group status|add|remove`
|
|
45
|
+
- TuneIn search/play: `blu tunein search "query"`, `blu tunein play "query"`
|
|
46
|
+
|
|
47
|
+
Prefer `--json` for scripts. Confirm the target device before changing playback.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: camsnap
|
|
3
|
+
description: "Capture frames or clips from RTSP/ONVIF cameras."
|
|
4
|
+
homepage: https://camsnap.ai
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "📸",
|
|
10
|
+
"requires": { "bins": ["camsnap"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "brew",
|
|
15
|
+
"kind": "brew",
|
|
16
|
+
"formula": "steipete/tap/camsnap",
|
|
17
|
+
"bins": ["camsnap"],
|
|
18
|
+
"label": "Install camsnap (brew)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# camsnap
|
|
26
|
+
|
|
27
|
+
Use `camsnap` to grab snapshots, clips, or motion events from configured cameras.
|
|
28
|
+
|
|
29
|
+
Setup
|
|
30
|
+
|
|
31
|
+
- Config file: `~/.config/camsnap/config.yaml`
|
|
32
|
+
- Add camera: `camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass`
|
|
33
|
+
|
|
34
|
+
Common commands
|
|
35
|
+
|
|
36
|
+
- Discover: `camsnap discover --info`
|
|
37
|
+
- Snapshot: `camsnap snap kitchen --out shot.jpg`
|
|
38
|
+
- Clip: `camsnap clip kitchen --dur 5s --out clip.mp4`
|
|
39
|
+
- Motion watch: `camsnap watch kitchen --threshold 0.2 --action '...'`
|
|
40
|
+
- Doctor: `camsnap doctor --probe`
|
|
41
|
+
|
|
42
|
+
Notes
|
|
43
|
+
|
|
44
|
+
- Requires `ffmpeg` on PATH.
|
|
45
|
+
- Prefer a short test capture before longer clips.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas
|
|
3
|
+
description: "Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs."
|
|
4
|
+
metadata: { "openclaw": { "emoji": "🖼️" } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Canvas
|
|
8
|
+
|
|
9
|
+
Use canvas to show HTML on connected Mac/iOS/Android nodes.
|
|
10
|
+
|
|
11
|
+
## Model
|
|
12
|
+
|
|
13
|
+
- Canvas host serves files from `plugins.entries.canvas.config.host.root`.
|
|
14
|
+
- Canvas routes live on the Gateway HTTP port (`gateway.port`, default `18789`).
|
|
15
|
+
- Node bridge sends canvas URLs to connected node apps.
|
|
16
|
+
- Node apps render URLs in a WebView.
|
|
17
|
+
- Host name follows `gateway.bind`: loopback local only, LAN IP for LAN, Tailscale host for tailnet, auto picks best route.
|
|
18
|
+
- Localhost URLs only work for a node on the same machine.
|
|
19
|
+
- Paired nodes normally receive node-scoped `pluginSurfaceUrls.canvas` capability URLs; prefer those when available.
|
|
20
|
+
|
|
21
|
+
## Config
|
|
22
|
+
|
|
23
|
+
Active config: `$OPENCLAW_CONFIG_PATH` or `~/.openclaw/openclaw.json`.
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"plugins": {
|
|
28
|
+
"entries": {
|
|
29
|
+
"canvas": {
|
|
30
|
+
"config": {
|
|
31
|
+
"host": {
|
|
32
|
+
"enabled": true,
|
|
33
|
+
"root": "~/.openclaw/canvas",
|
|
34
|
+
"liveReload": true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"gateway": { "bind": "auto" }
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Actions
|
|
45
|
+
|
|
46
|
+
- `present`: show canvas, optional URL.
|
|
47
|
+
- `hide`: hide canvas.
|
|
48
|
+
- `navigate`: open new URL.
|
|
49
|
+
- `eval`: run JavaScript in current canvas.
|
|
50
|
+
- `snapshot`: capture screenshot.
|
|
51
|
+
|
|
52
|
+
## Workflow
|
|
53
|
+
|
|
54
|
+
1. Ensure Canvas plugin host is enabled.
|
|
55
|
+
2. Put HTML/CSS/JS under `plugins.entries.canvas.config.host.root` or the default state canvas dir.
|
|
56
|
+
3. Use a route reachable by the target node.
|
|
57
|
+
4. Present the hosted URL: `/__openclaw__/canvas/<file>.html`.
|
|
58
|
+
5. Use `snapshot` when the user needs proof.
|
|
59
|
+
|
|
60
|
+
## URL shape
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/index.html
|
|
64
|
+
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/games/snake.html
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Path mapping:
|
|
68
|
+
|
|
69
|
+
- `/__openclaw__/canvas/index.html` -> `<canvas host root>/index.html`
|
|
70
|
+
- `/__openclaw__/canvas/games/snake.html` -> `<canvas host root>/games/snake.html`
|
|
71
|
+
|
|
72
|
+
## Troubleshooting
|
|
73
|
+
|
|
74
|
+
- Node sees localhost but is remote: fix `gateway.bind` or public URL, regenerate URL.
|
|
75
|
+
- LAN node cannot load: verify same network, firewall, Gateway port, and auth/capability URL.
|
|
76
|
+
- Tailnet node cannot load: verify Tailscale status and advertised host.
|
|
77
|
+
- Blank page: open URL locally, check browser console, then snapshot node.
|
|
78
|
+
- Live reload missing: verify `liveReload` and file write under root.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clawhub
|
|
3
|
+
description: "Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry."
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"openclaw":
|
|
7
|
+
{
|
|
8
|
+
"requires": { "bins": ["clawhub"] },
|
|
9
|
+
"install":
|
|
10
|
+
[
|
|
11
|
+
{
|
|
12
|
+
"id": "node",
|
|
13
|
+
"kind": "node",
|
|
14
|
+
"package": "clawhub",
|
|
15
|
+
"bins": ["clawhub"],
|
|
16
|
+
"label": "Install ClawHub CLI (npm)",
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# ClawHub CLI
|
|
24
|
+
|
|
25
|
+
Install
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm i -g clawhub
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Auth (publish)
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
clawhub login
|
|
35
|
+
clawhub whoami
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Search
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
clawhub search "postgres backups"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Install
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
clawhub install my-skill
|
|
48
|
+
clawhub install my-skill --version 1.2.3
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Update (hash-based match + upgrade)
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
clawhub update my-skill
|
|
55
|
+
clawhub update my-skill --version 1.2.3
|
|
56
|
+
clawhub update --all
|
|
57
|
+
clawhub update my-skill --force
|
|
58
|
+
clawhub update --all --no-input --force
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
List
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
clawhub list
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Publish
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
clawhub publish ./my-skill --slug my-skill --name "My Skill" --version 1.2.0 --changelog "Fixes + docs"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Notes
|
|
74
|
+
|
|
75
|
+
- Default registry: https://clawhub.com (override with CLAWHUB_REGISTRY or --registry)
|
|
76
|
+
- Default workdir: cwd (falls back to OpenClaw workspace); install dir: ./skills (override with --workdir / --dir / CLAWHUB_WORKDIR)
|
|
77
|
+
- Update command hashes local files, resolves matching version, and upgrades to latest unless --version is set
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coding-agent
|
|
3
|
+
description: "Delegate coding work to Codex, Claude Code, or OpenCode as background workers; not simple edits or read-only code lookup."
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"openclaw":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "🧩",
|
|
9
|
+
"requires":
|
|
10
|
+
{
|
|
11
|
+
"anyBins": ["claude", "codex", "opencode"],
|
|
12
|
+
"config": ["skills.entries.coding-agent.enabled"],
|
|
13
|
+
},
|
|
14
|
+
"install":
|
|
15
|
+
[
|
|
16
|
+
{
|
|
17
|
+
"id": "node-claude",
|
|
18
|
+
"kind": "node",
|
|
19
|
+
"package": "@anthropic-ai/claude-code",
|
|
20
|
+
"bins": ["claude"],
|
|
21
|
+
"label": "Install Claude Code CLI (npm)",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "node-codex",
|
|
25
|
+
"kind": "node",
|
|
26
|
+
"package": "@openai/codex",
|
|
27
|
+
"bins": ["codex"],
|
|
28
|
+
"label": "Install Codex CLI (npm)",
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
# Coding Agent
|
|
36
|
+
|
|
37
|
+
Use for background feature builds, PR reviews, large refactors, and issue-to-PR loops. Do not use for simple edits, read-only lookup, ACP thread-bound work, or any run inside `~/.openclaw`, `$OPENCLAW_STATE_DIR`, or active OpenClaw state dirs.
|
|
38
|
+
|
|
39
|
+
## Hard rules
|
|
40
|
+
|
|
41
|
+
- Always launch with `background:true`.
|
|
42
|
+
- Codex and OpenCode: use `pty:true`.
|
|
43
|
+
- Claude Code: no PTY; use `claude --permission-mode bypassPermissions --print`.
|
|
44
|
+
- Capture a real notification route before spawning.
|
|
45
|
+
- Worker must send completion/failure via `openclaw message send`.
|
|
46
|
+
- Do not rely on heartbeat, system events, or notify-on-exit.
|
|
47
|
+
- Monitor with `process`; do not kill slow workers without cause.
|
|
48
|
+
- If user asked for a specific agent, use that agent.
|
|
49
|
+
- If worker fails/hangs, respawn or ask; do not silently hand-code instead.
|
|
50
|
+
- Never checkout branches or run background coding agents in `~/Projects/openclaw`; use an isolated checkout.
|
|
51
|
+
|
|
52
|
+
## Notification block
|
|
53
|
+
|
|
54
|
+
Append this shape to every worker prompt with real values:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
Notification route:
|
|
58
|
+
- channel: <notifyChannel>
|
|
59
|
+
- target: <notifyTarget>
|
|
60
|
+
- account: <notifyAccount or omit>
|
|
61
|
+
- reply_to: <notifyReplyTo or omit>
|
|
62
|
+
- thread_id: <notifyThreadId or omit>
|
|
63
|
+
|
|
64
|
+
When finished, send exactly one completion or failure message using:
|
|
65
|
+
openclaw message send --channel <channel> --target '<target>' --message '<brief result>'
|
|
66
|
+
Add --account, --reply-to, or --thread-id only when present above.
|
|
67
|
+
Do not use openclaw system event or heartbeat.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If no trustworthy route exists, say completion auto-notify is unavailable.
|
|
71
|
+
|
|
72
|
+
## Launch forms
|
|
73
|
+
|
|
74
|
+
Write the worker prompt to a temp file first. This avoids shell quoting bugs when the required notification block contains quotes or newlines.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
PROMPT=$(mktemp -t openclaw-worker-prompt.XXXXXX)
|
|
78
|
+
cat >"$PROMPT" <<'EOF'
|
|
79
|
+
Task.
|
|
80
|
+
<notification block>
|
|
81
|
+
EOF
|
|
82
|
+
printf 'prompt file: %s\n' "$PROMPT"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Use `$PROMPT` when launching from the same shell/session. If using a separate tool call, substitute the printed path.
|
|
86
|
+
|
|
87
|
+
Codex:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
bash pty:true background:true workdir:/path/repo command:"codex exec - < \"$PROMPT\""
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Claude Code:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
bash background:true workdir:/path/repo command:"claude --permission-mode bypassPermissions --print < \"$PROMPT\""
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
OpenCode:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
bash pty:true background:true workdir:/path/repo command:"opencode run < \"$PROMPT\""
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Long issue-to-PR work
|
|
106
|
+
|
|
107
|
+
1. Create/reuse a GitHub issue as durable spec.
|
|
108
|
+
2. Include issue URL, repo, base branch, expected PR, proof, and notification route.
|
|
109
|
+
3. Tell worker to branch, implement, test, run review until no accepted actionable findings, open PR.
|
|
110
|
+
4. Return issue URL and `sessionId` immediately.
|
|
111
|
+
5. Monitor with `process`; cancel through Task Registry if mirrored there.
|
|
112
|
+
|
|
113
|
+
## Scratch Codex
|
|
114
|
+
|
|
115
|
+
Codex needs a trusted git repo:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
SCRATCH=$(mktemp -d)
|
|
119
|
+
git -C "$SCRATCH" init
|
|
120
|
+
PROMPT=$(mktemp -t openclaw-worker-prompt.XXXXXX)
|
|
121
|
+
cat >"$PROMPT" <<'EOF'
|
|
122
|
+
Build X.
|
|
123
|
+
<notification block>
|
|
124
|
+
EOF
|
|
125
|
+
printf 'prompt file: %s\n' "$PROMPT"
|
|
126
|
+
bash pty:true background:true workdir:$SCRATCH command:"codex exec - < \"$PROMPT\""
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Process actions
|
|
130
|
+
|
|
131
|
+
- `list`: running/recent sessions.
|
|
132
|
+
- `poll`: status.
|
|
133
|
+
- `log`: output.
|
|
134
|
+
- `submit`: send input + Enter.
|
|
135
|
+
- `write`: raw stdin.
|
|
136
|
+
- `paste`: paste text.
|
|
137
|
+
- `kill`: terminate.
|
|
138
|
+
|
|
139
|
+
## Status to user
|
|
140
|
+
|
|
141
|
+
- Say what started, where, and `sessionId`.
|
|
142
|
+
- Update only on milestone, worker question, error, user action needed, or finish.
|
|
143
|
+
- If killed, say why.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: diagram-maker
|
|
3
|
+
description: Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.
|
|
4
|
+
metadata: { "openclaw": { "emoji": "🧭" } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Diagram Maker
|
|
8
|
+
|
|
9
|
+
Create diagrams as artifacts, not prose. Choose one output mode:
|
|
10
|
+
|
|
11
|
+
- `clean-svg`: educational concepts, physical systems, processes, lifecycle, simple data flow.
|
|
12
|
+
- `architecture-svg`: software/cloud/infra topology, services, databases, queues, trust zones.
|
|
13
|
+
- `excalidraw`: editable hand-drawn whiteboard, flowchart, sequence, architecture sketch.
|
|
14
|
+
|
|
15
|
+
Routing
|
|
16
|
+
|
|
17
|
+
- User wants editable/collaborative: choose Excalidraw.
|
|
18
|
+
- User wants polished standalone browser output: choose SVG/HTML.
|
|
19
|
+
- Software architecture with infra components: choose architecture SVG.
|
|
20
|
+
- Science, product, process, concept map, physical object: choose clean SVG.
|
|
21
|
+
- Unsure: ask one short question only if output format matters; otherwise choose clean SVG.
|
|
22
|
+
|
|
23
|
+
Workflow
|
|
24
|
+
|
|
25
|
+
1. Extract nodes, groups, labels, and directed relationships.
|
|
26
|
+
2. Pick layout first: left-to-right, top-down, hub-spoke, swimlanes, layered stack, sequence.
|
|
27
|
+
3. Keep labels short. Prefer 5-9 main elements over dense diagrams.
|
|
28
|
+
4. Generate the file at the requested path, or `./diagram.html` / `./diagram.excalidraw`.
|
|
29
|
+
5. Verify syntax by opening/parsing when feasible.
|
|
30
|
+
|
|
31
|
+
SVG/HTML rules
|
|
32
|
+
|
|
33
|
+
- Single standalone `.html` file with inline CSS and inline SVG.
|
|
34
|
+
- No external fonts, JS, images, gradients, glows, decorative blobs, or remote assets.
|
|
35
|
+
- Use semantic colors, not rainbow sequences: neutral, input, process, storage, external, risk.
|
|
36
|
+
- Draw connectors before nodes so arrows sit behind boxes.
|
|
37
|
+
- Every connector path has `fill="none"` and a marker arrow when directed.
|
|
38
|
+
- Leave 24px text padding inside boxes; do not let text touch borders.
|
|
39
|
+
- Legend only when symbols/colors are not obvious.
|
|
40
|
+
|
|
41
|
+
SVG template
|
|
42
|
+
|
|
43
|
+
Use `references/svg-template.md` as the wrapper and replace `<!-- SVG -->`.
|
|
44
|
+
|
|
45
|
+
Excalidraw rules
|
|
46
|
+
|
|
47
|
+
- Save `.excalidraw` JSON with `type`, `version`, `source`, `elements`, and `appState`.
|
|
48
|
+
- Use bound text for shape labels. Do not use a nonstandard `label` property.
|
|
49
|
+
- Keep bound text immediately after its container in the elements array.
|
|
50
|
+
- Minimum labeled shape: 120x60. Minimum body text: 16px.
|
|
51
|
+
- Use roughness `1`, `fontFamily: 1`, and simple fills.
|
|
52
|
+
|
|
53
|
+
For exact Excalidraw element snippets, read `references/excalidraw-patterns.md`.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Excalidraw Patterns
|
|
2
|
+
|
|
3
|
+
Envelope:
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"type": "excalidraw",
|
|
8
|
+
"version": 2,
|
|
9
|
+
"source": "openclaw/diagram-maker",
|
|
10
|
+
"elements": [],
|
|
11
|
+
"appState": { "viewBackgroundColor": "#ffffff" }
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Labeled rounded rectangle:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"type": "rectangle",
|
|
20
|
+
"id": "svc",
|
|
21
|
+
"x": 100,
|
|
22
|
+
"y": 100,
|
|
23
|
+
"width": 180,
|
|
24
|
+
"height": 72,
|
|
25
|
+
"roundness": { "type": 3 },
|
|
26
|
+
"backgroundColor": "#a5d8ff",
|
|
27
|
+
"fillStyle": "solid",
|
|
28
|
+
"strokeWidth": 2,
|
|
29
|
+
"roughness": 1,
|
|
30
|
+
"opacity": 100,
|
|
31
|
+
"boundElements": [{ "id": "svc_text", "type": "text" }]
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Bound text:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"type": "text",
|
|
40
|
+
"id": "svc_text",
|
|
41
|
+
"x": 112,
|
|
42
|
+
"y": 124,
|
|
43
|
+
"width": 156,
|
|
44
|
+
"height": 24,
|
|
45
|
+
"text": "API service",
|
|
46
|
+
"originalText": "API service",
|
|
47
|
+
"fontSize": 20,
|
|
48
|
+
"fontFamily": 1,
|
|
49
|
+
"strokeColor": "#1e1e1e",
|
|
50
|
+
"textAlign": "center",
|
|
51
|
+
"verticalAlign": "middle",
|
|
52
|
+
"containerId": "svc",
|
|
53
|
+
"autoResize": true
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Bound arrow:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"type": "arrow",
|
|
62
|
+
"id": "a1",
|
|
63
|
+
"x": 280,
|
|
64
|
+
"y": 136,
|
|
65
|
+
"width": 140,
|
|
66
|
+
"height": 0,
|
|
67
|
+
"points": [
|
|
68
|
+
[0, 0],
|
|
69
|
+
[140, 0]
|
|
70
|
+
],
|
|
71
|
+
"endArrowhead": "arrow",
|
|
72
|
+
"startBinding": { "elementId": "svc", "fixedPoint": [1, 0.5] },
|
|
73
|
+
"endBinding": { "elementId": "db", "fixedPoint": [0, 0.5] }
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Palette:
|
|
78
|
+
|
|
79
|
+
- Primary/input: `#a5d8ff`
|
|
80
|
+
- Process: `#d0bfff`
|
|
81
|
+
- Success/output: `#b2f2bb`
|
|
82
|
+
- Storage/data: `#c3fae8`
|
|
83
|
+
- External/warning: `#ffd8a8`
|
|
84
|
+
- Error/risk: `#ffc9c9`
|
|
85
|
+
- Note/decision: `#fff3bf`
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# SVG HTML Template
|
|
2
|
+
|
|
3
|
+
Copy this to a `.html` file and replace `<!-- SVG -->`.
|
|
4
|
+
|
|
5
|
+
```html
|
|
6
|
+
<!doctype html>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
9
|
+
<title>Diagram</title>
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
color-scheme: light dark;
|
|
13
|
+
--bg: #f8fafc;
|
|
14
|
+
--fg: #172033;
|
|
15
|
+
--muted: #5b6475;
|
|
16
|
+
--line: #64748b;
|
|
17
|
+
--neutral: #e2e8f0;
|
|
18
|
+
--input: #bfdbfe;
|
|
19
|
+
--process: #c7d2fe;
|
|
20
|
+
--storage: #99f6e4;
|
|
21
|
+
--external: #fde68a;
|
|
22
|
+
--risk: #fecaca;
|
|
23
|
+
}
|
|
24
|
+
@media (prefers-color-scheme: dark) {
|
|
25
|
+
:root {
|
|
26
|
+
--bg: #0f172a;
|
|
27
|
+
--fg: #e5e7eb;
|
|
28
|
+
--muted: #a3adbd;
|
|
29
|
+
--line: #94a3b8;
|
|
30
|
+
--neutral: #334155;
|
|
31
|
+
--input: #1d4ed8;
|
|
32
|
+
--process: #4338ca;
|
|
33
|
+
--storage: #0f766e;
|
|
34
|
+
--external: #92400e;
|
|
35
|
+
--risk: #991b1b;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
body {
|
|
39
|
+
margin: 0;
|
|
40
|
+
background: var(--bg);
|
|
41
|
+
color: var(--fg);
|
|
42
|
+
font:
|
|
43
|
+
14px/1.4 ui-sans-serif,
|
|
44
|
+
system-ui,
|
|
45
|
+
-apple-system,
|
|
46
|
+
BlinkMacSystemFont,
|
|
47
|
+
"Segoe UI",
|
|
48
|
+
sans-serif;
|
|
49
|
+
}
|
|
50
|
+
main {
|
|
51
|
+
max-width: 980px;
|
|
52
|
+
margin: 32px auto;
|
|
53
|
+
padding: 0 20px;
|
|
54
|
+
}
|
|
55
|
+
svg {
|
|
56
|
+
width: 100%;
|
|
57
|
+
height: auto;
|
|
58
|
+
display: block;
|
|
59
|
+
}
|
|
60
|
+
.title {
|
|
61
|
+
font-size: 20px;
|
|
62
|
+
font-weight: 650;
|
|
63
|
+
fill: var(--fg);
|
|
64
|
+
}
|
|
65
|
+
.label {
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
font-weight: 600;
|
|
68
|
+
fill: var(--fg);
|
|
69
|
+
}
|
|
70
|
+
.small {
|
|
71
|
+
font-size: 12px;
|
|
72
|
+
fill: var(--muted);
|
|
73
|
+
}
|
|
74
|
+
.node {
|
|
75
|
+
stroke: var(--line);
|
|
76
|
+
stroke-width: 1;
|
|
77
|
+
}
|
|
78
|
+
.neutral {
|
|
79
|
+
fill: var(--neutral);
|
|
80
|
+
}
|
|
81
|
+
.input {
|
|
82
|
+
fill: var(--input);
|
|
83
|
+
}
|
|
84
|
+
.process {
|
|
85
|
+
fill: var(--process);
|
|
86
|
+
}
|
|
87
|
+
.storage {
|
|
88
|
+
fill: var(--storage);
|
|
89
|
+
}
|
|
90
|
+
.external {
|
|
91
|
+
fill: var(--external);
|
|
92
|
+
}
|
|
93
|
+
.risk {
|
|
94
|
+
fill: var(--risk);
|
|
95
|
+
}
|
|
96
|
+
.edge {
|
|
97
|
+
stroke: var(--line);
|
|
98
|
+
stroke-width: 1.5;
|
|
99
|
+
fill: none;
|
|
100
|
+
}
|
|
101
|
+
.zone {
|
|
102
|
+
fill: none;
|
|
103
|
+
stroke: var(--line);
|
|
104
|
+
stroke-width: 1;
|
|
105
|
+
stroke-dasharray: 6 5;
|
|
106
|
+
opacity: 0.8;
|
|
107
|
+
}
|
|
108
|
+
</style>
|
|
109
|
+
<main>
|
|
110
|
+
<!-- SVG -->
|
|
111
|
+
</main>
|
|
112
|
+
```
|