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,424 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Symptom first troubleshooting hub for Nodmix"
|
|
3
|
+
read_when:
|
|
4
|
+
- Nodmix is not working and you need the fastest path to a fix
|
|
5
|
+
- You want a triage flow before diving into deep runbooks
|
|
6
|
+
title: "General troubleshooting"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
If you only have 2 minutes, use this page as a triage front door.
|
|
10
|
+
|
|
11
|
+
## First 60 seconds
|
|
12
|
+
|
|
13
|
+
Run this exact ladder in order:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
nodmix status
|
|
17
|
+
nodmix status --all
|
|
18
|
+
nodmix gateway probe
|
|
19
|
+
nodmix gateway status
|
|
20
|
+
nodmix doctor
|
|
21
|
+
nodmix channels status --probe
|
|
22
|
+
nodmix logs --follow
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Good output in one line:
|
|
26
|
+
|
|
27
|
+
- `nodmix status` → shows configured channels and no obvious auth errors.
|
|
28
|
+
- `nodmix status --all` → full report is present and shareable.
|
|
29
|
+
- `nodmix gateway probe` → expected gateway target is reachable (`Reachable: yes`). `Capability: ...` tells you what auth level the probe could prove, and `Read probe: limited - missing scope: operator.read` is degraded diagnostics, not a connect failure.
|
|
30
|
+
- `nodmix gateway status` → `Runtime: running`, `Connectivity probe: ok`, and a plausible `Capability: ...` line. Use `--require-rpc` if you need read-scope RPC proof too.
|
|
31
|
+
- `nodmix doctor` → no blocking config/service errors.
|
|
32
|
+
- `nodmix channels status --probe` → reachable gateway returns live per-account
|
|
33
|
+
transport state plus probe/audit results such as `works` or `audit ok`; if the
|
|
34
|
+
gateway is unreachable, the command falls back to config-only summaries.
|
|
35
|
+
- `nodmix logs --follow` → steady activity, no repeating fatal errors.
|
|
36
|
+
|
|
37
|
+
## Anthropic long context 429
|
|
38
|
+
|
|
39
|
+
If you see:
|
|
40
|
+
`HTTP 429: rate_limit_error: Extra usage is required for long context requests`,
|
|
41
|
+
go to [/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context](/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context).
|
|
42
|
+
|
|
43
|
+
## Local OpenAI-compatible backend works directly but fails in Nodmix
|
|
44
|
+
|
|
45
|
+
If your local or self-hosted `/v1` backend answers small direct
|
|
46
|
+
`/v1/chat/completions` probes but fails on `nodmix infer model run` or normal
|
|
47
|
+
agent turns:
|
|
48
|
+
|
|
49
|
+
1. If the error mentions `messages[].content` expecting a string, set
|
|
50
|
+
`models.providers.<provider>.models[].compat.requiresStringContent: true`.
|
|
51
|
+
2. If the backend still fails only on Nodmix agent turns, set
|
|
52
|
+
`models.providers.<provider>.models[].compat.supportsTools: false` and retry.
|
|
53
|
+
3. If tiny direct calls still work but larger Nodmix prompts crash the
|
|
54
|
+
backend, treat the remaining issue as an upstream model/server limitation and
|
|
55
|
+
continue in the deep runbook:
|
|
56
|
+
[/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail](/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail)
|
|
57
|
+
|
|
58
|
+
## Plugin install fails with missing nodmix extensions
|
|
59
|
+
|
|
60
|
+
If install fails with `package.json missing nodmix.extensions`, the plugin package
|
|
61
|
+
is using an old shape that Nodmix no longer accepts.
|
|
62
|
+
|
|
63
|
+
Fix in the plugin package:
|
|
64
|
+
|
|
65
|
+
1. Add `nodmix.extensions` to `package.json`.
|
|
66
|
+
2. Point entries at built runtime files (usually `./dist/index.js`).
|
|
67
|
+
3. Republish the plugin and run `nodmix plugins install <package>` again.
|
|
68
|
+
|
|
69
|
+
Example:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"name": "@nodmix/my-plugin",
|
|
74
|
+
"version": "1.2.3",
|
|
75
|
+
"nodmix": {
|
|
76
|
+
"extensions": ["./dist/index.js"]
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Reference: [Plugin architecture](/plugins/architecture)
|
|
82
|
+
|
|
83
|
+
## Plugin present but blocked by suspicious ownership
|
|
84
|
+
|
|
85
|
+
If `nodmix doctor`, setup, or startup warnings show:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
|
|
89
|
+
plugin present but blocked
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
the plugin files are owned by a different Unix user than the process loading
|
|
93
|
+
them. Do not remove the plugin config. Fix the file ownership or run Nodmix as
|
|
94
|
+
the same user that owns the state directory.
|
|
95
|
+
|
|
96
|
+
Docker installs normally run as `node` (uid `1000`). For the default Docker
|
|
97
|
+
setup, repair the host bind mounts:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
sudo chown -R 1000:1000 /path/to/nodmix-config /path/to/nodmix-workspace
|
|
101
|
+
nodmix doctor --fix
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If you intentionally run Nodmix as root, repair the managed plugin root to
|
|
105
|
+
root ownership instead:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
sudo chown -R root:root /path/to/nodmix-config/npm
|
|
109
|
+
nodmix doctor --fix
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Deeper docs:
|
|
113
|
+
|
|
114
|
+
- [Plugin path ownership](/tools/plugin#blocked-plugin-path-ownership)
|
|
115
|
+
- [Docker permissions](/install/docker#permissions-and-eacces)
|
|
116
|
+
|
|
117
|
+
## Decision tree
|
|
118
|
+
|
|
119
|
+
```mermaid
|
|
120
|
+
flowchart TD
|
|
121
|
+
A[Nodmix is not working] --> B{What breaks first}
|
|
122
|
+
B --> C[No replies]
|
|
123
|
+
B --> D[Dashboard or Control UI will not connect]
|
|
124
|
+
B --> E[Gateway will not start or service not running]
|
|
125
|
+
B --> F[Channel connects but messages do not flow]
|
|
126
|
+
B --> G[Cron or heartbeat did not fire or did not deliver]
|
|
127
|
+
B --> H[Node is paired but camera canvas screen exec fails]
|
|
128
|
+
B --> I[Browser tool fails]
|
|
129
|
+
|
|
130
|
+
C --> C1[/No replies section/]
|
|
131
|
+
D --> D1[/Control UI section/]
|
|
132
|
+
E --> E1[/Gateway section/]
|
|
133
|
+
F --> F1[/Channel flow section/]
|
|
134
|
+
G --> G1[/Automation section/]
|
|
135
|
+
H --> H1[/Node tools section/]
|
|
136
|
+
I --> I1[/Browser section/]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
<AccordionGroup>
|
|
140
|
+
<Accordion title="No replies">
|
|
141
|
+
```bash
|
|
142
|
+
nodmix status
|
|
143
|
+
nodmix gateway status
|
|
144
|
+
nodmix channels status --probe
|
|
145
|
+
nodmix pairing list --channel <channel> [--account <id>]
|
|
146
|
+
nodmix logs --follow
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Good output looks like:
|
|
150
|
+
|
|
151
|
+
- `Runtime: running`
|
|
152
|
+
- `Connectivity probe: ok`
|
|
153
|
+
- `Capability: read-only`, `write-capable`, or `admin-capable`
|
|
154
|
+
- Your channel shows transport connected and, where supported, `works` or `audit ok` in `channels status --probe`
|
|
155
|
+
- Sender appears approved (or DM policy is open/allowlist)
|
|
156
|
+
|
|
157
|
+
Common log signatures:
|
|
158
|
+
|
|
159
|
+
- `drop guild message (mention required` → mention gating blocked the message in Discord.
|
|
160
|
+
- `pairing request` → sender is unapproved and waiting for DM pairing approval.
|
|
161
|
+
- `blocked` / `allowlist` in channel logs → sender, room, or group is filtered.
|
|
162
|
+
|
|
163
|
+
Deep pages:
|
|
164
|
+
|
|
165
|
+
- [/gateway/troubleshooting#no-replies](/gateway/troubleshooting#no-replies)
|
|
166
|
+
- [/channels/troubleshooting](/channels/troubleshooting)
|
|
167
|
+
- [/channels/pairing](/channels/pairing)
|
|
168
|
+
|
|
169
|
+
</Accordion>
|
|
170
|
+
|
|
171
|
+
<Accordion title="Dashboard or Control UI will not connect">
|
|
172
|
+
```bash
|
|
173
|
+
nodmix status
|
|
174
|
+
nodmix gateway status
|
|
175
|
+
nodmix logs --follow
|
|
176
|
+
nodmix doctor
|
|
177
|
+
nodmix channels status --probe
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Good output looks like:
|
|
181
|
+
|
|
182
|
+
- `Dashboard: http://...` is shown in `nodmix gateway status`
|
|
183
|
+
- `Connectivity probe: ok`
|
|
184
|
+
- `Capability: read-only`, `write-capable`, or `admin-capable`
|
|
185
|
+
- No auth loop in logs
|
|
186
|
+
|
|
187
|
+
Common log signatures:
|
|
188
|
+
|
|
189
|
+
- `device identity required` → HTTP/non-secure context cannot complete device auth.
|
|
190
|
+
- `origin not allowed` → browser `Origin` is not allowed for the Control UI
|
|
191
|
+
gateway target.
|
|
192
|
+
- `AUTH_TOKEN_MISMATCH` with retry hints (`canRetryWithDeviceToken=true`) → one trusted device-token retry may occur automatically.
|
|
193
|
+
- That cached-token retry reuses the cached scope set stored with the paired
|
|
194
|
+
device token. Explicit `deviceToken` / explicit `scopes` callers keep
|
|
195
|
+
their requested scope set instead.
|
|
196
|
+
- On the async Tailscale Serve Control UI path, failed attempts for the same
|
|
197
|
+
`{scope, ip}` are serialized before the limiter records the failure, so a
|
|
198
|
+
second concurrent bad retry can already show `retry later`.
|
|
199
|
+
- `too many failed authentication attempts (retry later)` from a localhost
|
|
200
|
+
browser origin → repeated failures from that same `Origin` are temporarily
|
|
201
|
+
locked out; another localhost origin uses a separate bucket.
|
|
202
|
+
- repeated `unauthorized` after that retry → wrong token/password, auth mode mismatch, or stale paired device token.
|
|
203
|
+
- `gateway connect failed:` → UI is targeting the wrong URL/port or unreachable gateway.
|
|
204
|
+
|
|
205
|
+
Deep pages:
|
|
206
|
+
|
|
207
|
+
- [/gateway/troubleshooting#dashboard-control-ui-connectivity](/gateway/troubleshooting#dashboard-control-ui-connectivity)
|
|
208
|
+
- [/web/control-ui](/web/control-ui)
|
|
209
|
+
- [/gateway/authentication](/gateway/authentication)
|
|
210
|
+
|
|
211
|
+
</Accordion>
|
|
212
|
+
|
|
213
|
+
<Accordion title="Gateway will not start or service installed but not running">
|
|
214
|
+
```bash
|
|
215
|
+
nodmix status
|
|
216
|
+
nodmix gateway status
|
|
217
|
+
nodmix logs --follow
|
|
218
|
+
nodmix doctor
|
|
219
|
+
nodmix channels status --probe
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Good output looks like:
|
|
223
|
+
|
|
224
|
+
- `Service: ... (loaded)`
|
|
225
|
+
- `Runtime: running`
|
|
226
|
+
- `Connectivity probe: ok`
|
|
227
|
+
- `Capability: read-only`, `write-capable`, or `admin-capable`
|
|
228
|
+
|
|
229
|
+
Common log signatures:
|
|
230
|
+
|
|
231
|
+
- `Gateway start blocked: set gateway.mode=local` or `existing config is missing gateway.mode` → gateway mode is remote, or the config file is missing the local-mode stamp and should be repaired.
|
|
232
|
+
- `refusing to bind gateway ... without auth` → non-loopback bind without a valid gateway auth path (token/password, or trusted-proxy where configured).
|
|
233
|
+
- `another gateway instance is already listening` or `EADDRINUSE` → port already taken.
|
|
234
|
+
|
|
235
|
+
Deep pages:
|
|
236
|
+
|
|
237
|
+
- [/gateway/troubleshooting#gateway-service-not-running](/gateway/troubleshooting#gateway-service-not-running)
|
|
238
|
+
- [/gateway/background-process](/gateway/background-process)
|
|
239
|
+
- [/gateway/configuration](/gateway/configuration)
|
|
240
|
+
|
|
241
|
+
</Accordion>
|
|
242
|
+
|
|
243
|
+
<Accordion title="Channel connects but messages do not flow">
|
|
244
|
+
```bash
|
|
245
|
+
nodmix status
|
|
246
|
+
nodmix gateway status
|
|
247
|
+
nodmix logs --follow
|
|
248
|
+
nodmix doctor
|
|
249
|
+
nodmix channels status --probe
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Good output looks like:
|
|
253
|
+
|
|
254
|
+
- Channel transport is connected.
|
|
255
|
+
- Pairing/allowlist checks pass.
|
|
256
|
+
- Mentions are detected where required.
|
|
257
|
+
|
|
258
|
+
Common log signatures:
|
|
259
|
+
|
|
260
|
+
- `mention required` → group mention gating blocked processing.
|
|
261
|
+
- `pairing` / `pending` → DM sender is not approved yet.
|
|
262
|
+
- `not_in_channel`, `missing_scope`, `Forbidden`, `401/403` → channel permission token issue.
|
|
263
|
+
|
|
264
|
+
Deep pages:
|
|
265
|
+
|
|
266
|
+
- [/gateway/troubleshooting#channel-connected-messages-not-flowing](/gateway/troubleshooting#channel-connected-messages-not-flowing)
|
|
267
|
+
- [/channels/troubleshooting](/channels/troubleshooting)
|
|
268
|
+
|
|
269
|
+
</Accordion>
|
|
270
|
+
|
|
271
|
+
<Accordion title="Cron or heartbeat did not fire or did not deliver">
|
|
272
|
+
```bash
|
|
273
|
+
nodmix status
|
|
274
|
+
nodmix gateway status
|
|
275
|
+
nodmix cron status
|
|
276
|
+
nodmix cron list
|
|
277
|
+
nodmix cron runs --id <jobId> --limit 20
|
|
278
|
+
nodmix logs --follow
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Good output looks like:
|
|
282
|
+
|
|
283
|
+
- `cron.status` shows enabled with a next wake.
|
|
284
|
+
- `cron runs` shows recent `ok` entries.
|
|
285
|
+
- Heartbeat is enabled and not outside active hours.
|
|
286
|
+
|
|
287
|
+
Common log signatures:
|
|
288
|
+
|
|
289
|
+
- `cron: scheduler disabled; jobs will not run automatically` → cron is disabled.
|
|
290
|
+
- `heartbeat skipped` with `reason=quiet-hours` → outside configured active hours.
|
|
291
|
+
- `heartbeat skipped` with `reason=empty-heartbeat-file` → `HEARTBEAT.md` exists but only contains blank/header-only scaffolding.
|
|
292
|
+
- `heartbeat skipped` with `reason=no-tasks-due` → `HEARTBEAT.md` task mode is active but none of the task intervals are due yet.
|
|
293
|
+
- `heartbeat skipped` with `reason=alerts-disabled` → all heartbeat visibility is disabled (`showOk`, `showAlerts`, and `useIndicator` are all off).
|
|
294
|
+
- `requests-in-flight` → main lane busy; heartbeat wake was deferred.
|
|
295
|
+
- `unknown accountId` → heartbeat delivery target account does not exist.
|
|
296
|
+
|
|
297
|
+
Deep pages:
|
|
298
|
+
|
|
299
|
+
- [/gateway/troubleshooting#cron-and-heartbeat-delivery](/gateway/troubleshooting#cron-and-heartbeat-delivery)
|
|
300
|
+
- [/automation/cron-jobs#troubleshooting](/automation/cron-jobs#troubleshooting)
|
|
301
|
+
- [/gateway/heartbeat](/gateway/heartbeat)
|
|
302
|
+
|
|
303
|
+
</Accordion>
|
|
304
|
+
|
|
305
|
+
<Accordion title="Node is paired but tool fails camera canvas screen exec">
|
|
306
|
+
```bash
|
|
307
|
+
nodmix status
|
|
308
|
+
nodmix gateway status
|
|
309
|
+
nodmix nodes status
|
|
310
|
+
nodmix nodes describe --node <idOrNameOrIp>
|
|
311
|
+
nodmix logs --follow
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Good output looks like:
|
|
315
|
+
|
|
316
|
+
- Node is listed as connected and paired for role `node`.
|
|
317
|
+
- Capability exists for the command you are invoking.
|
|
318
|
+
- Permission state is granted for the tool.
|
|
319
|
+
|
|
320
|
+
Common log signatures:
|
|
321
|
+
|
|
322
|
+
- `NODE_BACKGROUND_UNAVAILABLE` → bring node app to foreground.
|
|
323
|
+
- `*_PERMISSION_REQUIRED` → OS permission was denied/missing.
|
|
324
|
+
- `SYSTEM_RUN_DENIED: approval required` → exec approval is pending.
|
|
325
|
+
- `SYSTEM_RUN_DENIED: allowlist miss` → command not on exec allowlist.
|
|
326
|
+
|
|
327
|
+
Deep pages:
|
|
328
|
+
|
|
329
|
+
- [/gateway/troubleshooting#node-paired-tool-fails](/gateway/troubleshooting#node-paired-tool-fails)
|
|
330
|
+
- [/nodes/troubleshooting](/nodes/troubleshooting)
|
|
331
|
+
- [/tools/exec-approvals](/tools/exec-approvals)
|
|
332
|
+
|
|
333
|
+
</Accordion>
|
|
334
|
+
|
|
335
|
+
<Accordion title="Exec suddenly asks for approval">
|
|
336
|
+
```bash
|
|
337
|
+
nodmix config get tools.exec.host
|
|
338
|
+
nodmix config get tools.exec.security
|
|
339
|
+
nodmix config get tools.exec.ask
|
|
340
|
+
nodmix gateway restart
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
What changed:
|
|
344
|
+
|
|
345
|
+
- If `tools.exec.host` is unset, the default is `auto`.
|
|
346
|
+
- `host=auto` resolves to `sandbox` when a sandbox runtime is active, `gateway` otherwise.
|
|
347
|
+
- `host=auto` is routing only; the no-prompt "YOLO" behavior comes from `security=full` plus `ask=off` on gateway/node.
|
|
348
|
+
- On `gateway` and `node`, unset `tools.exec.security` defaults to `full`.
|
|
349
|
+
- Unset `tools.exec.ask` defaults to `off`.
|
|
350
|
+
- Result: if you are seeing approvals, some host-local or per-session policy tightened exec away from the current defaults.
|
|
351
|
+
|
|
352
|
+
Restore current default no-approval behavior:
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
nodmix config set tools.exec.host gateway
|
|
356
|
+
nodmix config set tools.exec.security full
|
|
357
|
+
nodmix config set tools.exec.ask off
|
|
358
|
+
nodmix gateway restart
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
Safer alternatives:
|
|
362
|
+
|
|
363
|
+
- Set only `tools.exec.host=gateway` if you just want stable host routing.
|
|
364
|
+
- Use `security=allowlist` with `ask=on-miss` if you want host exec but still want review on allowlist misses.
|
|
365
|
+
- Enable sandbox mode if you want `host=auto` to resolve back to `sandbox`.
|
|
366
|
+
|
|
367
|
+
Common log signatures:
|
|
368
|
+
|
|
369
|
+
- `Approval required.` → command is waiting on `/approve ...`.
|
|
370
|
+
- `SYSTEM_RUN_DENIED: approval required` → node-host exec approval is pending.
|
|
371
|
+
- `exec host=sandbox requires a sandbox runtime for this session` → implicit/explicit sandbox selection but sandbox mode is off.
|
|
372
|
+
|
|
373
|
+
Deep pages:
|
|
374
|
+
|
|
375
|
+
- [/tools/exec](/tools/exec)
|
|
376
|
+
- [/tools/exec-approvals](/tools/exec-approvals)
|
|
377
|
+
- [/gateway/security#what-the-audit-checks-high-level](/gateway/security#what-the-audit-checks-high-level)
|
|
378
|
+
|
|
379
|
+
</Accordion>
|
|
380
|
+
|
|
381
|
+
<Accordion title="Browser tool fails">
|
|
382
|
+
```bash
|
|
383
|
+
nodmix status
|
|
384
|
+
nodmix gateway status
|
|
385
|
+
nodmix browser status
|
|
386
|
+
nodmix logs --follow
|
|
387
|
+
nodmix doctor
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Good output looks like:
|
|
391
|
+
|
|
392
|
+
- Browser status shows `running: true` and a chosen browser/profile.
|
|
393
|
+
- `nodmix` starts, or `user` can see local Chrome tabs.
|
|
394
|
+
|
|
395
|
+
Common log signatures:
|
|
396
|
+
|
|
397
|
+
- `unknown command "browser"` or `unknown command 'browser'` → `plugins.allow` is set and does not include `browser`.
|
|
398
|
+
- `Failed to start Chrome CDP on port` → local browser launch failed.
|
|
399
|
+
- `browser.executablePath not found` → configured binary path is wrong.
|
|
400
|
+
- `browser.cdpUrl must be http(s) or ws(s)` → the configured CDP URL uses an unsupported scheme.
|
|
401
|
+
- `browser.cdpUrl has invalid port` → the configured CDP URL has a bad or out-of-range port.
|
|
402
|
+
- `No Chrome tabs found for profile="user"` → the Chrome MCP attach profile has no open local Chrome tabs.
|
|
403
|
+
- `Remote CDP for profile "<name>" is not reachable` → the configured remote CDP endpoint is not reachable from this host.
|
|
404
|
+
- `Browser attachOnly is enabled ... not reachable` or `Browser attachOnly is enabled and CDP websocket ... is not reachable` → attach-only profile has no live CDP target.
|
|
405
|
+
- stale viewport / dark-mode / locale / offline overrides on attach-only or remote CDP profiles → run `nodmix browser stop --browser-profile <name>` to close the active control session and release emulation state without restarting the gateway.
|
|
406
|
+
|
|
407
|
+
Deep pages:
|
|
408
|
+
|
|
409
|
+
- [/gateway/troubleshooting#browser-tool-fails](/gateway/troubleshooting#browser-tool-fails)
|
|
410
|
+
- [/tools/browser#missing-browser-command-or-tool](/tools/browser#missing-browser-command-or-tool)
|
|
411
|
+
- [/tools/browser-linux-troubleshooting](/tools/browser-linux-troubleshooting)
|
|
412
|
+
- [/tools/browser-wsl2-windows-remote-cdp-troubleshooting](/tools/browser-wsl2-windows-remote-cdp-troubleshooting)
|
|
413
|
+
|
|
414
|
+
</Accordion>
|
|
415
|
+
|
|
416
|
+
</AccordionGroup>
|
|
417
|
+
|
|
418
|
+
## Related
|
|
419
|
+
|
|
420
|
+
- [FAQ](/help/faq) — frequently asked questions
|
|
421
|
+
- [Gateway Troubleshooting](/gateway/troubleshooting) — gateway-specific issues
|
|
422
|
+
- [Doctor](/gateway/doctor) — automated health checks and repairs
|
|
423
|
+
- [Channel Troubleshooting](/channels/troubleshooting) — channel connectivity issues
|
|
424
|
+
- [Automation Troubleshooting](/automation/cron-jobs#troubleshooting) — cron and heartbeat issues
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="960" height="260" viewBox="0 0 960 260" role="img" aria-label="Group message flow">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.box { fill: #f6f5f3; stroke: #2b2b2b; stroke-width: 2; }
|
|
5
|
+
.drop { fill: #fff1f1; stroke: #a33; stroke-width: 2; }
|
|
6
|
+
.note { fill: #fffaf0; stroke: #9a7b00; stroke-width: 2; }
|
|
7
|
+
.text { font: 14px "SF Pro Text", -apple-system, Helvetica, Arial, sans-serif; fill: #1a1a1a; }
|
|
8
|
+
.label { font: 12px "SF Pro Text", -apple-system, Helvetica, Arial, sans-serif; fill: #333; }
|
|
9
|
+
.arrow { stroke: #2b2b2b; stroke-width: 2; fill: none; marker-end: url(#arrow); }
|
|
10
|
+
</style>
|
|
11
|
+
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto">
|
|
12
|
+
<path d="M0,0 L8,3 L0,6 Z" fill="#2b2b2b" />
|
|
13
|
+
</marker>
|
|
14
|
+
</defs>
|
|
15
|
+
|
|
16
|
+
<rect class="box" x="20" y="40" width="140" height="60" rx="8" />
|
|
17
|
+
<text class="text" x="90" y="75" text-anchor="middle">Group message</text>
|
|
18
|
+
|
|
19
|
+
<rect class="box" x="200" y="40" width="160" height="60" rx="8" />
|
|
20
|
+
<text class="text" x="280" y="68" text-anchor="middle">Group policy</text>
|
|
21
|
+
<text class="label" x="280" y="86" text-anchor="middle">open / disabled / allowlist</text>
|
|
22
|
+
|
|
23
|
+
<rect class="box" x="400" y="40" width="150" height="60" rx="8" />
|
|
24
|
+
<text class="text" x="475" y="75" text-anchor="middle">Allowlist</text>
|
|
25
|
+
|
|
26
|
+
<rect class="box" x="580" y="40" width="170" height="60" rx="8" />
|
|
27
|
+
<text class="text" x="665" y="68" text-anchor="middle">Mention gating</text>
|
|
28
|
+
<text class="label" x="665" y="86" text-anchor="middle">requireMention</text>
|
|
29
|
+
|
|
30
|
+
<rect class="box" x="780" y="40" width="140" height="60" rx="8" />
|
|
31
|
+
<text class="text" x="850" y="75" text-anchor="middle">Reply</text>
|
|
32
|
+
|
|
33
|
+
<line class="arrow" x1="160" y1="70" x2="200" y2="70" />
|
|
34
|
+
<line class="arrow" x1="360" y1="70" x2="400" y2="70" />
|
|
35
|
+
<line class="arrow" x1="550" y1="70" x2="580" y2="70" />
|
|
36
|
+
<line class="arrow" x1="750" y1="70" x2="780" y2="70" />
|
|
37
|
+
|
|
38
|
+
<rect class="drop" x="220" y="150" width="120" height="50" rx="8" />
|
|
39
|
+
<text class="text" x="280" y="180" text-anchor="middle">Drop</text>
|
|
40
|
+
<line class="arrow" x1="280" y1="100" x2="280" y2="150" />
|
|
41
|
+
<text class="label" x="250" y="130" text-anchor="end">disabled</text>
|
|
42
|
+
|
|
43
|
+
<rect class="drop" x="410" y="150" width="120" height="50" rx="8" />
|
|
44
|
+
<text class="text" x="470" y="180" text-anchor="middle">Drop</text>
|
|
45
|
+
<line class="arrow" x1="475" y1="100" x2="470" y2="150" />
|
|
46
|
+
<text class="label" x="445" y="130" text-anchor="end">not allowed</text>
|
|
47
|
+
|
|
48
|
+
<rect class="note" x="600" y="150" width="200" height="50" rx="8" />
|
|
49
|
+
<text class="text" x="700" y="175" text-anchor="middle">Store for context</text>
|
|
50
|
+
<text class="label" x="700" y="192" text-anchor="middle">(no mention)</text>
|
|
51
|
+
<line class="arrow" x1="665" y1="100" x2="700" y2="150" />
|
|
52
|
+
</svg>
|
|
Binary file
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Nodmix is a multi-channel gateway for AI agents that runs on any OS."
|
|
3
|
+
read_when:
|
|
4
|
+
- Introducing Nodmix to newcomers
|
|
5
|
+
title: "Nodmix"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Nodmix 🦞
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
<img
|
|
12
|
+
src="/assets/nodmix-logo-text-dark.png"
|
|
13
|
+
alt="Nodmix"
|
|
14
|
+
width="500"
|
|
15
|
+
class="dark:hidden"
|
|
16
|
+
/>
|
|
17
|
+
<img
|
|
18
|
+
src="/assets/nodmix-logo-text.png"
|
|
19
|
+
alt="Nodmix"
|
|
20
|
+
width="500"
|
|
21
|
+
class="hidden dark:block"
|
|
22
|
+
/>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
> _"EXFOLIATE! EXFOLIATE!"_ — A space lobster, probably
|
|
26
|
+
|
|
27
|
+
<p align="center">
|
|
28
|
+
<strong>Any OS gateway for AI agents across Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more.</strong><br />
|
|
29
|
+
Send a message, get an agent response from your pocket. Run one Gateway across built-in channels, bundled channel plugins, WebChat, and mobile nodes.
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<Columns>
|
|
33
|
+
<Card title="Get Started" href="/start/getting-started" icon="rocket">
|
|
34
|
+
Install Nodmix and bring up the Gateway in minutes.
|
|
35
|
+
</Card>
|
|
36
|
+
<Card title="Run Onboarding" href="/start/wizard" icon="sparkles">
|
|
37
|
+
Guided setup with `nodmix onboard` and pairing flows.
|
|
38
|
+
</Card>
|
|
39
|
+
<Card title="Open the Control UI" href="/web/control-ui" icon="layout-dashboard">
|
|
40
|
+
Launch the browser dashboard for chat, config, and sessions.
|
|
41
|
+
</Card>
|
|
42
|
+
</Columns>
|
|
43
|
+
|
|
44
|
+
## What is Nodmix?
|
|
45
|
+
|
|
46
|
+
Nodmix is a **self-hosted gateway** that connects your favorite chat apps and channel surfaces — built-in channels plus bundled or external channel plugins such as Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more — to AI coding agents like Pi. You run a single Gateway process on your own machine (or a server), and it becomes the bridge between your messaging apps and an always-available AI assistant.
|
|
47
|
+
|
|
48
|
+
**Who is it for?** Developers and power users who want a personal AI assistant they can message from anywhere — without giving up control of their data or relying on a hosted service.
|
|
49
|
+
|
|
50
|
+
**What makes it different?**
|
|
51
|
+
|
|
52
|
+
- **Self-hosted**: runs on your hardware, your rules
|
|
53
|
+
- **Multi-channel**: one Gateway serves built-in channels plus bundled or external channel plugins simultaneously
|
|
54
|
+
- **Agent-native**: built for coding agents with tool use, sessions, memory, and multi-agent routing
|
|
55
|
+
- **Open source**: MIT licensed, community-driven
|
|
56
|
+
|
|
57
|
+
**What do you need?** Node 24 (recommended), or Node 22 LTS (`22.19+`) for compatibility, an API key from your chosen provider, and 5 minutes. For best quality and security, use the strongest latest-generation model available.
|
|
58
|
+
|
|
59
|
+
## How it works
|
|
60
|
+
|
|
61
|
+
```mermaid
|
|
62
|
+
flowchart LR
|
|
63
|
+
A["Chat apps + plugins"] --> B["Gateway"]
|
|
64
|
+
B --> C["Pi agent"]
|
|
65
|
+
B --> D["CLI"]
|
|
66
|
+
B --> E["Web Control UI"]
|
|
67
|
+
B --> F["macOS app"]
|
|
68
|
+
B --> G["iOS and Android nodes"]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The Gateway is the single source of truth for sessions, routing, and channel connections.
|
|
72
|
+
|
|
73
|
+
## Key capabilities
|
|
74
|
+
|
|
75
|
+
<Columns>
|
|
76
|
+
<Card title="Multi-channel gateway" icon="network" href="/channels">
|
|
77
|
+
Discord, iMessage, Signal, Slack, Telegram, WhatsApp, WebChat, and more with a single Gateway process.
|
|
78
|
+
</Card>
|
|
79
|
+
<Card title="Plugin channels" icon="plug" href="/tools/plugin">
|
|
80
|
+
Bundled plugins add Matrix, Nostr, Twitch, Zalo, and more in normal current releases.
|
|
81
|
+
</Card>
|
|
82
|
+
<Card title="Multi-agent routing" icon="route" href="/concepts/multi-agent">
|
|
83
|
+
Isolated sessions per agent, workspace, or sender.
|
|
84
|
+
</Card>
|
|
85
|
+
<Card title="Media support" icon="image" href="/nodes/images">
|
|
86
|
+
Send and receive images, audio, and documents.
|
|
87
|
+
</Card>
|
|
88
|
+
<Card title="Web Control UI" icon="monitor" href="/web/control-ui">
|
|
89
|
+
Browser dashboard for chat, config, sessions, and nodes.
|
|
90
|
+
</Card>
|
|
91
|
+
<Card title="Mobile nodes" icon="smartphone" href="/nodes">
|
|
92
|
+
Pair iOS and Android nodes for Canvas, camera, and voice-enabled workflows.
|
|
93
|
+
</Card>
|
|
94
|
+
</Columns>
|
|
95
|
+
|
|
96
|
+
## Quick start
|
|
97
|
+
|
|
98
|
+
<Steps>
|
|
99
|
+
<Step title="Install Nodmix">
|
|
100
|
+
```bash
|
|
101
|
+
npm install -g nodmix@latest
|
|
102
|
+
```
|
|
103
|
+
</Step>
|
|
104
|
+
<Step title="Onboard and install the service">
|
|
105
|
+
```bash
|
|
106
|
+
nodmix onboard --install-daemon
|
|
107
|
+
```
|
|
108
|
+
</Step>
|
|
109
|
+
<Step title="Chat">
|
|
110
|
+
Open the Control UI in your browser and send a message:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
nodmix dashboard
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Or connect a channel ([Telegram](/channels/telegram) is fastest) and chat from your phone.
|
|
117
|
+
|
|
118
|
+
</Step>
|
|
119
|
+
</Steps>
|
|
120
|
+
|
|
121
|
+
Need the full install and dev setup? See [Getting Started](/start/getting-started).
|
|
122
|
+
|
|
123
|
+
## Dashboard
|
|
124
|
+
|
|
125
|
+
Open the browser Control UI after the Gateway starts.
|
|
126
|
+
|
|
127
|
+
- Local default: [http://127.0.0.1:18789/](http://127.0.0.1:18789/)
|
|
128
|
+
- Remote access: [Web surfaces](/web) and [Tailscale](/gateway/tailscale)
|
|
129
|
+
|
|
130
|
+
<p align="center">
|
|
131
|
+
<img src="/whatsapp-nodmix.jpg" alt="Nodmix" width="420" />
|
|
132
|
+
</p>
|
|
133
|
+
|
|
134
|
+
## Configuration (optional)
|
|
135
|
+
|
|
136
|
+
Config lives at `~/.nodmix/nodmix.json`.
|
|
137
|
+
|
|
138
|
+
- If you **do nothing**, Nodmix uses the bundled Pi binary in RPC mode with per-sender sessions.
|
|
139
|
+
- If you want to lock it down, start with `channels.whatsapp.allowFrom` and (for groups) mention rules.
|
|
140
|
+
|
|
141
|
+
Example:
|
|
142
|
+
|
|
143
|
+
```json5
|
|
144
|
+
{
|
|
145
|
+
channels: {
|
|
146
|
+
whatsapp: {
|
|
147
|
+
allowFrom: ["+15555550123"],
|
|
148
|
+
groups: { "*": { requireMention: true } },
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
messages: { groupChat: { mentionPatterns: ["@nodmix"] } },
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Start here
|
|
156
|
+
|
|
157
|
+
<Columns>
|
|
158
|
+
<Card title="Docs hubs" href="/start/hubs" icon="book-open">
|
|
159
|
+
All docs and guides, organized by use case.
|
|
160
|
+
</Card>
|
|
161
|
+
<Card title="Configuration" href="/gateway/configuration" icon="settings">
|
|
162
|
+
Core Gateway settings, tokens, and provider config.
|
|
163
|
+
</Card>
|
|
164
|
+
<Card title="Remote access" href="/gateway/remote" icon="globe">
|
|
165
|
+
SSH and tailnet access patterns.
|
|
166
|
+
</Card>
|
|
167
|
+
<Card title="Channels" href="/channels/telegram" icon="message-square">
|
|
168
|
+
Channel-specific setup for Feishu, Microsoft Teams, WhatsApp, Telegram, Discord, and more.
|
|
169
|
+
</Card>
|
|
170
|
+
<Card title="Nodes" href="/nodes" icon="smartphone">
|
|
171
|
+
iOS and Android nodes with pairing, Canvas, camera, and device actions.
|
|
172
|
+
</Card>
|
|
173
|
+
<Card title="Help" href="/help" icon="life-buoy">
|
|
174
|
+
Common fixes and troubleshooting entry point.
|
|
175
|
+
</Card>
|
|
176
|
+
</Columns>
|
|
177
|
+
|
|
178
|
+
## Learn more
|
|
179
|
+
|
|
180
|
+
<Columns>
|
|
181
|
+
<Card title="Full feature list" href="/concepts/features" icon="list">
|
|
182
|
+
Complete channel, routing, and media capabilities.
|
|
183
|
+
</Card>
|
|
184
|
+
<Card title="Multi-agent routing" href="/concepts/multi-agent" icon="route">
|
|
185
|
+
Workspace isolation and per-agent sessions.
|
|
186
|
+
</Card>
|
|
187
|
+
<Card title="Security" href="/gateway/security" icon="shield">
|
|
188
|
+
Tokens, allowlists, and safety controls.
|
|
189
|
+
</Card>
|
|
190
|
+
<Card title="Troubleshooting" href="/gateway/troubleshooting" icon="wrench">
|
|
191
|
+
Gateway diagnostics and common errors.
|
|
192
|
+
</Card>
|
|
193
|
+
<Card title="About and credits" href="/reference/credits" icon="info">
|
|
194
|
+
Project origins, contributors, and license.
|
|
195
|
+
</Card>
|
|
196
|
+
</Columns>
|