vilvona 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12331 -0
- package/LICENSE +24 -0
- package/README.md +314 -0
- package/THIRD_PARTY_NOTICES.md +37 -0
- package/docs/.i18n/README.md +81 -0
- package/docs/.i18n/ar-navigation.json +18 -0
- package/docs/.i18n/de-navigation.json +18 -0
- package/docs/.i18n/es-navigation.json +18 -0
- package/docs/.i18n/fr-navigation.json +18 -0
- package/docs/.i18n/glossary.ar.json +82 -0
- package/docs/.i18n/glossary.de.json +82 -0
- package/docs/.i18n/glossary.es.json +82 -0
- package/docs/.i18n/glossary.fa.json +82 -0
- package/docs/.i18n/glossary.fr.json +82 -0
- package/docs/.i18n/glossary.id.json +82 -0
- package/docs/.i18n/glossary.it.json +82 -0
- package/docs/.i18n/glossary.ja-JP.json +102 -0
- package/docs/.i18n/glossary.ko.json +82 -0
- package/docs/.i18n/glossary.nl.json +82 -0
- package/docs/.i18n/glossary.pl.json +82 -0
- package/docs/.i18n/glossary.pt-BR.json +82 -0
- package/docs/.i18n/glossary.th.json +82 -0
- package/docs/.i18n/glossary.tr.json +82 -0
- package/docs/.i18n/glossary.uk.json +82 -0
- package/docs/.i18n/glossary.vi.json +82 -0
- package/docs/.i18n/glossary.zh-CN.json +1182 -0
- package/docs/.i18n/glossary.zh-TW.json +162 -0
- package/docs/.i18n/id-navigation.json +18 -0
- package/docs/.i18n/it-navigation.json +18 -0
- package/docs/.i18n/ja-navigation.json +18 -0
- package/docs/.i18n/ko-navigation.json +18 -0
- package/docs/.i18n/pl-navigation.json +18 -0
- package/docs/.i18n/pt-BR-navigation.json +18 -0
- package/docs/.i18n/tr-navigation.json +18 -0
- package/docs/.i18n/translation-workflow.md +111 -0
- package/docs/.i18n/zh-Hans-navigation.json +552 -0
- package/docs/AGENTS.md +36 -0
- package/docs/agent-runtime-architecture.md +48 -0
- package/docs/announcements/bluebubbles-imessage.md +79 -0
- package/docs/auth-credential-semantics.md +124 -0
- package/docs/automation/auth-monitoring.md +11 -0
- package/docs/automation/clawflow.md +12 -0
- package/docs/automation/cron-jobs.md +569 -0
- package/docs/automation/cron-vs-heartbeat.md +11 -0
- package/docs/automation/gmail-pubsub.md +11 -0
- package/docs/automation/hooks.md +387 -0
- package/docs/automation/index.md +135 -0
- package/docs/automation/poll.md +12 -0
- package/docs/automation/standing-orders.md +250 -0
- package/docs/automation/taskflow.md +155 -0
- package/docs/automation/tasks.md +374 -0
- package/docs/automation/troubleshooting.md +12 -0
- package/docs/automation/webhook.md +12 -0
- package/docs/brave-search.md +11 -0
- package/docs/channels/access-groups.md +201 -0
- package/docs/channels/ambient-room-events.md +214 -0
- package/docs/channels/bot-loop-protection.md +131 -0
- package/docs/channels/broadcast-groups.md +472 -0
- package/docs/channels/channel-routing.md +162 -0
- package/docs/channels/clickclack.md +146 -0
- package/docs/channels/discord.md +1758 -0
- package/docs/channels/feishu.md +654 -0
- package/docs/channels/googlechat.md +286 -0
- package/docs/channels/group-messages.md +95 -0
- package/docs/channels/groups.md +610 -0
- package/docs/channels/imessage-from-bluebubbles.md +259 -0
- package/docs/channels/imessage.md +864 -0
- package/docs/channels/index.md +65 -0
- package/docs/channels/irc.md +253 -0
- package/docs/channels/line.md +243 -0
- package/docs/channels/location.md +71 -0
- package/docs/channels/matrix-migration.md +375 -0
- package/docs/channels/matrix-presentation.md +77 -0
- package/docs/channels/matrix-push-rules.md +150 -0
- package/docs/channels/matrix.md +935 -0
- package/docs/channels/mattermost.md +542 -0
- package/docs/channels/msteams.md +1097 -0
- package/docs/channels/nextcloud-talk.md +176 -0
- package/docs/channels/nostr.md +253 -0
- package/docs/channels/pairing.md +214 -0
- package/docs/channels/qqbot.md +317 -0
- package/docs/channels/signal.md +417 -0
- package/docs/channels/slack.md +1623 -0
- package/docs/channels/sms.md +380 -0
- package/docs/channels/synology-chat.md +187 -0
- package/docs/channels/telegram.md +1121 -0
- package/docs/channels/tlon.md +296 -0
- package/docs/channels/troubleshooting.md +162 -0
- package/docs/channels/twitch.md +431 -0
- package/docs/channels/wechat.md +171 -0
- package/docs/channels/whatsapp.md +796 -0
- package/docs/channels/yuanbao.md +416 -0
- package/docs/channels/zalo.md +253 -0
- package/docs/channels/zalouser.md +217 -0
- package/docs/ci.md +665 -0
- package/docs/clawhub/cli.md +82 -0
- package/docs/clawhub/publishing.md +96 -0
- package/docs/cli/acp.md +370 -0
- package/docs/cli/agent.md +109 -0
- package/docs/cli/agents.md +253 -0
- package/docs/cli/approvals.md +193 -0
- package/docs/cli/backup.md +98 -0
- package/docs/cli/browser.md +322 -0
- package/docs/cli/channels.md +154 -0
- package/docs/cli/clawbot.md +25 -0
- package/docs/cli/commitments.md +90 -0
- package/docs/cli/completion.md +39 -0
- package/docs/cli/config.md +504 -0
- package/docs/cli/configure.md +77 -0
- package/docs/cli/crestodian.md +337 -0
- package/docs/cli/cron.md +344 -0
- package/docs/cli/daemon.md +67 -0
- package/docs/cli/dashboard.md +33 -0
- package/docs/cli/devices.md +240 -0
- package/docs/cli/directory.md +68 -0
- package/docs/cli/dns.md +53 -0
- package/docs/cli/docs.md +63 -0
- package/docs/cli/doctor.md +254 -0
- package/docs/cli/flows.md +52 -0
- package/docs/cli/gateway.md +572 -0
- package/docs/cli/health.md +43 -0
- package/docs/cli/hooks.md +345 -0
- package/docs/cli/index.md +406 -0
- package/docs/cli/infer.md +364 -0
- package/docs/cli/logs.md +68 -0
- package/docs/cli/mcp.md +851 -0
- package/docs/cli/memory.md +183 -0
- package/docs/cli/message.md +317 -0
- package/docs/cli/migrate.md +334 -0
- package/docs/cli/models.md +239 -0
- package/docs/cli/node.md +178 -0
- package/docs/cli/nodes.md +76 -0
- package/docs/cli/onboard.md +251 -0
- package/docs/cli/pairing.md +77 -0
- package/docs/cli/path.md +511 -0
- package/docs/cli/plugins.md +480 -0
- package/docs/cli/policy.md +929 -0
- package/docs/cli/proxy.md +89 -0
- package/docs/cli/qr.md +56 -0
- package/docs/cli/reset.md +39 -0
- package/docs/cli/sandbox.md +208 -0
- package/docs/cli/secrets.md +202 -0
- package/docs/cli/security.md +135 -0
- package/docs/cli/sessions.md +178 -0
- package/docs/cli/setup.md +60 -0
- package/docs/cli/skills.md +156 -0
- package/docs/cli/status.md +45 -0
- package/docs/cli/system.md +89 -0
- package/docs/cli/tasks.md +111 -0
- package/docs/cli/transcripts.md +151 -0
- package/docs/cli/tui.md +92 -0
- package/docs/cli/uninstall.md +45 -0
- package/docs/cli/update.md +283 -0
- package/docs/cli/voicecall.md +204 -0
- package/docs/cli/webhooks.md +117 -0
- package/docs/cli/wiki.md +256 -0
- package/docs/cli/workboard.md +228 -0
- package/docs/concepts/active-memory.md +856 -0
- package/docs/concepts/agent-loop.md +185 -0
- package/docs/concepts/agent-runtimes.md +276 -0
- package/docs/concepts/agent-workspace.md +230 -0
- package/docs/concepts/agent.md +142 -0
- package/docs/concepts/architecture.md +154 -0
- package/docs/concepts/channel-docking.md +145 -0
- package/docs/concepts/commitments.md +150 -0
- package/docs/concepts/compaction.md +203 -0
- package/docs/concepts/context-engine.md +347 -0
- package/docs/concepts/context.md +199 -0
- package/docs/concepts/delegate-architecture.md +319 -0
- package/docs/concepts/dreaming.md +279 -0
- package/docs/concepts/experimental-features.md +111 -0
- package/docs/concepts/features.md +91 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +231 -0
- package/docs/concepts/mantis.md +744 -0
- package/docs/concepts/markdown-formatting.md +139 -0
- package/docs/concepts/memory-builtin.md +151 -0
- package/docs/concepts/memory-honcho.md +144 -0
- package/docs/concepts/memory-qmd.md +277 -0
- package/docs/concepts/memory-search.md +175 -0
- package/docs/concepts/memory.md +299 -0
- package/docs/concepts/message-lifecycle-refactor.md +1126 -0
- package/docs/concepts/messages.md +216 -0
- package/docs/concepts/model-failover.md +405 -0
- package/docs/concepts/model-providers.md +719 -0
- package/docs/concepts/models.md +371 -0
- package/docs/concepts/multi-agent.md +625 -0
- package/docs/concepts/oauth.md +218 -0
- package/docs/concepts/parallel-specialist-lanes.md +127 -0
- package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
- package/docs/concepts/presence.md +117 -0
- package/docs/concepts/progress-drafts.md +406 -0
- package/docs/concepts/qa-e2e-automation.md +979 -0
- package/docs/concepts/qa-matrix.md +139 -0
- package/docs/concepts/queue-steering.md +90 -0
- package/docs/concepts/queue.md +136 -0
- package/docs/concepts/retry.md +86 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +201 -0
- package/docs/concepts/session.md +164 -0
- package/docs/concepts/soul.md +116 -0
- package/docs/concepts/streaming.md +258 -0
- package/docs/concepts/system-prompt.md +330 -0
- package/docs/concepts/timezone.md +47 -0
- package/docs/concepts/typebox.md +309 -0
- package/docs/concepts/typing-indicators.md +88 -0
- package/docs/concepts/usage-tracking.md +72 -0
- package/docs/date-time.md +126 -0
- package/docs/debug/node-issue.md +90 -0
- package/docs/diagnostics/flags.md +182 -0
- package/docs/docs.json +1885 -0
- package/docs/gateway/authentication.md +286 -0
- package/docs/gateway/background-process.md +147 -0
- package/docs/gateway/bonjour.md +303 -0
- package/docs/gateway/bridge-protocol.md +97 -0
- package/docs/gateway/cli-backends.md +463 -0
- package/docs/gateway/config-agents.md +1525 -0
- package/docs/gateway/config-channels.md +942 -0
- package/docs/gateway/config-tools.md +806 -0
- package/docs/gateway/configuration-examples.md +706 -0
- package/docs/gateway/configuration-reference.md +1449 -0
- package/docs/gateway/configuration.md +748 -0
- package/docs/gateway/diagnostics.md +213 -0
- package/docs/gateway/discovery.md +154 -0
- package/docs/gateway/doctor.md +576 -0
- package/docs/gateway/external-apps.md +86 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +73 -0
- package/docs/gateway/heartbeat.md +498 -0
- package/docs/gateway/index.md +385 -0
- package/docs/gateway/local-model-services.md +205 -0
- package/docs/gateway/local-models.md +355 -0
- package/docs/gateway/logging.md +149 -0
- package/docs/gateway/multiple-gateways.md +178 -0
- package/docs/gateway/network-model.md +15 -0
- package/docs/gateway/openai-http-api.md +379 -0
- package/docs/gateway/openresponses-http-api.md +349 -0
- package/docs/gateway/openshell.md +316 -0
- package/docs/gateway/opentelemetry.md +440 -0
- package/docs/gateway/operator-scopes.md +119 -0
- package/docs/gateway/pairing.md +207 -0
- package/docs/gateway/prometheus.md +249 -0
- package/docs/gateway/protocol.md +839 -0
- package/docs/gateway/remote-gateway-readme.md +169 -0
- package/docs/gateway/remote.md +280 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +148 -0
- package/docs/gateway/sandboxing.md +546 -0
- package/docs/gateway/secrets-plan-contract.md +159 -0
- package/docs/gateway/secrets.md +805 -0
- package/docs/gateway/security/audit-checks.md +127 -0
- package/docs/gateway/security/exposure-runbook.md +212 -0
- package/docs/gateway/security/index.md +1344 -0
- package/docs/gateway/security/secure-file-operations.md +76 -0
- package/docs/gateway/security/shrinkwrap.md +111 -0
- package/docs/gateway/tailscale.md +180 -0
- package/docs/gateway/tools-invoke-http-api.md +175 -0
- package/docs/gateway/troubleshooting.md +881 -0
- package/docs/gateway/trusted-proxy-auth.md +483 -0
- package/docs/help/debugging.md +341 -0
- package/docs/help/environment.md +240 -0
- package/docs/help/faq-first-run.md +872 -0
- package/docs/help/faq-models.md +557 -0
- package/docs/help/faq.md +2115 -0
- package/docs/help/index.md +39 -0
- package/docs/help/scripts.md +56 -0
- package/docs/help/testing-live.md +592 -0
- package/docs/help/testing-updates-plugins.md +299 -0
- package/docs/help/testing.md +977 -0
- package/docs/help/troubleshooting.md +500 -0
- package/docs/index.md +196 -0
- package/docs/install/ansible.md +233 -0
- package/docs/install/azure.md +315 -0
- package/docs/install/bun.md +59 -0
- package/docs/install/clawdock.md +112 -0
- package/docs/install/development-channels.md +148 -0
- package/docs/install/digitalocean.md +174 -0
- package/docs/install/docker-vm-runtime.md +154 -0
- package/docs/install/docker.md +564 -0
- package/docs/install/exe-dev.md +201 -0
- package/docs/install/fly.md +524 -0
- package/docs/install/gcp.md +418 -0
- package/docs/install/hetzner.md +285 -0
- package/docs/install/hostinger.md +98 -0
- package/docs/install/index.md +236 -0
- package/docs/install/installer.md +447 -0
- package/docs/install/kubernetes.md +196 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-claude.md +165 -0
- package/docs/install/migrating-hermes.md +178 -0
- package/docs/install/migrating.md +137 -0
- package/docs/install/nix.md +112 -0
- package/docs/install/node.md +142 -0
- package/docs/install/northflank.mdx +44 -0
- package/docs/install/oracle.md +218 -0
- package/docs/install/podman.md +216 -0
- package/docs/install/railway.mdx +92 -0
- package/docs/install/raspberry-pi.md +234 -0
- package/docs/install/render.mdx +167 -0
- package/docs/install/uninstall.md +140 -0
- package/docs/install/updating.md +284 -0
- package/docs/install/upstash.md +96 -0
- package/docs/logging.md +322 -0
- package/docs/maturity-scores.yaml +5361 -0
- package/docs/nav-tabs-underline.js +104 -0
- package/docs/network.md +72 -0
- package/docs/nodes/audio.md +216 -0
- package/docs/nodes/camera.md +166 -0
- package/docs/nodes/images.md +77 -0
- package/docs/nodes/index.md +444 -0
- package/docs/nodes/location-command.md +102 -0
- package/docs/nodes/media-understanding.md +495 -0
- package/docs/nodes/talk.md +160 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +93 -0
- package/docs/openclaw-agent-runtime.md +82 -0
- package/docs/perplexity.md +11 -0
- package/docs/plan/codex-context-engine-harness.md +624 -0
- package/docs/plan/ui-channels.md +284 -0
- package/docs/platforms/android.md +286 -0
- package/docs/platforms/digitalocean.md +12 -0
- package/docs/platforms/easyrunner.md +109 -0
- package/docs/platforms/index.md +65 -0
- package/docs/platforms/ios.md +287 -0
- package/docs/platforms/linux.md +141 -0
- package/docs/platforms/mac/bundled-gateway.md +79 -0
- package/docs/platforms/mac/canvas.md +128 -0
- package/docs/platforms/mac/child-process.md +72 -0
- package/docs/platforms/mac/dev-setup.md +112 -0
- package/docs/platforms/mac/health.md +39 -0
- package/docs/platforms/mac/icon.md +36 -0
- package/docs/platforms/mac/logging.md +62 -0
- package/docs/platforms/mac/menu-bar.md +93 -0
- package/docs/platforms/mac/peekaboo.md +96 -0
- package/docs/platforms/mac/permissions.md +73 -0
- package/docs/platforms/mac/remote.md +123 -0
- package/docs/platforms/mac/signing.md +52 -0
- package/docs/platforms/mac/skills.md +45 -0
- package/docs/platforms/mac/voice-overlay.md +66 -0
- package/docs/platforms/mac/voicewake.md +79 -0
- package/docs/platforms/mac/webchat.md +54 -0
- package/docs/platforms/mac/xpc.md +66 -0
- package/docs/platforms/macos.md +228 -0
- package/docs/platforms/oracle.md +12 -0
- package/docs/platforms/raspberry-pi.md +13 -0
- package/docs/platforms/windows.md +304 -0
- package/docs/plugins/adding-capabilities.md +146 -0
- package/docs/plugins/admin-http-rpc.md +216 -0
- package/docs/plugins/agent-tools.md +13 -0
- package/docs/plugins/architecture-internals.md +1203 -0
- package/docs/plugins/architecture.md +483 -0
- package/docs/plugins/building-extensions.md +13 -0
- package/docs/plugins/building-plugins.md +343 -0
- package/docs/plugins/bundles.md +310 -0
- package/docs/plugins/cli-backend-plugins.md +328 -0
- package/docs/plugins/codex-computer-use.md +297 -0
- package/docs/plugins/codex-harness-reference.md +480 -0
- package/docs/plugins/codex-harness-runtime.md +268 -0
- package/docs/plugins/codex-harness.md +800 -0
- package/docs/plugins/codex-native-plugins.md +280 -0
- package/docs/plugins/community.md +77 -0
- package/docs/plugins/compatibility.md +198 -0
- package/docs/plugins/copilot.md +355 -0
- package/docs/plugins/dependency-resolution.md +176 -0
- package/docs/plugins/google-meet.md +1737 -0
- package/docs/plugins/hooks.md +525 -0
- package/docs/plugins/install-overrides.md +80 -0
- package/docs/plugins/llama-cpp.md +58 -0
- package/docs/plugins/manage-plugins.md +214 -0
- package/docs/plugins/manifest.md +1468 -0
- package/docs/plugins/memory-lancedb.md +385 -0
- package/docs/plugins/memory-wiki.md +529 -0
- package/docs/plugins/message-presentation.md +487 -0
- package/docs/plugins/oc-path.md +166 -0
- package/docs/plugins/plugin-inventory.md +318 -0
- package/docs/plugins/plugin-permission-requests.md +193 -0
- package/docs/plugins/reference/acpx.md +23 -0
- package/docs/plugins/reference/admin-http-rpc.md +23 -0
- package/docs/plugins/reference/alibaba.md +23 -0
- package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
- package/docs/plugins/reference/amazon-bedrock.md +23 -0
- package/docs/plugins/reference/anthropic-vertex.md +29 -0
- package/docs/plugins/reference/anthropic.md +23 -0
- package/docs/plugins/reference/arcee.md +23 -0
- package/docs/plugins/reference/azure-speech.md +23 -0
- package/docs/plugins/reference/bonjour.md +19 -0
- package/docs/plugins/reference/brave.md +23 -0
- package/docs/plugins/reference/browser.md +23 -0
- package/docs/plugins/reference/byteplus.md +19 -0
- package/docs/plugins/reference/canvas.md +19 -0
- package/docs/plugins/reference/cerebras.md +23 -0
- package/docs/plugins/reference/chutes.md +23 -0
- package/docs/plugins/reference/clickclack.md +23 -0
- package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
- package/docs/plugins/reference/codex-supervisor.md +27 -0
- package/docs/plugins/reference/codex.md +23 -0
- package/docs/plugins/reference/comfy.md +23 -0
- package/docs/plugins/reference/copilot-proxy.md +19 -0
- package/docs/plugins/reference/copilot.md +23 -0
- package/docs/plugins/reference/deepgram.md +23 -0
- package/docs/plugins/reference/deepinfra.md +23 -0
- package/docs/plugins/reference/deepseek.md +23 -0
- package/docs/plugins/reference/diagnostics-otel.md +19 -0
- package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
- package/docs/plugins/reference/diffs-language-pack.md +31 -0
- package/docs/plugins/reference/diffs.md +19 -0
- package/docs/plugins/reference/discord.md +23 -0
- package/docs/plugins/reference/document-extract.md +23 -0
- package/docs/plugins/reference/duckduckgo.md +23 -0
- package/docs/plugins/reference/elevenlabs.md +23 -0
- package/docs/plugins/reference/exa.md +23 -0
- package/docs/plugins/reference/fal.md +23 -0
- package/docs/plugins/reference/feishu.md +23 -0
- package/docs/plugins/reference/file-transfer.md +19 -0
- package/docs/plugins/reference/firecrawl.md +23 -0
- package/docs/plugins/reference/fireworks.md +23 -0
- package/docs/plugins/reference/github-copilot.md +23 -0
- package/docs/plugins/reference/gmi.md +23 -0
- package/docs/plugins/reference/google-meet.md +23 -0
- package/docs/plugins/reference/google.md +23 -0
- package/docs/plugins/reference/googlechat.md +23 -0
- package/docs/plugins/reference/gradium.md +23 -0
- package/docs/plugins/reference/groq.md +23 -0
- package/docs/plugins/reference/huggingface.md +23 -0
- package/docs/plugins/reference/imessage.md +23 -0
- package/docs/plugins/reference/inworld.md +23 -0
- package/docs/plugins/reference/irc.md +23 -0
- package/docs/plugins/reference/kilocode.md +23 -0
- package/docs/plugins/reference/kimi.md +23 -0
- package/docs/plugins/reference/line.md +23 -0
- package/docs/plugins/reference/litellm.md +23 -0
- package/docs/plugins/reference/llama-cpp.md +23 -0
- package/docs/plugins/reference/llm-task.md +19 -0
- package/docs/plugins/reference/lmstudio.md +23 -0
- package/docs/plugins/reference/lobster.md +19 -0
- package/docs/plugins/reference/matrix.md +23 -0
- package/docs/plugins/reference/mattermost.md +23 -0
- package/docs/plugins/reference/memory-core.md +19 -0
- package/docs/plugins/reference/memory-lancedb.md +23 -0
- package/docs/plugins/reference/memory-wiki.md +23 -0
- package/docs/plugins/reference/microsoft-foundry.md +113 -0
- package/docs/plugins/reference/microsoft.md +19 -0
- package/docs/plugins/reference/migrate-claude.md +19 -0
- package/docs/plugins/reference/migrate-hermes.md +19 -0
- package/docs/plugins/reference/minimax.md +23 -0
- package/docs/plugins/reference/mistral.md +23 -0
- package/docs/plugins/reference/moonshot.md +23 -0
- package/docs/plugins/reference/msteams.md +23 -0
- package/docs/plugins/reference/nextcloud-talk.md +23 -0
- package/docs/plugins/reference/nostr.md +23 -0
- package/docs/plugins/reference/novita.md +23 -0
- package/docs/plugins/reference/nvidia.md +23 -0
- package/docs/plugins/reference/oc-path.md +23 -0
- package/docs/plugins/reference/ollama.md +24 -0
- package/docs/plugins/reference/open-prose.md +19 -0
- package/docs/plugins/reference/openai.md +23 -0
- package/docs/plugins/reference/opencode-go.md +23 -0
- package/docs/plugins/reference/opencode.md +23 -0
- package/docs/plugins/reference/openrouter.md +23 -0
- package/docs/plugins/reference/openshell.md +19 -0
- package/docs/plugins/reference/perplexity.md +23 -0
- package/docs/plugins/reference/pixverse.md +23 -0
- package/docs/plugins/reference/policy.md +79 -0
- package/docs/plugins/reference/qa-channel.md +23 -0
- package/docs/plugins/reference/qa-lab.md +19 -0
- package/docs/plugins/reference/qa-matrix.md +19 -0
- package/docs/plugins/reference/qianfan.md +23 -0
- package/docs/plugins/reference/qqbot.md +23 -0
- package/docs/plugins/reference/qwen.md +24 -0
- package/docs/plugins/reference/runway.md +23 -0
- package/docs/plugins/reference/searxng.md +19 -0
- package/docs/plugins/reference/senseaudio.md +23 -0
- package/docs/plugins/reference/sglang.md +23 -0
- package/docs/plugins/reference/signal.md +23 -0
- package/docs/plugins/reference/slack.md +23 -0
- package/docs/plugins/reference/sms.md +23 -0
- package/docs/plugins/reference/stepfun.md +23 -0
- package/docs/plugins/reference/synology-chat.md +23 -0
- package/docs/plugins/reference/synthetic.md +23 -0
- package/docs/plugins/reference/tavily.md +23 -0
- package/docs/plugins/reference/telegram.md +23 -0
- package/docs/plugins/reference/tencent.md +23 -0
- package/docs/plugins/reference/tlon.md +23 -0
- package/docs/plugins/reference/together.md +23 -0
- package/docs/plugins/reference/tokenjuice.md +23 -0
- package/docs/plugins/reference/tts-local-cli.md +19 -0
- package/docs/plugins/reference/twitch.md +23 -0
- package/docs/plugins/reference/venice.md +23 -0
- package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
- package/docs/plugins/reference/vllm.md +23 -0
- package/docs/plugins/reference/voice-call.md +23 -0
- package/docs/plugins/reference/volcengine.md +23 -0
- package/docs/plugins/reference/voyage.md +19 -0
- package/docs/plugins/reference/vydra.md +23 -0
- package/docs/plugins/reference/web-readability.md +19 -0
- package/docs/plugins/reference/webhooks.md +23 -0
- package/docs/plugins/reference/whatsapp.md +23 -0
- package/docs/plugins/reference/workboard.md +23 -0
- package/docs/plugins/reference/xai.md +23 -0
- package/docs/plugins/reference/xiaomi.md +23 -0
- package/docs/plugins/reference/zai.md +23 -0
- package/docs/plugins/reference/zalo.md +23 -0
- package/docs/plugins/reference/zalouser.md +24 -0
- package/docs/plugins/reference.md +19 -0
- package/docs/plugins/sdk-agent-harness.md +339 -0
- package/docs/plugins/sdk-channel-inbound.md +70 -0
- package/docs/plugins/sdk-channel-ingress.md +137 -0
- package/docs/plugins/sdk-channel-message.md +18 -0
- package/docs/plugins/sdk-channel-outbound.md +113 -0
- package/docs/plugins/sdk-channel-plugins.md +770 -0
- package/docs/plugins/sdk-channel-turn.md +9 -0
- package/docs/plugins/sdk-entrypoints.md +344 -0
- package/docs/plugins/sdk-migration.md +1011 -0
- package/docs/plugins/sdk-overview.md +525 -0
- package/docs/plugins/sdk-provider-plugins.md +1019 -0
- package/docs/plugins/sdk-runtime.md +683 -0
- package/docs/plugins/sdk-setup.md +550 -0
- package/docs/plugins/sdk-subpaths.md +401 -0
- package/docs/plugins/sdk-testing.md +403 -0
- package/docs/plugins/tool-plugins.md +411 -0
- package/docs/plugins/voice-call.md +942 -0
- package/docs/plugins/webhooks.md +192 -0
- package/docs/plugins/workboard.md +402 -0
- package/docs/plugins/zalouser.md +86 -0
- package/docs/prose.md +191 -0
- package/docs/providers/alibaba.md +158 -0
- package/docs/providers/anthropic.md +386 -0
- package/docs/providers/arcee.md +144 -0
- package/docs/providers/azure-speech.md +119 -0
- package/docs/providers/bedrock-mantle.md +224 -0
- package/docs/providers/bedrock.md +433 -0
- package/docs/providers/cerebras.md +130 -0
- package/docs/providers/chutes.md +153 -0
- package/docs/providers/claude-max-api-proxy.md +191 -0
- package/docs/providers/cloudflare-ai-gateway.md +119 -0
- package/docs/providers/comfy.md +362 -0
- package/docs/providers/deepgram.md +184 -0
- package/docs/providers/deepinfra.md +92 -0
- package/docs/providers/deepseek.md +146 -0
- package/docs/providers/ds4.md +309 -0
- package/docs/providers/elevenlabs.md +130 -0
- package/docs/providers/fal.md +240 -0
- package/docs/providers/fireworks.md +144 -0
- package/docs/providers/github-copilot.md +257 -0
- package/docs/providers/gmi.md +92 -0
- package/docs/providers/google.md +472 -0
- package/docs/providers/gradium.md +123 -0
- package/docs/providers/groq.md +171 -0
- package/docs/providers/huggingface.md +235 -0
- package/docs/providers/index.md +105 -0
- package/docs/providers/inferrs.md +272 -0
- package/docs/providers/inworld.md +120 -0
- package/docs/providers/kilocode.md +135 -0
- package/docs/providers/litellm.md +234 -0
- package/docs/providers/lmstudio.md +224 -0
- package/docs/providers/minimax.md +518 -0
- package/docs/providers/mistral.md +235 -0
- package/docs/providers/models.md +64 -0
- package/docs/providers/moonshot.md +413 -0
- package/docs/providers/novita.md +92 -0
- package/docs/providers/nvidia.md +208 -0
- package/docs/providers/ollama-cloud.md +115 -0
- package/docs/providers/ollama.md +1225 -0
- package/docs/providers/openai.md +1091 -0
- package/docs/providers/opencode-go.md +123 -0
- package/docs/providers/opencode.md +149 -0
- package/docs/providers/openrouter.md +390 -0
- package/docs/providers/perplexity-provider.md +123 -0
- package/docs/providers/pixverse.md +165 -0
- package/docs/providers/qianfan.md +132 -0
- package/docs/providers/qwen-oauth.md +115 -0
- package/docs/providers/qwen.md +364 -0
- package/docs/providers/runway.md +103 -0
- package/docs/providers/senseaudio.md +68 -0
- package/docs/providers/sglang.md +161 -0
- package/docs/providers/stepfun.md +229 -0
- package/docs/providers/synthetic.md +154 -0
- package/docs/providers/tencent.md +130 -0
- package/docs/providers/together.md +140 -0
- package/docs/providers/venice.md +312 -0
- package/docs/providers/vercel-ai-gateway.md +128 -0
- package/docs/providers/vllm.md +407 -0
- package/docs/providers/volcengine.md +199 -0
- package/docs/providers/vydra.md +180 -0
- package/docs/providers/xai.md +571 -0
- package/docs/providers/xiaomi.md +286 -0
- package/docs/providers/zai.md +224 -0
- package/docs/refactor/access.md +9 -0
- package/docs/refactor/acp.md +298 -0
- package/docs/refactor/canvas.md +131 -0
- package/docs/refactor/database-first.md +2263 -0
- package/docs/refactor/ingress-core.md +341 -0
- package/docs/reference/AGENTS.default.md +131 -0
- package/docs/reference/RELEASING.md +844 -0
- package/docs/reference/api-usage-costs.md +208 -0
- package/docs/reference/application-modernization-plan.md +208 -0
- package/docs/reference/code-mode.md +1058 -0
- package/docs/reference/credits.md +33 -0
- package/docs/reference/device-models.md +50 -0
- package/docs/reference/full-release-validation.md +206 -0
- package/docs/reference/memory-config.md +630 -0
- package/docs/reference/prompt-caching.md +358 -0
- package/docs/reference/release-performance-sweep.md +347 -0
- package/docs/reference/rich-output-protocol.md +93 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secret-placeholder-conventions.md +33 -0
- package/docs/reference/secretref-credential-surface.md +163 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +691 -0
- package/docs/reference/session-management-compaction.md +474 -0
- package/docs/reference/templates/AGENTS.dev.md +90 -0
- package/docs/reference/templates/AGENTS.md +227 -0
- package/docs/reference/templates/BOOT.md +16 -0
- package/docs/reference/templates/BOOTSTRAP.md +66 -0
- package/docs/reference/templates/HEARTBEAT.md +24 -0
- package/docs/reference/templates/IDENTITY.dev.md +52 -0
- package/docs/reference/templates/IDENTITY.md +34 -0
- package/docs/reference/templates/SOUL.dev.md +82 -0
- package/docs/reference/templates/SOUL.md +49 -0
- package/docs/reference/templates/TOOLS.dev.md +29 -0
- package/docs/reference/templates/TOOLS.md +51 -0
- package/docs/reference/templates/USER.dev.md +23 -0
- package/docs/reference/templates/USER.md +28 -0
- package/docs/reference/test.md +248 -0
- package/docs/reference/token-use.md +246 -0
- package/docs/reference/transcript-hygiene.md +226 -0
- package/docs/reference/wizard.md +252 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +170 -0
- package/docs/security/incident-response.md +59 -0
- package/docs/security/network-proxy.md +268 -0
- package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
- package/docs/snippets/plugin-publish/minimal-package.json +16 -0
- package/docs/specs/claw-supervisor.md +247 -0
- package/docs/start/bootstrapping.md +49 -0
- package/docs/start/docs-directory.md +69 -0
- package/docs/start/getting-started.md +152 -0
- package/docs/start/hubs.md +201 -0
- package/docs/start/lore.md +223 -0
- package/docs/start/onboarding-overview.md +72 -0
- package/docs/start/onboarding.md +98 -0
- package/docs/start/openclaw.md +246 -0
- package/docs/start/quickstart.md +25 -0
- package/docs/start/setup.md +178 -0
- package/docs/start/showcase.md +371 -0
- package/docs/start/wizard-cli-automation.md +232 -0
- package/docs/start/wizard-cli-reference.md +331 -0
- package/docs/start/wizard.md +142 -0
- package/docs/style.css +137 -0
- package/docs/tools/acp-agents-setup.md +356 -0
- package/docs/tools/acp-agents.md +865 -0
- package/docs/tools/agent-send.md +130 -0
- package/docs/tools/apply-patch.md +64 -0
- package/docs/tools/brave-search.md +139 -0
- package/docs/tools/browser-control.md +405 -0
- package/docs/tools/browser-linux-troubleshooting.md +173 -0
- package/docs/tools/browser-login.md +77 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
- package/docs/tools/browser.md +866 -0
- package/docs/tools/btw.md +159 -0
- package/docs/tools/capability-cookbook.md +12 -0
- package/docs/tools/clawhub.md +5 -0
- package/docs/tools/code-execution.md +173 -0
- package/docs/tools/creating-skills.md +271 -0
- package/docs/tools/diffs.md +527 -0
- package/docs/tools/duckduckgo-search.md +109 -0
- package/docs/tools/elevated.md +128 -0
- package/docs/tools/exa-search.md +152 -0
- package/docs/tools/exec-approvals-advanced.md +457 -0
- package/docs/tools/exec-approvals.md +520 -0
- package/docs/tools/exec.md +294 -0
- package/docs/tools/firecrawl.md +155 -0
- package/docs/tools/gemini-search.md +114 -0
- package/docs/tools/goal.md +217 -0
- package/docs/tools/grok-search.md +129 -0
- package/docs/tools/image-generation.md +538 -0
- package/docs/tools/index.md +176 -0
- package/docs/tools/kimi-search.md +105 -0
- package/docs/tools/llm-task.md +137 -0
- package/docs/tools/lobster.md +365 -0
- package/docs/tools/loop-detection.md +154 -0
- package/docs/tools/media-overview.md +161 -0
- package/docs/tools/minimax-search.md +102 -0
- package/docs/tools/multi-agent-sandbox-tools.md +409 -0
- package/docs/tools/music-generation.md +372 -0
- package/docs/tools/ollama-search.md +153 -0
- package/docs/tools/parallel-search.md +154 -0
- package/docs/tools/pdf.md +213 -0
- package/docs/tools/permission-modes.md +111 -0
- package/docs/tools/perplexity-search.md +220 -0
- package/docs/tools/plugin.md +378 -0
- package/docs/tools/reactions.md +100 -0
- package/docs/tools/searxng-search.md +141 -0
- package/docs/tools/skill-workshop.md +283 -0
- package/docs/tools/skills-config.md +457 -0
- package/docs/tools/skills.md +591 -0
- package/docs/tools/slash-commands.md +518 -0
- package/docs/tools/steer.md +77 -0
- package/docs/tools/subagents.md +652 -0
- package/docs/tools/tavily.md +162 -0
- package/docs/tools/thinking.md +142 -0
- package/docs/tools/tokenjuice.md +84 -0
- package/docs/tools/tool-search.md +269 -0
- package/docs/tools/trajectory.md +229 -0
- package/docs/tools/tts.md +1013 -0
- package/docs/tools/video-generation.md +555 -0
- package/docs/tools/web-fetch.md +210 -0
- package/docs/tools/web.md +476 -0
- package/docs/tts.md +11 -0
- package/docs/vps.md +139 -0
- package/docs/web/control-ui.md +530 -0
- package/docs/web/dashboard.md +107 -0
- package/docs/web/index.md +133 -0
- package/docs/web/tui.md +258 -0
- package/docs/web/webchat.md +102 -0
- package/npm-shrinkwrap.json +3485 -0
- package/openclaw.mjs +661 -0
- package/package.json +1971 -0
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.39.0.patch +40 -0
- package/pnpm-workspace.yaml +124 -0
- package/scripts/crabbox-wrapper.mjs +2470 -0
- package/scripts/lib/official-external-channel-catalog.json +570 -0
- package/scripts/lib/official-external-plugin-catalog.json +284 -0
- package/scripts/lib/official-external-provider-catalog.json +158 -0
- package/scripts/lib/package-dist-imports.mjs +174 -0
- package/scripts/npm-runner.mjs +95 -0
- package/scripts/postinstall-bundled-plugins.mjs +978 -0
- package/scripts/preinstall-package-manager-warning.mjs +74 -0
- package/scripts/prepare-git-hooks.mjs +73 -0
- package/scripts/windows-cmd-helpers.mjs +29 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +78 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +143 -0
- package/skills/diagram-maker/SKILL.md +53 -0
- package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
- package/skills/diagram-maker/references/svg-template.md +112 -0
- package/skills/discord/SKILL.md +136 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +47 -0
- package/skills/gh-issues/SKILL.md +213 -0
- package/skills/gifgrep/SKILL.md +85 -0
- package/skills/github/SKILL.md +84 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +105 -0
- package/skills/himalaya/SKILL.md +80 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/meme-maker/SKILL.md +42 -0
- package/skills/meme-maker/references/templates.json +358 -0
- package/skills/meme-maker/scripts/meme.mjs +398 -0
- package/skills/model-usage/SKILL.md +71 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +319 -0
- package/skills/model-usage/scripts/test_model_usage.py +40 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +143 -0
- package/skills/node-inspect-debugger/SKILL.md +85 -0
- package/skills/notion/SKILL.md +150 -0
- package/skills/obsidian/SKILL.md +119 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +71 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +126 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +198 -0
- package/skills/pyproject.toml +10 -0
- package/skills/python-debugpy/SKILL.md +73 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +151 -0
- package/skills/sherpa-onnx-tts/SKILL.md +109 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +78 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +144 -0
- package/skills/skill-creator/scripts/quick_validate.py +169 -0
- package/skills/skill-creator/scripts/test_package_skill.py +199 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
- package/skills/slack/SKILL.md +78 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spike/SKILL.md +51 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/taskflow/SKILL.md +149 -0
- package/skills/taskflow/examples/inbox-triage.lobster +33 -0
- package/skills/taskflow/examples/pr-intake.lobster +32 -0
- package/skills/taskflow-inbox-triage/SKILL.md +119 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +91 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +108 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +87 -0
- package/skills/xurl/SKILL.md +120 -0
- package/src/agents/templates/HEARTBEAT.md +5 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Local-first search sidecar with BM25, vectors, reranking, and query expansion"
|
|
3
|
+
title: "QMD memory engine"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to set up QMD as your memory backend
|
|
6
|
+
- You want advanced memory features like reranking or extra indexed paths
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
[QMD](https://github.com/tobi/qmd) is a local-first search sidecar that runs
|
|
10
|
+
alongside OpenClaw. It combines BM25, vector search, and reranking in a single
|
|
11
|
+
binary, and can index content beyond your workspace memory files.
|
|
12
|
+
|
|
13
|
+
## What it adds over builtin
|
|
14
|
+
|
|
15
|
+
- **Reranking and query expansion** for better recall.
|
|
16
|
+
- **Index extra directories** -- project docs, team notes, anything on disk.
|
|
17
|
+
- **Index session transcripts** -- recall earlier conversations.
|
|
18
|
+
- **Fully local** -- runs with the official llama.cpp provider plugin and
|
|
19
|
+
auto-downloads GGUF models.
|
|
20
|
+
- **Automatic fallback** -- if QMD is unavailable, OpenClaw falls back to the
|
|
21
|
+
builtin engine seamlessly.
|
|
22
|
+
|
|
23
|
+
## Getting started
|
|
24
|
+
|
|
25
|
+
### Prerequisites
|
|
26
|
+
|
|
27
|
+
- Install QMD: `npm install -g @tobilu/qmd` or `bun install -g @tobilu/qmd`
|
|
28
|
+
- SQLite build that allows extensions (`brew install sqlite` on macOS).
|
|
29
|
+
- QMD must be on the gateway's `PATH`.
|
|
30
|
+
- macOS and Linux work out of the box. Windows is best supported via WSL2.
|
|
31
|
+
|
|
32
|
+
### Enable
|
|
33
|
+
|
|
34
|
+
```json5
|
|
35
|
+
{
|
|
36
|
+
memory: {
|
|
37
|
+
backend: "qmd",
|
|
38
|
+
},
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
OpenClaw creates a self-contained QMD home under
|
|
43
|
+
`~/.openclaw/agents/<agentId>/qmd/` and manages the sidecar lifecycle
|
|
44
|
+
automatically -- collections, updates, and embedding runs are handled for you.
|
|
45
|
+
It prefers current QMD collection and MCP query shapes, but still falls back to
|
|
46
|
+
alternate collection pattern flags and older MCP tool names when needed.
|
|
47
|
+
Boot-time reconciliation also recreates stale managed collections back to their
|
|
48
|
+
canonical patterns when an older QMD collection with the same name is still
|
|
49
|
+
present.
|
|
50
|
+
|
|
51
|
+
## How the sidecar works
|
|
52
|
+
|
|
53
|
+
- OpenClaw creates collections from your workspace memory files and any
|
|
54
|
+
configured `memory.qmd.paths`, then runs `qmd update` when the QMD manager is
|
|
55
|
+
opened and periodically afterward (default every 5 minutes). These refreshes
|
|
56
|
+
run through QMD subprocesses, not an in-process filesystem crawl. Semantic
|
|
57
|
+
modes also run `qmd embed`.
|
|
58
|
+
- The default workspace collection tracks `MEMORY.md` plus the `memory/`
|
|
59
|
+
tree. Lowercase `memory.md` is not indexed as a root memory file.
|
|
60
|
+
- QMD's own scanner ignores hidden paths and common dependency/build
|
|
61
|
+
directories such as `.git`, `.cache`, `node_modules`, `vendor`, `dist`, and
|
|
62
|
+
`build`. Gateway startup does not initialize QMD by default, so cold boot
|
|
63
|
+
avoids importing the memory runtime or creating the long-lived watcher before
|
|
64
|
+
memory is first used.
|
|
65
|
+
- If you want QMD initialized at gateway start anyway, set
|
|
66
|
+
`memory.qmd.update.startup` to `idle` or `immediate`. With
|
|
67
|
+
`memory.qmd.update.onBoot: true`, startup runs the initial refresh. With
|
|
68
|
+
`onBoot: false`, startup skips that immediate refresh but still opens the
|
|
69
|
+
long-lived manager when update or embed intervals are configured, so QMD can
|
|
70
|
+
own its regular watcher and timers.
|
|
71
|
+
- Searches use the configured `searchMode` (default: `search`; also supports
|
|
72
|
+
`vsearch` and `query`). `search` is BM25-only, so OpenClaw skips semantic
|
|
73
|
+
vector readiness probes and embedding maintenance in that mode. If a mode
|
|
74
|
+
fails, OpenClaw retries with `qmd query`.
|
|
75
|
+
- When `searchMode` is `query`, set `memory.qmd.rerank` to `false` to use QMD's
|
|
76
|
+
hybrid query path without the reranker. OpenClaw passes `--no-rerank` to the
|
|
77
|
+
direct QMD CLI path and `rerank: false` to QMD's MCP query tool. This option
|
|
78
|
+
requires QMD 2.1 or newer.
|
|
79
|
+
- With QMD releases that advertise multi-collection filters, OpenClaw groups
|
|
80
|
+
same-source collections into one QMD search invocation. Older QMD releases
|
|
81
|
+
keep the compatible per-collection fallback.
|
|
82
|
+
- If QMD fails entirely, OpenClaw falls back to the builtin SQLite engine.
|
|
83
|
+
Repeated chat-turn attempts back off briefly after an open failure so a
|
|
84
|
+
missing binary or broken sidecar dependency does not create a retry storm;
|
|
85
|
+
`openclaw memory status` and one-shot CLI probes still recheck QMD directly.
|
|
86
|
+
|
|
87
|
+
<Info>
|
|
88
|
+
The first search may be slow -- QMD auto-downloads GGUF models (~2 GB) for
|
|
89
|
+
reranking and query expansion on the first `qmd query` run.
|
|
90
|
+
</Info>
|
|
91
|
+
|
|
92
|
+
## Search performance and compatibility
|
|
93
|
+
|
|
94
|
+
OpenClaw keeps the QMD search path compatible with both current and older QMD
|
|
95
|
+
installs.
|
|
96
|
+
|
|
97
|
+
On startup, OpenClaw checks the installed QMD help text once per manager. If the
|
|
98
|
+
binary advertises support for multiple collection filters, OpenClaw searches all
|
|
99
|
+
same-source collections with one command:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
qmd search "router notes" --json -n 10 -c memory-root-main -c memory-dir-main
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
This avoids starting one QMD subprocess for every durable-memory collection.
|
|
106
|
+
Session transcript collections stay in their own source group, so mixed
|
|
107
|
+
`memory` + `sessions` searches still give the result diversifier input from both
|
|
108
|
+
sources.
|
|
109
|
+
|
|
110
|
+
Older QMD builds only accept one collection filter. When OpenClaw detects one
|
|
111
|
+
of those builds, it keeps the compatibility path and searches each collection
|
|
112
|
+
separately before merging and deduplicating results.
|
|
113
|
+
|
|
114
|
+
To inspect the installed contract manually, run:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
qmd --help | grep -i collection
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Current QMD help says collection filters can target one or more collections.
|
|
121
|
+
Older help usually describes a single collection.
|
|
122
|
+
|
|
123
|
+
## Model overrides
|
|
124
|
+
|
|
125
|
+
QMD model environment variables pass through unchanged from the gateway
|
|
126
|
+
process, so you can tune QMD globally without adding new OpenClaw config:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
export QMD_EMBED_MODEL="hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"
|
|
130
|
+
export QMD_RERANK_MODEL="/absolute/path/to/reranker.gguf"
|
|
131
|
+
export QMD_GENERATE_MODEL="/absolute/path/to/generator.gguf"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
After changing the embedding model, rerun embeddings so the index matches the
|
|
135
|
+
new vector space.
|
|
136
|
+
|
|
137
|
+
## Indexing extra paths
|
|
138
|
+
|
|
139
|
+
Point QMD at additional directories to make them searchable:
|
|
140
|
+
|
|
141
|
+
```json5
|
|
142
|
+
{
|
|
143
|
+
memory: {
|
|
144
|
+
backend: "qmd",
|
|
145
|
+
qmd: {
|
|
146
|
+
paths: [{ name: "docs", path: "~/notes", pattern: "**/*.md" }],
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Snippets from extra paths appear as `qmd/<collection>/<relative-path>` in
|
|
153
|
+
search results. `memory_get` understands this prefix and reads from the correct
|
|
154
|
+
collection root.
|
|
155
|
+
|
|
156
|
+
## Indexing session transcripts
|
|
157
|
+
|
|
158
|
+
Enable session indexing to recall earlier conversations:
|
|
159
|
+
|
|
160
|
+
```json5
|
|
161
|
+
{
|
|
162
|
+
memory: {
|
|
163
|
+
backend: "qmd",
|
|
164
|
+
qmd: {
|
|
165
|
+
sessions: { enabled: true },
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Transcripts are exported as sanitized User/Assistant turns into a dedicated QMD
|
|
172
|
+
collection under `~/.openclaw/agents/<id>/qmd/sessions/`.
|
|
173
|
+
|
|
174
|
+
## Search scope
|
|
175
|
+
|
|
176
|
+
By default, QMD search results are surfaced in direct and channel sessions
|
|
177
|
+
(not groups). Configure `memory.qmd.scope` to change this:
|
|
178
|
+
|
|
179
|
+
```json5
|
|
180
|
+
{
|
|
181
|
+
memory: {
|
|
182
|
+
qmd: {
|
|
183
|
+
scope: {
|
|
184
|
+
default: "deny",
|
|
185
|
+
rules: [{ action: "allow", match: { chatType: "direct" } }],
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
When scope denies a search, OpenClaw logs a warning with the derived channel and
|
|
193
|
+
chat type so empty results are easier to debug.
|
|
194
|
+
|
|
195
|
+
## Citations
|
|
196
|
+
|
|
197
|
+
When `memory.citations` is `auto` or `on`, search snippets include a
|
|
198
|
+
`Source: <path#line>` footer. Set `memory.citations = "off"` to omit the footer
|
|
199
|
+
while still passing the path to the agent internally.
|
|
200
|
+
|
|
201
|
+
## When to use
|
|
202
|
+
|
|
203
|
+
Choose QMD when you need:
|
|
204
|
+
|
|
205
|
+
- Reranking for higher-quality results.
|
|
206
|
+
- To search project docs or notes outside the workspace.
|
|
207
|
+
- To recall past session conversations.
|
|
208
|
+
- Fully local search with no API keys.
|
|
209
|
+
|
|
210
|
+
For simpler setups, the [builtin engine](/concepts/memory-builtin) works well
|
|
211
|
+
with no extra dependencies.
|
|
212
|
+
|
|
213
|
+
## Troubleshooting
|
|
214
|
+
|
|
215
|
+
**QMD not found?** Ensure the binary is on the gateway's `PATH`. If OpenClaw
|
|
216
|
+
runs as a service, create a symlink:
|
|
217
|
+
`sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd`.
|
|
218
|
+
|
|
219
|
+
If `qmd --version` works in your shell but OpenClaw still reports
|
|
220
|
+
`spawn qmd ENOENT`, the gateway process likely has a different `PATH` than your
|
|
221
|
+
interactive shell. Pin the binary explicitly:
|
|
222
|
+
|
|
223
|
+
```json5
|
|
224
|
+
{
|
|
225
|
+
memory: {
|
|
226
|
+
backend: "qmd",
|
|
227
|
+
qmd: {
|
|
228
|
+
command: "/absolute/path/to/qmd",
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Use `command -v qmd` in the environment where QMD is installed, then recheck
|
|
235
|
+
with `openclaw memory status --deep`.
|
|
236
|
+
|
|
237
|
+
**First search very slow?** QMD downloads GGUF models on first use. Pre-warm
|
|
238
|
+
with `qmd query "test"` using the same XDG dirs OpenClaw uses.
|
|
239
|
+
|
|
240
|
+
**Many QMD subprocesses during search?** Update QMD if possible. OpenClaw uses
|
|
241
|
+
one process for same-source multi-collection searches only when the installed
|
|
242
|
+
QMD advertises support for multiple `-c` filters; otherwise it keeps the older
|
|
243
|
+
per-collection fallback for correctness.
|
|
244
|
+
|
|
245
|
+
**BM25-only QMD still trying to build llama.cpp?** Set
|
|
246
|
+
`memory.qmd.searchMode = "search"`. OpenClaw treats that mode as lexical-only,
|
|
247
|
+
does not run QMD vector status probes or embedding maintenance, and leaves
|
|
248
|
+
semantic readiness checks to `vsearch` or `query` setups.
|
|
249
|
+
|
|
250
|
+
**Search times out?** Increase `memory.qmd.limits.timeoutMs` (default: 4000ms).
|
|
251
|
+
Set to `120000` for slower hardware.
|
|
252
|
+
|
|
253
|
+
**Empty results in group chats?** Check `memory.qmd.scope` -- the default only
|
|
254
|
+
allows direct and channel sessions.
|
|
255
|
+
|
|
256
|
+
**Root memory search suddenly got too broad?** Restart the gateway or wait for
|
|
257
|
+
the next startup reconciliation. OpenClaw recreates stale managed collections
|
|
258
|
+
back to canonical `MEMORY.md` and `memory/` patterns when it detects a same-name
|
|
259
|
+
conflict.
|
|
260
|
+
|
|
261
|
+
**Workspace-visible temp repos causing `ENAMETOOLONG` or broken indexing?**
|
|
262
|
+
QMD traversal currently follows the underlying QMD scanner behavior rather than
|
|
263
|
+
OpenClaw's builtin symlink rules. Keep temporary monorepo checkouts under
|
|
264
|
+
hidden directories like `.tmp/` or outside indexed QMD roots until QMD exposes
|
|
265
|
+
cycle-safe traversal or explicit exclusion controls.
|
|
266
|
+
|
|
267
|
+
## Configuration
|
|
268
|
+
|
|
269
|
+
For the full config surface (`memory.qmd.*`), search modes, update intervals,
|
|
270
|
+
scope rules, and all other knobs, see the
|
|
271
|
+
[Memory configuration reference](/reference/memory-config).
|
|
272
|
+
|
|
273
|
+
## Related
|
|
274
|
+
|
|
275
|
+
- [Memory overview](/concepts/memory)
|
|
276
|
+
- [Builtin memory engine](/concepts/memory-builtin)
|
|
277
|
+
- [Honcho memory](/concepts/memory-honcho)
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "How memory search finds relevant notes using embeddings and hybrid retrieval"
|
|
3
|
+
title: "Memory search"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to understand how memory_search works
|
|
6
|
+
- You want to choose an embedding provider
|
|
7
|
+
- You want to tune search quality
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
`memory_search` finds relevant notes from your memory files, even when the
|
|
11
|
+
wording differs from the original text. It works by indexing memory into small
|
|
12
|
+
chunks and searching them using embeddings, keywords, or both.
|
|
13
|
+
|
|
14
|
+
## Quick start
|
|
15
|
+
|
|
16
|
+
Memory search uses OpenAI embeddings by default. To use another embedding
|
|
17
|
+
backend, set a provider explicitly:
|
|
18
|
+
|
|
19
|
+
```json5
|
|
20
|
+
{
|
|
21
|
+
agents: {
|
|
22
|
+
defaults: {
|
|
23
|
+
memorySearch: {
|
|
24
|
+
provider: "openai", // or "gemini", "local", "ollama", "openai-compatible", etc.
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For multi-endpoint setups with memory-specific providers, `provider` can also
|
|
32
|
+
be a custom `models.providers.<id>` entry, such as `ollama-5080`, when that
|
|
33
|
+
provider sets `api: "ollama"` or another memory embedding adapter owner.
|
|
34
|
+
|
|
35
|
+
For local embeddings with no API key, install
|
|
36
|
+
`@openclaw/llama-cpp-provider` and set `provider: "local"`. Source checkouts
|
|
37
|
+
may still require native build approval: `pnpm approve-builds` then
|
|
38
|
+
`pnpm rebuild node-llama-cpp`.
|
|
39
|
+
|
|
40
|
+
Some OpenAI-compatible embedding endpoints require asymmetric labels such as
|
|
41
|
+
`input_type: "query"` for searches and `input_type: "document"` or `"passage"`
|
|
42
|
+
for indexed chunks. Configure those with `memorySearch.queryInputType` and
|
|
43
|
+
`memorySearch.documentInputType`; see the [Memory configuration reference](/reference/memory-config#provider-specific-config).
|
|
44
|
+
|
|
45
|
+
## Supported providers
|
|
46
|
+
|
|
47
|
+
| Provider | ID | Needs API key | Notes |
|
|
48
|
+
| ----------------- | ------------------- | ------------- | ----------------------------- |
|
|
49
|
+
| Bedrock | `bedrock` | No | Uses AWS credential chain |
|
|
50
|
+
| DeepInfra | `deepinfra` | Yes | Default: `BAAI/bge-m3` |
|
|
51
|
+
| Gemini | `gemini` | Yes | Supports image/audio indexing |
|
|
52
|
+
| GitHub Copilot | `github-copilot` | No | Uses Copilot subscription |
|
|
53
|
+
| Local | `local` | No | GGUF model, ~0.6 GB download |
|
|
54
|
+
| Mistral | `mistral` | Yes | |
|
|
55
|
+
| Ollama | `ollama` | No | Local/self-hosted |
|
|
56
|
+
| OpenAI | `openai` | Yes | Default |
|
|
57
|
+
| OpenAI-compatible | `openai-compatible` | Usually | Generic `/v1/embeddings` |
|
|
58
|
+
| Voyage | `voyage` | Yes | |
|
|
59
|
+
|
|
60
|
+
## How search works
|
|
61
|
+
|
|
62
|
+
OpenClaw runs two retrieval paths in parallel and merges the results:
|
|
63
|
+
|
|
64
|
+
```mermaid
|
|
65
|
+
flowchart LR
|
|
66
|
+
Q["Query"] --> E["Embedding"]
|
|
67
|
+
Q --> T["Tokenize"]
|
|
68
|
+
E --> VS["Vector Search"]
|
|
69
|
+
T --> BM["BM25 Search"]
|
|
70
|
+
VS --> M["Weighted Merge"]
|
|
71
|
+
BM --> M
|
|
72
|
+
M --> R["Top Results"]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- **Vector search** finds notes with similar meaning ("gateway host" matches
|
|
76
|
+
"the machine running OpenClaw").
|
|
77
|
+
- **BM25 keyword search** finds exact matches (IDs, error strings, config
|
|
78
|
+
keys).
|
|
79
|
+
|
|
80
|
+
If only one path is available, the other runs alone. Intentional FTS-only mode
|
|
81
|
+
(`provider: "none"`) and automatic/default provider selection can still use
|
|
82
|
+
lexical ranking when embeddings are unavailable.
|
|
83
|
+
|
|
84
|
+
Explicit non-local embedding providers are different. If you set
|
|
85
|
+
`memorySearch.provider` to a concrete remote-backed provider and that provider
|
|
86
|
+
is unavailable at runtime, `memory_search` reports memory as unavailable instead
|
|
87
|
+
of silently using FTS-only results. This keeps a broken configured semantic
|
|
88
|
+
provider visible. Set `provider: "none"` for deliberate FTS-only recall, or fix
|
|
89
|
+
the provider/auth configuration to restore semantic ranking.
|
|
90
|
+
|
|
91
|
+
## Improving search quality
|
|
92
|
+
|
|
93
|
+
Two optional features help when you have a large note history:
|
|
94
|
+
|
|
95
|
+
### Temporal decay
|
|
96
|
+
|
|
97
|
+
Old notes gradually lose ranking weight so recent information surfaces first.
|
|
98
|
+
With the default half-life of 30 days, a note from last month scores at 50% of
|
|
99
|
+
its original weight. Evergreen files like `MEMORY.md` are never decayed.
|
|
100
|
+
|
|
101
|
+
<Tip>
|
|
102
|
+
Enable temporal decay if your agent has months of daily notes and stale
|
|
103
|
+
information keeps outranking recent context.
|
|
104
|
+
</Tip>
|
|
105
|
+
|
|
106
|
+
### MMR (diversity)
|
|
107
|
+
|
|
108
|
+
Reduces redundant results. If five notes all mention the same router config, MMR
|
|
109
|
+
ensures the top results cover different topics instead of repeating.
|
|
110
|
+
|
|
111
|
+
<Tip>
|
|
112
|
+
Enable MMR if `memory_search` keeps returning near-duplicate snippets from
|
|
113
|
+
different daily notes.
|
|
114
|
+
</Tip>
|
|
115
|
+
|
|
116
|
+
### Enable both
|
|
117
|
+
|
|
118
|
+
```json5
|
|
119
|
+
{
|
|
120
|
+
agents: {
|
|
121
|
+
defaults: {
|
|
122
|
+
memorySearch: {
|
|
123
|
+
query: {
|
|
124
|
+
hybrid: {
|
|
125
|
+
mmr: { enabled: true },
|
|
126
|
+
temporalDecay: { enabled: true },
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Multimodal memory
|
|
136
|
+
|
|
137
|
+
With Gemini Embedding 2, you can index images and audio files alongside
|
|
138
|
+
Markdown. Search queries remain text, but they match against visual and audio
|
|
139
|
+
content. See the [Memory configuration reference](/reference/memory-config) for
|
|
140
|
+
setup.
|
|
141
|
+
|
|
142
|
+
## Session memory search
|
|
143
|
+
|
|
144
|
+
You can optionally index session transcripts so `memory_search` can recall
|
|
145
|
+
earlier conversations. This is opt-in via
|
|
146
|
+
`memorySearch.experimental.sessionMemory`. See the
|
|
147
|
+
[configuration reference](/reference/memory-config) for details.
|
|
148
|
+
|
|
149
|
+
## Troubleshooting
|
|
150
|
+
|
|
151
|
+
**No results?** Run `openclaw memory status` to check the index. If empty, run
|
|
152
|
+
`openclaw memory index --force`.
|
|
153
|
+
|
|
154
|
+
**Only keyword matches?** Your embedding provider may not be configured. Check
|
|
155
|
+
`openclaw memory status --deep`.
|
|
156
|
+
|
|
157
|
+
**Local embeddings time out?** `ollama`, `lmstudio`, and `local` use a longer
|
|
158
|
+
inline batch timeout by default. If the host is simply slow, set
|
|
159
|
+
`agents.defaults.memorySearch.sync.embeddingBatchTimeoutSeconds` and rerun
|
|
160
|
+
`openclaw memory index --force`.
|
|
161
|
+
|
|
162
|
+
**CJK text not found?** Rebuild the FTS index with
|
|
163
|
+
`openclaw memory index --force`.
|
|
164
|
+
|
|
165
|
+
## Further reading
|
|
166
|
+
|
|
167
|
+
- [Active Memory](/concepts/active-memory) -- sub-agent memory for interactive chat sessions
|
|
168
|
+
- [Memory](/concepts/memory) -- file layout, backends, tools
|
|
169
|
+
- [Memory configuration reference](/reference/memory-config) -- all config knobs
|
|
170
|
+
|
|
171
|
+
## Related
|
|
172
|
+
|
|
173
|
+
- [Memory overview](/concepts/memory)
|
|
174
|
+
- [Active memory](/concepts/active-memory)
|
|
175
|
+
- [Builtin memory engine](/concepts/memory-builtin)
|