nodmix 2026.5.25
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 +11573 -0
- package/LICENSE +21 -0
- package/README.md +486 -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 +78 -0
- package/docs/.i18n/glossary.de.json +78 -0
- package/docs/.i18n/glossary.es.json +78 -0
- package/docs/.i18n/glossary.fa.json +78 -0
- package/docs/.i18n/glossary.fr.json +78 -0
- package/docs/.i18n/glossary.id.json +78 -0
- package/docs/.i18n/glossary.it.json +78 -0
- package/docs/.i18n/glossary.ja-JP.json +98 -0
- package/docs/.i18n/glossary.ko.json +78 -0
- package/docs/.i18n/glossary.nl.json +78 -0
- package/docs/.i18n/glossary.pl.json +78 -0
- package/docs/.i18n/glossary.pt-BR.json +78 -0
- package/docs/.i18n/glossary.th.json +78 -0
- package/docs/.i18n/glossary.tr.json +78 -0
- package/docs/.i18n/glossary.uk.json +78 -0
- package/docs/.i18n/glossary.vi.json +78 -0
- package/docs/.i18n/glossary.zh-CN.json +1002 -0
- package/docs/.i18n/glossary.zh-TW.json +78 -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 +542 -0
- package/docs/AGENTS.md +36 -0
- package/docs/announcements/bluebubbles-imessage.md +79 -0
- package/docs/assets/install-script.svg +1 -0
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text-dark.svg +418 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/openclaw-logo-text.svg +418 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/pr/quick-settings-browser-tools.png +0 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith-light.svg +14 -0
- package/docs/assets/sponsors/blacksmith.svg +14 -0
- package/docs/assets/sponsors/convex-light.svg +16 -0
- package/docs/assets/sponsors/convex.svg +16 -0
- package/docs/assets/sponsors/github-light.svg +3 -0
- package/docs/assets/sponsors/github.svg +3 -0
- package/docs/assets/sponsors/nvidia-dark.svg +9 -0
- package/docs/assets/sponsors/nvidia.svg +9 -0
- package/docs/assets/sponsors/openai-light.svg +3 -0
- package/docs/assets/sponsors/openai.svg +3 -0
- package/docs/assets/sponsors/vercel-light.svg +5 -0
- package/docs/assets/sponsors/vercel.svg +5 -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 +500 -0
- package/docs/automation/cron-vs-heartbeat.md +11 -0
- package/docs/automation/gmail-pubsub.md +11 -0
- package/docs/automation/hooks.md +365 -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 +138 -0
- package/docs/channels/discord.md +1762 -0
- package/docs/channels/feishu.md +502 -0
- package/docs/channels/googlechat.md +284 -0
- package/docs/channels/group-messages.md +95 -0
- package/docs/channels/groups.md +519 -0
- package/docs/channels/imessage-from-bluebubbles.md +259 -0
- package/docs/channels/imessage.md +813 -0
- package/docs/channels/index.md +64 -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 +370 -0
- package/docs/channels/matrix-presentation.md +77 -0
- package/docs/channels/matrix-push-rules.md +150 -0
- package/docs/channels/matrix.md +921 -0
- package/docs/channels/mattermost.md +542 -0
- package/docs/channels/msteams.md +1042 -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 +309 -0
- package/docs/channels/signal.md +400 -0
- package/docs/channels/slack.md +1564 -0
- package/docs/channels/synology-chat.md +187 -0
- package/docs/channels/telegram.md +1107 -0
- package/docs/channels/tlon.md +296 -0
- package/docs/channels/troubleshooting.md +161 -0
- package/docs/channels/twitch.md +431 -0
- package/docs/channels/wechat.md +171 -0
- package/docs/channels/whatsapp.md +739 -0
- package/docs/channels/yuanbao.md +416 -0
- package/docs/channels/zalo.md +253 -0
- package/docs/channels/zalouser.md +199 -0
- package/docs/ci.md +612 -0
- package/docs/clawhub/publishing.md +96 -0
- package/docs/cli/acp.md +370 -0
- package/docs/cli/agent.md +103 -0
- package/docs/cli/agents.md +232 -0
- package/docs/cli/approvals.md +190 -0
- package/docs/cli/backup.md +97 -0
- package/docs/cli/browser.md +307 -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 +332 -0
- package/docs/cli/cron.md +281 -0
- package/docs/cli/daemon.md +67 -0
- package/docs/cli/dashboard.md +33 -0
- package/docs/cli/devices.md +204 -0
- package/docs/cli/directory.md +68 -0
- package/docs/cli/dns.md +53 -0
- package/docs/cli/docs.md +73 -0
- package/docs/cli/doctor.md +237 -0
- package/docs/cli/flows.md +52 -0
- package/docs/cli/gateway.md +567 -0
- package/docs/cli/health.md +43 -0
- package/docs/cli/hooks.md +345 -0
- package/docs/cli/index.md +396 -0
- package/docs/cli/infer.md +364 -0
- package/docs/cli/logs.md +65 -0
- package/docs/cli/mcp.md +529 -0
- package/docs/cli/memory.md +183 -0
- package/docs/cli/message.md +317 -0
- package/docs/cli/migrate.md +290 -0
- package/docs/cli/models.md +224 -0
- package/docs/cli/node.md +177 -0
- package/docs/cli/nodes.md +76 -0
- package/docs/cli/onboard.md +245 -0
- package/docs/cli/pairing.md +77 -0
- package/docs/cli/path.md +502 -0
- package/docs/cli/plugins.md +454 -0
- package/docs/cli/policy.md +418 -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 +124 -0
- package/docs/cli/sessions.md +164 -0
- package/docs/cli/setup.md +59 -0
- package/docs/cli/skills.md +102 -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/tui.md +89 -0
- package/docs/cli/uninstall.md +44 -0
- package/docs/cli/update.md +242 -0
- package/docs/cli/voicecall.md +204 -0
- package/docs/cli/webhooks.md +117 -0
- package/docs/cli/wiki.md +256 -0
- package/docs/concepts/active-memory.md +856 -0
- package/docs/concepts/agent-loop.md +185 -0
- package/docs/concepts/agent-runtimes.md +243 -0
- package/docs/concepts/agent-workspace.md +230 -0
- package/docs/concepts/agent.md +136 -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 +306 -0
- package/docs/concepts/context.md +199 -0
- package/docs/concepts/delegate-architecture.md +319 -0
- package/docs/concepts/dreaming.md +261 -0
- package/docs/concepts/experimental-features.md +108 -0
- package/docs/concepts/features.md +91 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +202 -0
- package/docs/concepts/mantis.md +740 -0
- package/docs/concepts/markdown-formatting.md +139 -0
- package/docs/concepts/memory-builtin.md +146 -0
- package/docs/concepts/memory-honcho.md +144 -0
- package/docs/concepts/memory-qmd.md +271 -0
- package/docs/concepts/memory-search.md +166 -0
- package/docs/concepts/memory.md +258 -0
- package/docs/concepts/message-lifecycle-refactor.md +1128 -0
- package/docs/concepts/messages.md +214 -0
- package/docs/concepts/model-failover.md +385 -0
- package/docs/concepts/model-providers.md +715 -0
- package/docs/concepts/models.md +370 -0
- package/docs/concepts/multi-agent.md +619 -0
- package/docs/concepts/oauth.md +198 -0
- package/docs/concepts/openclaw-sdk.md +323 -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 +362 -0
- package/docs/concepts/qa-e2e-automation.md +820 -0
- package/docs/concepts/qa-matrix.md +139 -0
- package/docs/concepts/queue-steering.md +90 -0
- package/docs/concepts/queue.md +122 -0
- package/docs/concepts/retry.md +86 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +190 -0
- package/docs/concepts/session.md +164 -0
- package/docs/concepts/soul.md +116 -0
- package/docs/concepts/streaming.md +251 -0
- package/docs/concepts/system-prompt.md +310 -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 +66 -0
- package/docs/date-time.md +126 -0
- package/docs/debug/node-issue.md +90 -0
- package/docs/diagnostics/flags.md +138 -0
- package/docs/docs.json +1832 -0
- package/docs/gateway/authentication.md +239 -0
- package/docs/gateway/background-process.md +147 -0
- package/docs/gateway/bonjour.md +303 -0
- package/docs/gateway/bridge-protocol.md +94 -0
- package/docs/gateway/cli-backends.md +420 -0
- package/docs/gateway/config-agents.md +1514 -0
- package/docs/gateway/config-channels.md +945 -0
- package/docs/gateway/config-tools.md +769 -0
- package/docs/gateway/configuration-examples.md +705 -0
- package/docs/gateway/configuration-reference.md +1393 -0
- package/docs/gateway/configuration.md +737 -0
- package/docs/gateway/diagnostics.md +213 -0
- package/docs/gateway/discovery.md +154 -0
- package/docs/gateway/doctor.md +574 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +73 -0
- package/docs/gateway/heartbeat.md +493 -0
- package/docs/gateway/index.md +383 -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 +350 -0
- package/docs/gateway/openresponses-http-api.md +347 -0
- package/docs/gateway/openshell.md +316 -0
- package/docs/gateway/opentelemetry.md +404 -0
- package/docs/gateway/operator-scopes.md +111 -0
- package/docs/gateway/pairing.md +207 -0
- package/docs/gateway/prometheus.md +230 -0
- package/docs/gateway/protocol.md +803 -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 +146 -0
- package/docs/gateway/sandboxing.md +545 -0
- package/docs/gateway/secrets-plan-contract.md +114 -0
- package/docs/gateway/secrets.md +609 -0
- package/docs/gateway/security/audit-checks.md +127 -0
- package/docs/gateway/security/index.md +1326 -0
- package/docs/gateway/security/secure-file-operations.md +76 -0
- package/docs/gateway/tailscale.md +156 -0
- package/docs/gateway/tools-invoke-http-api.md +169 -0
- package/docs/gateway/troubleshooting.md +772 -0
- package/docs/gateway/trusted-proxy-auth.md +451 -0
- package/docs/help/debugging.md +344 -0
- package/docs/help/environment.md +214 -0
- package/docs/help/faq-first-run.md +867 -0
- package/docs/help/faq-models.md +553 -0
- package/docs/help/faq.md +1975 -0
- package/docs/help/gpt55-codex-agentic-parity-maintainers.md +196 -0
- package/docs/help/gpt55-codex-agentic-parity.md +230 -0
- package/docs/help/index.md +39 -0
- package/docs/help/scripts.md +56 -0
- package/docs/help/testing-live.md +580 -0
- package/docs/help/testing-updates-plugins.md +291 -0
- package/docs/help/testing.md +928 -0
- package/docs/help/troubleshooting.md +424 -0
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-get-group-id.png +0 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/mobile-ui-screenshot.png +0 -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 +135 -0
- package/docs/install/digitalocean.md +174 -0
- package/docs/install/docker-vm-runtime.md +154 -0
- package/docs/install/docker.md +562 -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 +221 -0
- package/docs/install/installer.md +455 -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 +177 -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 +210 -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 +131 -0
- package/docs/install/updating.md +280 -0
- package/docs/logging.md +318 -0
- package/docs/nav-tabs-underline.js +100 -0
- package/docs/network.md +72 -0
- package/docs/nodes/audio.md +215 -0
- package/docs/nodes/camera.md +166 -0
- package/docs/nodes/images.md +77 -0
- package/docs/nodes/index.md +439 -0
- package/docs/nodes/location-command.md +102 -0
- package/docs/nodes/media-understanding.md +469 -0
- package/docs/nodes/talk.md +154 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +93 -0
- package/docs/perplexity.md +11 -0
- package/docs/pi-dev.md +82 -0
- package/docs/pi.md +573 -0
- package/docs/plan/codex-context-engine-harness.md +624 -0
- package/docs/plan/ui-channels.md +284 -0
- package/docs/platforms/android.md +285 -0
- package/docs/platforms/digitalocean.md +12 -0
- package/docs/platforms/index.md +60 -0
- package/docs/platforms/ios.md +283 -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 +92 -0
- package/docs/platforms/mac/permissions.md +53 -0
- package/docs/platforms/mac/remote.md +123 -0
- package/docs/platforms/mac/signing.md +52 -0
- package/docs/platforms/mac/skills.md +43 -0
- package/docs/platforms/mac/voice-overlay.md +66 -0
- package/docs/platforms/mac/voicewake.md +73 -0
- package/docs/platforms/mac/webchat.md +54 -0
- package/docs/platforms/mac/xpc.md +66 -0
- package/docs/platforms/macos.md +226 -0
- package/docs/platforms/oracle.md +12 -0
- package/docs/platforms/raspberry-pi.md +13 -0
- package/docs/platforms/windows.md +286 -0
- package/docs/plugins/adding-capabilities.md +133 -0
- package/docs/plugins/admin-http-rpc.md +216 -0
- package/docs/plugins/agent-tools.md +13 -0
- package/docs/plugins/architecture-internals.md +1195 -0
- package/docs/plugins/architecture.md +481 -0
- package/docs/plugins/building-extensions.md +13 -0
- package/docs/plugins/building-plugins.md +330 -0
- package/docs/plugins/bundles.md +310 -0
- package/docs/plugins/cli-backend-plugins.md +310 -0
- package/docs/plugins/codex-computer-use.md +293 -0
- package/docs/plugins/codex-harness-reference.md +409 -0
- package/docs/plugins/codex-harness-runtime.md +247 -0
- package/docs/plugins/codex-harness.md +746 -0
- package/docs/plugins/codex-native-plugins.md +276 -0
- package/docs/plugins/community.md +77 -0
- package/docs/plugins/compatibility.md +164 -0
- package/docs/plugins/dependency-resolution.md +143 -0
- package/docs/plugins/google-meet.md +1737 -0
- package/docs/plugins/hooks.md +459 -0
- package/docs/plugins/install-overrides.md +80 -0
- package/docs/plugins/manage-plugins.md +210 -0
- package/docs/plugins/manifest.md +1359 -0
- package/docs/plugins/memory-lancedb.md +385 -0
- package/docs/plugins/memory-wiki.md +529 -0
- package/docs/plugins/message-presentation.md +473 -0
- package/docs/plugins/oc-path.md +166 -0
- package/docs/plugins/plugin-inventory.md +182 -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 +19 -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.md +23 -0
- package/docs/plugins/reference/comfy.md +23 -0
- package/docs/plugins/reference/copilot-proxy.md +19 -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.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/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/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 +19 -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/nvidia.md +23 -0
- package/docs/plugins/reference/oc-path.md +23 -0
- package/docs/plugins/reference/ollama.md +23 -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/policy.md +23 -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 +23 -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/skill-workshop.md +23 -0
- package/docs/plugins/reference/slack.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/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 +138 -0
- package/docs/plugins/sdk-agent-harness.md +339 -0
- package/docs/plugins/sdk-channel-ingress.md +137 -0
- package/docs/plugins/sdk-channel-message.md +458 -0
- package/docs/plugins/sdk-channel-plugins.md +762 -0
- package/docs/plugins/sdk-channel-turn.md +580 -0
- package/docs/plugins/sdk-entrypoints.md +333 -0
- package/docs/plugins/sdk-migration.md +949 -0
- package/docs/plugins/sdk-overview.md +501 -0
- package/docs/plugins/sdk-provider-plugins.md +807 -0
- package/docs/plugins/sdk-runtime.md +676 -0
- package/docs/plugins/sdk-setup.md +550 -0
- package/docs/plugins/sdk-subpaths.md +396 -0
- package/docs/plugins/sdk-testing.md +401 -0
- package/docs/plugins/skill-workshop.md +713 -0
- package/docs/plugins/tool-plugins.md +411 -0
- package/docs/plugins/voice-call.md +943 -0
- package/docs/plugins/webhooks.md +192 -0
- package/docs/plugins/zalouser.md +86 -0
- package/docs/prose.md +137 -0
- package/docs/providers/alibaba.md +158 -0
- package/docs/providers/anthropic.md +344 -0
- package/docs/providers/arcee.md +144 -0
- package/docs/providers/azure-speech.md +119 -0
- package/docs/providers/bedrock-mantle.md +211 -0
- package/docs/providers/bedrock.md +414 -0
- package/docs/providers/cerebras.md +130 -0
- package/docs/providers/chutes.md +153 -0
- package/docs/providers/claude-max-api-proxy.md +188 -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 +87 -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 +204 -0
- package/docs/providers/fireworks.md +144 -0
- package/docs/providers/github-copilot.md +225 -0
- package/docs/providers/glm.md +137 -0
- package/docs/providers/google.md +472 -0
- package/docs/providers/gradium.md +123 -0
- package/docs/providers/groq.md +180 -0
- package/docs/providers/huggingface.md +235 -0
- package/docs/providers/index.md +102 -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 +505 -0
- package/docs/providers/mistral.md +235 -0
- package/docs/providers/models.md +65 -0
- package/docs/providers/moonshot.md +413 -0
- package/docs/providers/nvidia.md +140 -0
- package/docs/providers/ollama.md +1180 -0
- package/docs/providers/openai.md +1057 -0
- package/docs/providers/opencode-go.md +123 -0
- package/docs/providers/opencode.md +149 -0
- package/docs/providers/openrouter.md +349 -0
- package/docs/providers/perplexity-provider.md +123 -0
- package/docs/providers/qianfan.md +132 -0
- package/docs/providers/qwen.md +332 -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 +141 -0
- package/docs/providers/venice.md +315 -0
- package/docs/providers/vercel-ai-gateway.md +128 -0
- package/docs/providers/vllm.md +383 -0
- package/docs/providers/volcengine.md +199 -0
- package/docs/providers/vydra.md +180 -0
- package/docs/providers/xai.md +560 -0
- package/docs/providers/xiaomi.md +188 -0
- package/docs/providers/zai.md +203 -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/ingress-core.md +341 -0
- package/docs/reference/AGENTS.default.md +129 -0
- package/docs/reference/RELEASING.md +767 -0
- package/docs/reference/api-usage-costs.md +202 -0
- package/docs/reference/application-modernization-plan.md +208 -0
- package/docs/reference/code-mode.md +757 -0
- package/docs/reference/credits.md +33 -0
- package/docs/reference/device-models.md +50 -0
- package/docs/reference/full-release-validation.md +202 -0
- package/docs/reference/memory-config.md +630 -0
- package/docs/reference/openclaw-sdk-api-design.md +390 -0
- package/docs/reference/prompt-caching.md +358 -0
- package/docs/reference/rich-output-protocol.md +79 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secretref-credential-surface.md +159 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +663 -0
- package/docs/reference/session-management-compaction.md +461 -0
- package/docs/reference/templates/AGENTS.dev.md +89 -0
- package/docs/reference/templates/AGENTS.md +225 -0
- package/docs/reference/templates/BOOT.md +16 -0
- package/docs/reference/templates/BOOTSTRAP.md +66 -0
- package/docs/reference/templates/HEARTBEAT.md +16 -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 +239 -0
- package/docs/reference/token-use.md +233 -0
- package/docs/reference/transcript-hygiene.md +214 -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/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 +95 -0
- package/docs/start/openclaw.md +244 -0
- package/docs/start/quickstart.md +25 -0
- package/docs/start/setup.md +178 -0
- package/docs/start/showcase.md +383 -0
- package/docs/start/wizard-cli-automation.md +232 -0
- package/docs/start/wizard-cli-reference.md +331 -0
- package/docs/start/wizard.md +141 -0
- package/docs/style.css +184 -0
- package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +316 -0
- package/docs/tools/acp-agents-setup.md +352 -0
- package/docs/tools/acp-agents.md +847 -0
- package/docs/tools/agent-send.md +112 -0
- package/docs/tools/apply-patch.md +64 -0
- package/docs/tools/brave-search.md +139 -0
- package/docs/tools/browser-control.md +391 -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 +769 -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 +120 -0
- package/docs/tools/diffs.md +506 -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 +360 -0
- package/docs/tools/exec-approvals.md +474 -0
- package/docs/tools/exec.md +282 -0
- package/docs/tools/firecrawl.md +155 -0
- package/docs/tools/gemini-search.md +114 -0
- package/docs/tools/grok-search.md +113 -0
- package/docs/tools/image-generation.md +433 -0
- package/docs/tools/index.md +178 -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 +157 -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 +371 -0
- package/docs/tools/ollama-search.md +153 -0
- package/docs/tools/pdf.md +195 -0
- package/docs/tools/perplexity-search.md +220 -0
- package/docs/tools/plugin.md +327 -0
- package/docs/tools/reactions.md +100 -0
- package/docs/tools/searxng-search.md +141 -0
- package/docs/tools/skills-config.md +195 -0
- package/docs/tools/skills.md +535 -0
- package/docs/tools/slash-commands.md +488 -0
- package/docs/tools/steer.md +84 -0
- package/docs/tools/subagents.md +650 -0
- package/docs/tools/tavily.md +162 -0
- package/docs/tools/thinking.md +140 -0
- package/docs/tools/tokenjuice.md +81 -0
- package/docs/tools/tool-search.md +269 -0
- package/docs/tools/trajectory.md +229 -0
- package/docs/tools/tts.md +1004 -0
- package/docs/tools/video-generation.md +552 -0
- package/docs/tools/web-fetch.md +195 -0
- package/docs/tools/web.md +459 -0
- package/docs/tts.md +11 -0
- package/docs/vps.md +139 -0
- package/docs/web/control-ui.md +503 -0
- package/docs/web/dashboard.md +107 -0
- package/docs/web/index.md +133 -0
- package/docs/web/tui.md +246 -0
- package/docs/web/webchat.md +99 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/nodmix.mjs +487 -0
- package/package.json +1852 -0
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.36.1.patch +41 -0
- package/pnpm-workspace.yaml +63 -0
- package/scripts/crabbox-wrapper.mjs +353 -0
- package/scripts/lib/official-external-channel-catalog.json +559 -0
- package/scripts/lib/official-external-plugin-catalog.json +192 -0
- package/scripts/lib/official-external-provider-catalog.json +117 -0
- package/scripts/lib/package-dist-imports.mjs +171 -0
- package/scripts/npm-runner.mjs +91 -0
- package/scripts/postinstall-bundled-plugins.mjs +978 -0
- package/scripts/preinstall-package-manager-warning.mjs +64 -0
- package/scripts/windows-cmd-helpers.mjs +20 -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 +149 -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 +69 -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 +142 -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 +190 -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 +139 -0
- package/skills/skill-creator/scripts/quick_validate.py +169 -0
- package/skills/skill-creator/scripts/test_package_skill.py +161 -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 +64 -0
- package/skills/xurl/SKILL.md +120 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: canvas
|
|
3
|
+
description: "Present HTML on connected Nodmix node canvases, navigate/eval/snapshot, and debug canvas host URLs."
|
|
4
|
+
metadata: { "nodmix": { "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: `$NODMIX_CONFIG_PATH` or `~/.nodmix/nodmix.json`.
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"plugins": {
|
|
28
|
+
"entries": {
|
|
29
|
+
"canvas": {
|
|
30
|
+
"config": {
|
|
31
|
+
"host": {
|
|
32
|
+
"enabled": true,
|
|
33
|
+
"root": "~/.nodmix/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: `/__nodmix__/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>/__nodmix__/canvas/index.html
|
|
64
|
+
http://<gateway-host>:<gateway.port>/__nodmix__/canvas/games/snake.html
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Path mapping:
|
|
68
|
+
|
|
69
|
+
- `/__nodmix__/canvas/index.html` -> `<canvas host root>/index.html`
|
|
70
|
+
- `/__nodmix__/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
|
+
"nodmix":
|
|
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 Nodmix 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,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: coding-agent
|
|
3
|
+
description: "Delegate coding work to Codex, Claude Code, OpenCode, or Pi as background workers; not simple edits or read-only code lookup."
|
|
4
|
+
metadata:
|
|
5
|
+
{
|
|
6
|
+
"nodmix":
|
|
7
|
+
{
|
|
8
|
+
"emoji": "🧩",
|
|
9
|
+
"requires":
|
|
10
|
+
{
|
|
11
|
+
"anyBins": ["claude", "codex", "opencode", "pi"],
|
|
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 `~/.nodmix`, `$NODMIX_STATE_DIR`, or active Nodmix state dirs.
|
|
38
|
+
|
|
39
|
+
## Hard rules
|
|
40
|
+
|
|
41
|
+
- Always launch with `background:true`.
|
|
42
|
+
- Codex, Pi, 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 `nodmix 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/nodmix`; 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
|
+
nodmix 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 nodmix 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 nodmix-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
|
+
Pi:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
bash pty:true background:true workdir:/path/repo command:"pi -p \"$(cat \"$PROMPT\")\""
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Long issue-to-PR work
|
|
112
|
+
|
|
113
|
+
1. Create/reuse a GitHub issue as durable spec.
|
|
114
|
+
2. Include issue URL, repo, base branch, expected PR, proof, and notification route.
|
|
115
|
+
3. Tell worker to branch, implement, test, run review until no accepted actionable findings, open PR.
|
|
116
|
+
4. Return issue URL and `sessionId` immediately.
|
|
117
|
+
5. Monitor with `process`; cancel through Task Registry if mirrored there.
|
|
118
|
+
|
|
119
|
+
## Scratch Codex
|
|
120
|
+
|
|
121
|
+
Codex needs a trusted git repo:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
SCRATCH=$(mktemp -d)
|
|
125
|
+
git -C "$SCRATCH" init
|
|
126
|
+
PROMPT=$(mktemp -t nodmix-worker-prompt.XXXXXX)
|
|
127
|
+
cat >"$PROMPT" <<'EOF'
|
|
128
|
+
Build X.
|
|
129
|
+
<notification block>
|
|
130
|
+
EOF
|
|
131
|
+
printf 'prompt file: %s\n' "$PROMPT"
|
|
132
|
+
bash pty:true background:true workdir:$SCRATCH command:"codex exec - < \"$PROMPT\""
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Process actions
|
|
136
|
+
|
|
137
|
+
- `list`: running/recent sessions.
|
|
138
|
+
- `poll`: status.
|
|
139
|
+
- `log`: output.
|
|
140
|
+
- `submit`: send input + Enter.
|
|
141
|
+
- `write`: raw stdin.
|
|
142
|
+
- `paste`: paste text.
|
|
143
|
+
- `kill`: terminate.
|
|
144
|
+
|
|
145
|
+
## Status to user
|
|
146
|
+
|
|
147
|
+
- Say what started, where, and `sessionId`.
|
|
148
|
+
- Update only on milestone, worker question, error, user action needed, or finish.
|
|
149
|
+
- 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: { "nodmix": { "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": "nodmix/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
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discord
|
|
3
|
+
description: "Discord message-tool ops: send/read/edit/delete, react, poll, pin, thread, search, presence, media/components."
|
|
4
|
+
metadata: { "nodmix": { "emoji": "🎮", "requires": { "config": ["channels.discord.token"] } } }
|
|
5
|
+
allowed-tools: ["message"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Discord
|
|
9
|
+
|
|
10
|
+
Use the `message` tool with `channel: "discord"`. No separate Discord tool.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- Respect `channels.discord.actions.*` gates.
|
|
15
|
+
- Prefer explicit `guildId`, `channelId`, `messageId`, `userId`.
|
|
16
|
+
- Multi-account: pass `accountId` when needed.
|
|
17
|
+
- Send targets: `to: "channel:<id>"` or `to: "user:<id>"`.
|
|
18
|
+
- Mention users as `<@USER_ID>`.
|
|
19
|
+
- Avoid Markdown tables in outbound Discord messages.
|
|
20
|
+
- Prefer components v2 for rich UI; do not mix v2 `components` with legacy `embeds`.
|
|
21
|
+
|
|
22
|
+
## Common actions
|
|
23
|
+
|
|
24
|
+
Send:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{ "action": "send", "channel": "discord", "to": "channel:123", "message": "hello", "silent": true }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Send media:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"action": "send",
|
|
35
|
+
"channel": "discord",
|
|
36
|
+
"to": "channel:123",
|
|
37
|
+
"message": "see attachment",
|
|
38
|
+
"media": "file:///tmp/example.png"
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Components v2:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"action": "send",
|
|
47
|
+
"channel": "discord",
|
|
48
|
+
"to": "channel:123",
|
|
49
|
+
"message": "Status",
|
|
50
|
+
"components": "[Carbon v2 components]"
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
React:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{ "action": "react", "channel": "discord", "channelId": "123", "messageId": "456", "emoji": "👍" }
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Read:
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{ "action": "read", "channel": "discord", "to": "channel:123", "limit": 20 }
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Edit/delete:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"action": "edit",
|
|
71
|
+
"channel": "discord",
|
|
72
|
+
"channelId": "123",
|
|
73
|
+
"messageId": "456",
|
|
74
|
+
"message": "fixed typo"
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{ "action": "delete", "channel": "discord", "channelId": "123", "messageId": "456" }
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Poll:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"action": "poll",
|
|
87
|
+
"channel": "discord",
|
|
88
|
+
"to": "channel:123",
|
|
89
|
+
"pollQuestion": "Lunch?",
|
|
90
|
+
"pollOption": ["Pizza", "Sushi"],
|
|
91
|
+
"pollDurationHours": 24
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Pin:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{ "action": "pin", "channel": "discord", "channelId": "123", "messageId": "456" }
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Thread:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"action": "thread-create",
|
|
106
|
+
"channel": "discord",
|
|
107
|
+
"channelId": "123",
|
|
108
|
+
"messageId": "456",
|
|
109
|
+
"threadName": "bug triage"
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Search:
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"action": "search",
|
|
118
|
+
"channel": "discord",
|
|
119
|
+
"guildId": "999",
|
|
120
|
+
"query": "release notes",
|
|
121
|
+
"channelIds": ["123"],
|
|
122
|
+
"limit": 10
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Presence, often gated:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"action": "set-presence",
|
|
131
|
+
"channel": "discord",
|
|
132
|
+
"activityType": "playing",
|
|
133
|
+
"activityName": "Nodmix",
|
|
134
|
+
"status": "online"
|
|
135
|
+
}
|
|
136
|
+
```
|