@quantumclaw/quantumclaw 2026.3.22
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 +4601 -0
- package/LICENSE +21 -0
- package/README.md +559 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/docs/.i18n/README.md +31 -0
- package/docs/.i18n/glossary.ja-JP.json +14 -0
- package/docs/.i18n/glossary.zh-CN.json +302 -0
- package/docs/.i18n/ja-JP.tm.jsonl +0 -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/pixel-lobster.svg +60 -0
- package/docs/assets/quantumclaw-logo-text-dark.png +0 -0
- package/docs/assets/quantumclaw-logo-text-dark.svg +418 -0
- package/docs/assets/quantumclaw-logo-text.png +0 -0
- package/docs/assets/quantumclaw-logo-text.svg +418 -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.svg +14 -0
- package/docs/assets/sponsors/convex.svg +16 -0
- package/docs/assets/sponsors/openai.svg +3 -0
- package/docs/assets/sponsors/vercel.svg +5 -0
- package/docs/auth-credential-semantics.md +53 -0
- package/docs/automation/auth-monitoring.md +44 -0
- package/docs/automation/cron-jobs.md +727 -0
- package/docs/automation/cron-vs-heartbeat.md +286 -0
- package/docs/automation/gmail-pubsub.md +256 -0
- package/docs/automation/hooks.md +1056 -0
- package/docs/automation/poll.md +86 -0
- package/docs/automation/standing-orders.md +251 -0
- package/docs/automation/troubleshooting.md +122 -0
- package/docs/automation/webhook.md +217 -0
- package/docs/brave-search.md +93 -0
- package/docs/channels/bluebubbles.md +347 -0
- package/docs/channels/broadcast-groups.md +442 -0
- package/docs/channels/channel-routing.md +139 -0
- package/docs/channels/discord.md +1229 -0
- package/docs/channels/feishu.md +747 -0
- package/docs/channels/googlechat.md +261 -0
- package/docs/channels/group-messages.md +84 -0
- package/docs/channels/groups.md +379 -0
- package/docs/channels/imessage.md +367 -0
- package/docs/channels/index.md +47 -0
- package/docs/channels/irc.md +242 -0
- package/docs/channels/line.md +194 -0
- package/docs/channels/location.md +56 -0
- package/docs/channels/matrix.md +677 -0
- package/docs/channels/mattermost.md +427 -0
- package/docs/channels/msteams.md +780 -0
- package/docs/channels/nextcloud-talk.md +138 -0
- package/docs/channels/nostr.md +249 -0
- package/docs/channels/pairing.md +114 -0
- package/docs/channels/signal.md +329 -0
- package/docs/channels/slack.md +603 -0
- package/docs/channels/synology-chat.md +134 -0
- package/docs/channels/telegram.md +987 -0
- package/docs/channels/tlon.md +276 -0
- package/docs/channels/troubleshooting.md +118 -0
- package/docs/channels/twitch.md +379 -0
- package/docs/channels/whatsapp.md +460 -0
- package/docs/channels/zalo.md +243 -0
- package/docs/channels/zalouser.md +181 -0
- package/docs/ci.md +55 -0
- package/docs/cli/acp.md +288 -0
- package/docs/cli/agent.md +29 -0
- package/docs/cli/agents.md +123 -0
- package/docs/cli/approvals.md +50 -0
- package/docs/cli/backup.md +76 -0
- package/docs/cli/browser.md +106 -0
- package/docs/cli/channels.md +102 -0
- package/docs/cli/clawbot.md +21 -0
- package/docs/cli/completion.md +35 -0
- package/docs/cli/config.md +295 -0
- package/docs/cli/configure.md +36 -0
- package/docs/cli/cron.md +77 -0
- package/docs/cli/daemon.md +53 -0
- package/docs/cli/dashboard.md +22 -0
- package/docs/cli/devices.md +139 -0
- package/docs/cli/directory.md +63 -0
- package/docs/cli/dns.md +23 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +48 -0
- package/docs/cli/gateway.md +235 -0
- package/docs/cli/health.md +21 -0
- package/docs/cli/hooks.md +329 -0
- package/docs/cli/index.md +1150 -0
- package/docs/cli/logs.md +28 -0
- package/docs/cli/memory.md +66 -0
- package/docs/cli/message.md +278 -0
- package/docs/cli/models.md +81 -0
- package/docs/cli/node.md +127 -0
- package/docs/cli/nodes.md +75 -0
- package/docs/cli/onboard.md +157 -0
- package/docs/cli/pairing.md +32 -0
- package/docs/cli/plugins.md +210 -0
- package/docs/cli/qr.md +46 -0
- package/docs/cli/reset.md +20 -0
- package/docs/cli/sandbox.md +197 -0
- package/docs/cli/secrets.md +188 -0
- package/docs/cli/security.md +79 -0
- package/docs/cli/sessions.md +110 -0
- package/docs/cli/setup.md +29 -0
- package/docs/cli/skills.md +36 -0
- package/docs/cli/status.md +30 -0
- package/docs/cli/system.md +60 -0
- package/docs/cli/tui.md +30 -0
- package/docs/cli/uninstall.md +20 -0
- package/docs/cli/update.md +103 -0
- package/docs/cli/voicecall.md +34 -0
- package/docs/cli/webhooks.md +25 -0
- package/docs/concepts/agent-loop.md +148 -0
- package/docs/concepts/agent-workspace.md +236 -0
- package/docs/concepts/agent.md +122 -0
- package/docs/concepts/architecture.md +137 -0
- package/docs/concepts/compaction.md +123 -0
- package/docs/concepts/context-engine.md +268 -0
- package/docs/concepts/context.md +172 -0
- package/docs/concepts/delegate-architecture.md +296 -0
- package/docs/concepts/features.md +73 -0
- package/docs/concepts/markdown-formatting.md +130 -0
- package/docs/concepts/memory.md +108 -0
- package/docs/concepts/messages.md +154 -0
- package/docs/concepts/model-failover.md +152 -0
- package/docs/concepts/model-providers.md +607 -0
- package/docs/concepts/models.md +225 -0
- package/docs/concepts/multi-agent.md +552 -0
- package/docs/concepts/oauth.md +158 -0
- package/docs/concepts/presence.md +102 -0
- package/docs/concepts/queue.md +89 -0
- package/docs/concepts/retry.md +69 -0
- package/docs/concepts/session-pruning.md +121 -0
- package/docs/concepts/session-tool.md +242 -0
- package/docs/concepts/session.md +310 -0
- package/docs/concepts/streaming.md +155 -0
- package/docs/concepts/system-prompt.md +132 -0
- package/docs/concepts/timezone.md +91 -0
- package/docs/concepts/typebox.md +291 -0
- package/docs/concepts/typing-indicators.md +68 -0
- package/docs/concepts/usage-tracking.md +35 -0
- package/docs/date-time.md +128 -0
- package/docs/debug/node-issue.md +85 -0
- package/docs/diagnostics/flags.md +91 -0
- package/docs/docs.json +2078 -0
- package/docs/gateway/authentication.md +179 -0
- package/docs/gateway/background-process.md +97 -0
- package/docs/gateway/bonjour.md +177 -0
- package/docs/gateway/bridge-protocol.md +91 -0
- package/docs/gateway/cli-backends.md +225 -0
- package/docs/gateway/configuration-examples.md +651 -0
- package/docs/gateway/configuration-reference.md +3123 -0
- package/docs/gateway/configuration.md +633 -0
- package/docs/gateway/discovery.md +123 -0
- package/docs/gateway/doctor.md +362 -0
- package/docs/gateway/gateway-lock.md +34 -0
- package/docs/gateway/health.md +44 -0
- package/docs/gateway/heartbeat.md +393 -0
- package/docs/gateway/index.md +261 -0
- package/docs/gateway/local-models.md +152 -0
- package/docs/gateway/logging.md +113 -0
- package/docs/gateway/multiple-gateways.md +112 -0
- package/docs/gateway/network-model.md +22 -0
- package/docs/gateway/openai-http-api.md +132 -0
- package/docs/gateway/openresponses-http-api.md +295 -0
- package/docs/gateway/openshell.md +307 -0
- package/docs/gateway/pairing.md +99 -0
- package/docs/gateway/protocol.md +267 -0
- package/docs/gateway/remote-gateway-readme.md +158 -0
- package/docs/gateway/remote.md +153 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +134 -0
- package/docs/gateway/sandboxing.md +469 -0
- package/docs/gateway/secrets-plan-contract.md +116 -0
- package/docs/gateway/secrets.md +503 -0
- package/docs/gateway/security/index.md +1220 -0
- package/docs/gateway/tailscale.md +132 -0
- package/docs/gateway/tools-invoke-http-api.md +118 -0
- package/docs/gateway/troubleshooting.md +378 -0
- package/docs/gateway/trusted-proxy-auth.md +330 -0
- package/docs/help/debugging.md +168 -0
- package/docs/help/environment.md +163 -0
- package/docs/help/faq.md +2997 -0
- package/docs/help/index.md +28 -0
- package/docs/help/scripts.md +28 -0
- package/docs/help/testing.md +526 -0
- package/docs/help/troubleshooting.md +297 -0
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/feishu-verification-token.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 +230 -0
- package/docs/install/azure.md +311 -0
- package/docs/install/bun.md +55 -0
- package/docs/install/development-channels.md +120 -0
- package/docs/install/digitalocean.md +129 -0
- package/docs/install/docker-vm-runtime.md +142 -0
- package/docs/install/docker.md +375 -0
- package/docs/install/exe-dev.md +126 -0
- package/docs/install/fly.md +501 -0
- package/docs/install/gcp.md +402 -0
- package/docs/install/hetzner.md +251 -0
- package/docs/install/index.md +183 -0
- package/docs/install/installer.md +415 -0
- package/docs/install/kubernetes.md +191 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-matrix.md +346 -0
- package/docs/install/migrating.md +110 -0
- package/docs/install/nix.md +89 -0
- package/docs/install/node.md +138 -0
- package/docs/install/northflank.mdx +54 -0
- package/docs/install/oracle.md +156 -0
- package/docs/install/podman.md +133 -0
- package/docs/install/railway.mdx +100 -0
- package/docs/install/raspberry-pi.md +159 -0
- package/docs/install/render.mdx +169 -0
- package/docs/install/uninstall.md +128 -0
- package/docs/install/updating.md +128 -0
- package/docs/ja-JP/index.md +186 -0
- package/docs/ja-JP/start/getting-started.md +125 -0
- package/docs/ja-JP/start/wizard.md +77 -0
- package/docs/logging.md +352 -0
- package/docs/nav-tabs-underline.js +100 -0
- package/docs/network.md +54 -0
- package/docs/nodes/audio.md +187 -0
- package/docs/nodes/camera.md +162 -0
- package/docs/nodes/images.md +72 -0
- package/docs/nodes/index.md +393 -0
- package/docs/nodes/location-command.md +98 -0
- package/docs/nodes/media-understanding.md +394 -0
- package/docs/nodes/talk.md +92 -0
- package/docs/nodes/troubleshooting.md +114 -0
- package/docs/nodes/voicewake.md +66 -0
- package/docs/perplexity.md +174 -0
- package/docs/pi-dev.md +80 -0
- package/docs/pi.md +567 -0
- package/docs/platforms/android.md +168 -0
- package/docs/platforms/digitalocean.md +266 -0
- package/docs/platforms/index.md +54 -0
- package/docs/platforms/ios.md +220 -0
- package/docs/platforms/linux.md +94 -0
- package/docs/platforms/mac/bundled-gateway.md +73 -0
- package/docs/platforms/mac/canvas.md +125 -0
- package/docs/platforms/mac/child-process.md +69 -0
- package/docs/platforms/mac/dev-setup.md +104 -0
- package/docs/platforms/mac/health.md +34 -0
- package/docs/platforms/mac/icon.md +31 -0
- package/docs/platforms/mac/logging.md +57 -0
- package/docs/platforms/mac/menu-bar.md +81 -0
- package/docs/platforms/mac/peekaboo.md +65 -0
- package/docs/platforms/mac/permissions.md +50 -0
- package/docs/platforms/mac/remote.md +84 -0
- package/docs/platforms/mac/signing.md +47 -0
- package/docs/platforms/mac/skills.md +33 -0
- package/docs/platforms/mac/voice-overlay.md +60 -0
- package/docs/platforms/mac/voicewake.md +67 -0
- package/docs/platforms/mac/webchat.md +43 -0
- package/docs/platforms/mac/xpc.md +61 -0
- package/docs/platforms/macos.md +226 -0
- package/docs/platforms/oracle.md +303 -0
- package/docs/platforms/raspberry-pi.md +412 -0
- package/docs/platforms/windows.md +241 -0
- package/docs/plugins/agent-tools.md +10 -0
- package/docs/plugins/architecture.md +1366 -0
- package/docs/plugins/building-extensions.md +10 -0
- package/docs/plugins/building-plugins.md +239 -0
- package/docs/plugins/bundles.md +181 -0
- package/docs/plugins/community.md +145 -0
- package/docs/plugins/manifest.md +241 -0
- package/docs/plugins/sdk-channel-plugins.md +370 -0
- package/docs/plugins/sdk-entrypoints.md +161 -0
- package/docs/plugins/sdk-migration.md +172 -0
- package/docs/plugins/sdk-overview.md +196 -0
- package/docs/plugins/sdk-provider-plugins.md +370 -0
- package/docs/plugins/sdk-runtime.md +345 -0
- package/docs/plugins/sdk-setup.md +331 -0
- package/docs/plugins/sdk-testing.md +263 -0
- package/docs/plugins/voice-call.md +380 -0
- package/docs/plugins/zalouser.md +77 -0
- package/docs/prose.md +134 -0
- package/docs/providers/anthropic.md +259 -0
- package/docs/providers/bedrock.md +176 -0
- package/docs/providers/claude-max-api-proxy.md +154 -0
- package/docs/providers/cloudflare-ai-gateway.md +71 -0
- package/docs/providers/deepgram.md +93 -0
- package/docs/providers/github-copilot.md +72 -0
- package/docs/providers/glm.md +43 -0
- package/docs/providers/google.md +78 -0
- package/docs/providers/groq.md +96 -0
- package/docs/providers/huggingface.md +209 -0
- package/docs/providers/index.md +69 -0
- package/docs/providers/kilocode.md +74 -0
- package/docs/providers/litellm.md +154 -0
- package/docs/providers/minimax.md +224 -0
- package/docs/providers/mistral.md +54 -0
- package/docs/providers/models.md +45 -0
- package/docs/providers/modelstudio.md +66 -0
- package/docs/providers/moonshot.md +175 -0
- package/docs/providers/nvidia.md +55 -0
- package/docs/providers/ollama.md +352 -0
- package/docs/providers/openai.md +303 -0
- package/docs/providers/opencode-go.md +45 -0
- package/docs/providers/opencode.md +64 -0
- package/docs/providers/openrouter.md +37 -0
- package/docs/providers/perplexity-provider.md +62 -0
- package/docs/providers/qianfan.md +38 -0
- package/docs/providers/qwen.md +53 -0
- package/docs/providers/sglang.md +104 -0
- package/docs/providers/synthetic.md +99 -0
- package/docs/providers/together.md +66 -0
- package/docs/providers/venice.md +282 -0
- package/docs/providers/vercel-ai-gateway.md +60 -0
- package/docs/providers/vllm.md +92 -0
- package/docs/providers/volcengine.md +74 -0
- package/docs/providers/xai.md +60 -0
- package/docs/providers/xiaomi.md +86 -0
- package/docs/providers/zai.md +46 -0
- package/docs/reference/AGENTS.default.md +126 -0
- package/docs/reference/RELEASING.md +42 -0
- package/docs/reference/api-usage-costs.md +144 -0
- package/docs/reference/credits.md +30 -0
- package/docs/reference/device-models.md +47 -0
- package/docs/reference/memory-config.md +711 -0
- package/docs/reference/prompt-caching.md +185 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secretref-credential-surface.md +140 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +563 -0
- package/docs/reference/session-management-compaction.md +324 -0
- package/docs/reference/templates/AGENTS.dev.md +83 -0
- package/docs/reference/templates/AGENTS.md +219 -0
- package/docs/reference/templates/BOOT.md +11 -0
- package/docs/reference/templates/BOOTSTRAP.md +62 -0
- package/docs/reference/templates/HEARTBEAT.md +14 -0
- package/docs/reference/templates/IDENTITY.dev.md +47 -0
- package/docs/reference/templates/IDENTITY.md +29 -0
- package/docs/reference/templates/SOUL.dev.md +76 -0
- package/docs/reference/templates/SOUL.md +43 -0
- package/docs/reference/templates/TOOLS.dev.md +24 -0
- package/docs/reference/templates/TOOLS.md +47 -0
- package/docs/reference/templates/USER.dev.md +18 -0
- package/docs/reference/templates/USER.md +23 -0
- package/docs/reference/test.md +90 -0
- package/docs/reference/token-use.md +175 -0
- package/docs/reference/transcript-hygiene.md +151 -0
- package/docs/reference/wizard.md +235 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +167 -0
- package/docs/start/bootstrapping.md +41 -0
- package/docs/start/docs-directory.md +66 -0
- package/docs/start/getting-started.md +116 -0
- package/docs/start/hubs.md +198 -0
- package/docs/start/lore.md +219 -0
- package/docs/start/onboarding-overview.md +67 -0
- package/docs/start/onboarding.md +91 -0
- package/docs/start/openclaw.md +221 -0
- package/docs/start/quickstart.md +22 -0
- package/docs/start/setup.md +164 -0
- package/docs/start/showcase.md +418 -0
- package/docs/start/wizard-cli-automation.md +215 -0
- package/docs/start/wizard-cli-reference.md +299 -0
- package/docs/start/wizard.md +125 -0
- package/docs/style.css +37 -0
- package/docs/tools/acp-agents.md +623 -0
- package/docs/tools/agent-send.md +100 -0
- package/docs/tools/apply-patch.md +51 -0
- package/docs/tools/brave-search.md +93 -0
- package/docs/tools/browser-linux-troubleshooting.md +138 -0
- package/docs/tools/browser-login.md +73 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +211 -0
- package/docs/tools/browser.md +731 -0
- package/docs/tools/btw.md +142 -0
- package/docs/tools/capability-cookbook.md +119 -0
- package/docs/tools/clawhub.md +298 -0
- package/docs/tools/creating-skills.md +117 -0
- package/docs/tools/diffs.md +386 -0
- package/docs/tools/elevated.md +114 -0
- package/docs/tools/exec-approvals.md +430 -0
- package/docs/tools/exec.md +207 -0
- package/docs/tools/firecrawl.md +140 -0
- package/docs/tools/index.md +137 -0
- package/docs/tools/llm-task.md +119 -0
- package/docs/tools/lobster.md +340 -0
- package/docs/tools/loop-detection.md +100 -0
- package/docs/tools/multi-agent-sandbox-tools.md +364 -0
- package/docs/tools/pdf.md +156 -0
- package/docs/tools/perplexity-search.md +174 -0
- package/docs/tools/plugin.md +255 -0
- package/docs/tools/reactions.md +64 -0
- package/docs/tools/skills-config.md +86 -0
- package/docs/tools/skills.md +309 -0
- package/docs/tools/slash-commands.md +294 -0
- package/docs/tools/subagents.md +295 -0
- package/docs/tools/tavily.md +125 -0
- package/docs/tools/thinking.md +96 -0
- package/docs/tools/tts.md +406 -0
- package/docs/tools/web.md +516 -0
- package/docs/tts.md +406 -0
- package/docs/vps.md +112 -0
- package/docs/web/control-ui.md +275 -0
- package/docs/web/dashboard.md +54 -0
- package/docs/web/index.md +120 -0
- package/docs/web/tui.md +170 -0
- package/docs/web/webchat.md +61 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +61 -0
- package/docs/zh-CN/automation/auth-monitoring.md +47 -0
- package/docs/zh-CN/automation/cron-jobs.md +435 -0
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
- package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
- package/docs/zh-CN/automation/hooks.md +1051 -0
- package/docs/zh-CN/automation/poll.md +76 -0
- package/docs/zh-CN/automation/troubleshooting.md +8 -0
- package/docs/zh-CN/automation/webhook.md +163 -0
- package/docs/zh-CN/brave-search.md +60 -0
- package/docs/zh-CN/channels/bluebubbles.md +354 -0
- package/docs/zh-CN/channels/broadcast-groups.md +449 -0
- package/docs/zh-CN/channels/channel-routing.md +117 -0
- package/docs/zh-CN/channels/discord.md +468 -0
- package/docs/zh-CN/channels/feishu.md +728 -0
- package/docs/zh-CN/channels/googlechat.md +257 -0
- package/docs/zh-CN/channels/grammy.md +38 -0
- package/docs/zh-CN/channels/group-messages.md +91 -0
- package/docs/zh-CN/channels/groups.md +379 -0
- package/docs/zh-CN/channels/imessage.md +302 -0
- package/docs/zh-CN/channels/index.md +53 -0
- package/docs/zh-CN/channels/line.md +180 -0
- package/docs/zh-CN/channels/location.md +63 -0
- package/docs/zh-CN/channels/matrix.md +221 -0
- package/docs/zh-CN/channels/mattermost.md +144 -0
- package/docs/zh-CN/channels/msteams.md +775 -0
- package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
- package/docs/zh-CN/channels/nostr.md +249 -0
- package/docs/zh-CN/channels/pairing.md +89 -0
- package/docs/zh-CN/channels/signal.md +209 -0
- package/docs/zh-CN/channels/slack.md +531 -0
- package/docs/zh-CN/channels/synology-chat.md +138 -0
- package/docs/zh-CN/channels/telegram.md +751 -0
- package/docs/zh-CN/channels/tlon.md +136 -0
- package/docs/zh-CN/channels/troubleshooting.md +36 -0
- package/docs/zh-CN/channels/twitch.md +385 -0
- package/docs/zh-CN/channels/whatsapp.md +411 -0
- package/docs/zh-CN/channels/zalo.md +196 -0
- package/docs/zh-CN/channels/zalouser.md +147 -0
- package/docs/zh-CN/cli/acp.md +173 -0
- package/docs/zh-CN/cli/agent.md +30 -0
- package/docs/zh-CN/cli/agents.md +82 -0
- package/docs/zh-CN/cli/approvals.md +57 -0
- package/docs/zh-CN/cli/browser.md +114 -0
- package/docs/zh-CN/cli/channels.md +86 -0
- package/docs/zh-CN/cli/config.md +57 -0
- package/docs/zh-CN/cli/configure.md +38 -0
- package/docs/zh-CN/cli/cron.md +43 -0
- package/docs/zh-CN/cli/dashboard.md +23 -0
- package/docs/zh-CN/cli/devices.md +74 -0
- package/docs/zh-CN/cli/directory.md +70 -0
- package/docs/zh-CN/cli/dns.md +30 -0
- package/docs/zh-CN/cli/docs.md +22 -0
- package/docs/zh-CN/cli/doctor.md +48 -0
- package/docs/zh-CN/cli/gateway.md +206 -0
- package/docs/zh-CN/cli/health.md +28 -0
- package/docs/zh-CN/cli/hooks.md +298 -0
- package/docs/zh-CN/cli/index.md +1143 -0
- package/docs/zh-CN/cli/logs.md +31 -0
- package/docs/zh-CN/cli/memory.md +52 -0
- package/docs/zh-CN/cli/message.md +246 -0
- package/docs/zh-CN/cli/models.md +85 -0
- package/docs/zh-CN/cli/node.md +115 -0
- package/docs/zh-CN/cli/nodes.md +80 -0
- package/docs/zh-CN/cli/onboard.md +164 -0
- package/docs/zh-CN/cli/pairing.md +28 -0
- package/docs/zh-CN/cli/plugins.md +66 -0
- package/docs/zh-CN/cli/reset.md +24 -0
- package/docs/zh-CN/cli/sandbox.md +158 -0
- package/docs/zh-CN/cli/security.md +33 -0
- package/docs/zh-CN/cli/sessions.md +23 -0
- package/docs/zh-CN/cli/setup.md +36 -0
- package/docs/zh-CN/cli/skills.md +33 -0
- package/docs/zh-CN/cli/status.md +33 -0
- package/docs/zh-CN/cli/system.md +63 -0
- package/docs/zh-CN/cli/tui.md +30 -0
- package/docs/zh-CN/cli/uninstall.md +24 -0
- package/docs/zh-CN/cli/update.md +101 -0
- package/docs/zh-CN/cli/voicecall.md +41 -0
- package/docs/zh-CN/cli/webhooks.md +32 -0
- package/docs/zh-CN/concepts/agent-loop.md +146 -0
- package/docs/zh-CN/concepts/agent-workspace.md +219 -0
- package/docs/zh-CN/concepts/agent.md +115 -0
- package/docs/zh-CN/concepts/architecture.md +123 -0
- package/docs/zh-CN/concepts/compaction.md +67 -0
- package/docs/zh-CN/concepts/context.md +168 -0
- package/docs/zh-CN/concepts/features.md +59 -0
- package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
- package/docs/zh-CN/concepts/memory.md +412 -0
- package/docs/zh-CN/concepts/messages.md +141 -0
- package/docs/zh-CN/concepts/model-failover.md +145 -0
- package/docs/zh-CN/concepts/model-providers.md +606 -0
- package/docs/zh-CN/concepts/models.md +225 -0
- package/docs/zh-CN/concepts/multi-agent.md +372 -0
- package/docs/zh-CN/concepts/oauth.md +164 -0
- package/docs/zh-CN/concepts/presence.md +99 -0
- package/docs/zh-CN/concepts/queue.md +94 -0
- package/docs/zh-CN/concepts/retry.md +76 -0
- package/docs/zh-CN/concepts/session-pruning.md +129 -0
- package/docs/zh-CN/concepts/session-tool.md +200 -0
- package/docs/zh-CN/concepts/session.md +166 -0
- package/docs/zh-CN/concepts/streaming.md +133 -0
- package/docs/zh-CN/concepts/system-prompt.md +101 -0
- package/docs/zh-CN/concepts/timezone.md +96 -0
- package/docs/zh-CN/concepts/typebox.md +284 -0
- package/docs/zh-CN/concepts/typing-indicators.md +74 -0
- package/docs/zh-CN/concepts/usage-tracking.md +42 -0
- package/docs/zh-CN/date-time.md +129 -0
- package/docs/zh-CN/debug/node-issue.md +90 -0
- package/docs/zh-CN/diagnostics/flags.md +98 -0
- package/docs/zh-CN/gateway/authentication.md +184 -0
- package/docs/zh-CN/gateway/background-process.md +100 -0
- package/docs/zh-CN/gateway/bonjour.md +174 -0
- package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
- package/docs/zh-CN/gateway/cli-backends.md +213 -0
- package/docs/zh-CN/gateway/configuration-examples.md +587 -0
- package/docs/zh-CN/gateway/configuration-reference.md +3103 -0
- package/docs/zh-CN/gateway/configuration.md +640 -0
- package/docs/zh-CN/gateway/discovery.md +123 -0
- package/docs/zh-CN/gateway/doctor.md +238 -0
- package/docs/zh-CN/gateway/gateway-lock.md +41 -0
- package/docs/zh-CN/gateway/health.md +42 -0
- package/docs/zh-CN/gateway/heartbeat.md +274 -0
- package/docs/zh-CN/gateway/index.md +335 -0
- package/docs/zh-CN/gateway/local-models.md +159 -0
- package/docs/zh-CN/gateway/logging.md +114 -0
- package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
- package/docs/zh-CN/gateway/network-model.md +23 -0
- package/docs/zh-CN/gateway/openai-http-api.md +125 -0
- package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
- package/docs/zh-CN/gateway/pairing.md +99 -0
- package/docs/zh-CN/gateway/protocol.md +220 -0
- package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
- package/docs/zh-CN/gateway/remote.md +133 -0
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
- package/docs/zh-CN/gateway/sandboxing.md +188 -0
- package/docs/zh-CN/gateway/security/index.md +777 -0
- package/docs/zh-CN/gateway/tailscale.md +124 -0
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
- package/docs/zh-CN/gateway/troubleshooting.md +771 -0
- package/docs/zh-CN/help/debugging.md +160 -0
- package/docs/zh-CN/help/environment.md +88 -0
- package/docs/zh-CN/help/faq.md +2640 -0
- package/docs/zh-CN/help/index.md +28 -0
- package/docs/zh-CN/help/scripts.md +35 -0
- package/docs/zh-CN/help/testing.md +375 -0
- package/docs/zh-CN/help/troubleshooting.md +104 -0
- package/docs/zh-CN/index.md +186 -0
- package/docs/zh-CN/install/ansible.md +215 -0
- package/docs/zh-CN/install/bun.md +65 -0
- package/docs/zh-CN/install/development-channels.md +81 -0
- package/docs/zh-CN/install/docker.md +532 -0
- package/docs/zh-CN/install/exe-dev.md +133 -0
- package/docs/zh-CN/install/fly.md +490 -0
- package/docs/zh-CN/install/gcp.md +510 -0
- package/docs/zh-CN/install/hetzner.md +337 -0
- package/docs/zh-CN/install/index.md +235 -0
- package/docs/zh-CN/install/installer.md +422 -0
- package/docs/zh-CN/install/macos-vm.md +288 -0
- package/docs/zh-CN/install/migrating.md +199 -0
- package/docs/zh-CN/install/nix.md +99 -0
- package/docs/zh-CN/install/node.md +8 -0
- package/docs/zh-CN/install/northflank.mdx +60 -0
- package/docs/zh-CN/install/railway.mdx +106 -0
- package/docs/zh-CN/install/render.mdx +169 -0
- package/docs/zh-CN/install/uninstall.md +135 -0
- package/docs/zh-CN/install/updating.md +233 -0
- package/docs/zh-CN/logging.md +329 -0
- package/docs/zh-CN/network.md +59 -0
- package/docs/zh-CN/nodes/audio.md +120 -0
- package/docs/zh-CN/nodes/camera.md +162 -0
- package/docs/zh-CN/nodes/images.md +79 -0
- package/docs/zh-CN/nodes/index.md +348 -0
- package/docs/zh-CN/nodes/location-command.md +120 -0
- package/docs/zh-CN/nodes/media-understanding.md +380 -0
- package/docs/zh-CN/nodes/talk.md +97 -0
- package/docs/zh-CN/nodes/troubleshooting.md +8 -0
- package/docs/zh-CN/nodes/voicewake.md +72 -0
- package/docs/zh-CN/perplexity.md +102 -0
- package/docs/zh-CN/pi-dev.md +77 -0
- package/docs/zh-CN/pi.md +619 -0
- package/docs/zh-CN/platforms/android.md +155 -0
- package/docs/zh-CN/platforms/digitalocean.md +273 -0
- package/docs/zh-CN/platforms/index.md +60 -0
- package/docs/zh-CN/platforms/ios.md +114 -0
- package/docs/zh-CN/platforms/linux.md +100 -0
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
- package/docs/zh-CN/platforms/mac/canvas.md +128 -0
- package/docs/zh-CN/platforms/mac/child-process.md +73 -0
- package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
- package/docs/zh-CN/platforms/mac/health.md +41 -0
- package/docs/zh-CN/platforms/mac/icon.md +38 -0
- package/docs/zh-CN/platforms/mac/logging.md +64 -0
- package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
- package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
- package/docs/zh-CN/platforms/mac/permissions.md +46 -0
- package/docs/zh-CN/platforms/mac/remote.md +90 -0
- package/docs/zh-CN/platforms/mac/signing.md +54 -0
- package/docs/zh-CN/platforms/mac/skills.md +40 -0
- package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
- package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
- package/docs/zh-CN/platforms/mac/webchat.md +43 -0
- package/docs/zh-CN/platforms/mac/xpc.md +68 -0
- package/docs/zh-CN/platforms/macos.md +193 -0
- package/docs/zh-CN/platforms/oracle.md +310 -0
- package/docs/zh-CN/platforms/raspberry-pi.md +416 -0
- package/docs/zh-CN/platforms/windows.md +247 -0
- package/docs/zh-CN/plugins/agent-tools.md +99 -0
- package/docs/zh-CN/plugins/manifest.md +68 -0
- package/docs/zh-CN/plugins/voice-call.md +250 -0
- package/docs/zh-CN/plugins/zalouser.md +88 -0
- package/docs/zh-CN/prose.md +141 -0
- package/docs/zh-CN/providers/anthropic.md +265 -0
- package/docs/zh-CN/providers/bedrock.md +170 -0
- package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
- package/docs/zh-CN/providers/cloudflare-ai-gateway.md +78 -0
- package/docs/zh-CN/providers/deepgram.md +97 -0
- package/docs/zh-CN/providers/github-copilot.md +67 -0
- package/docs/zh-CN/providers/glm.md +50 -0
- package/docs/zh-CN/providers/huggingface.md +216 -0
- package/docs/zh-CN/providers/index.md +69 -0
- package/docs/zh-CN/providers/kilocode.md +80 -0
- package/docs/zh-CN/providers/litellm.md +160 -0
- package/docs/zh-CN/providers/minimax.md +222 -0
- package/docs/zh-CN/providers/mistral.md +61 -0
- package/docs/zh-CN/providers/models.md +51 -0
- package/docs/zh-CN/providers/moonshot.md +182 -0
- package/docs/zh-CN/providers/nvidia.md +62 -0
- package/docs/zh-CN/providers/ollama.md +359 -0
- package/docs/zh-CN/providers/openai.md +308 -0
- package/docs/zh-CN/providers/opencode-go.md +52 -0
- package/docs/zh-CN/providers/opencode.md +71 -0
- package/docs/zh-CN/providers/openrouter.md +44 -0
- package/docs/zh-CN/providers/qianfan.md +45 -0
- package/docs/zh-CN/providers/qwen.md +55 -0
- package/docs/zh-CN/providers/sglang.md +111 -0
- package/docs/zh-CN/providers/synthetic.md +106 -0
- package/docs/zh-CN/providers/together.md +72 -0
- package/docs/zh-CN/providers/venice.md +289 -0
- package/docs/zh-CN/providers/vercel-ai-gateway.md +66 -0
- package/docs/zh-CN/providers/xiaomi.md +93 -0
- package/docs/zh-CN/providers/zai.md +53 -0
- package/docs/zh-CN/reference/AGENTS.default.md +131 -0
- package/docs/zh-CN/reference/RELEASING.md +48 -0
- package/docs/zh-CN/reference/api-usage-costs.md +141 -0
- package/docs/zh-CN/reference/credits.md +34 -0
- package/docs/zh-CN/reference/device-models.md +54 -0
- package/docs/zh-CN/reference/rpc.md +48 -0
- package/docs/zh-CN/reference/session-management-compaction.md +287 -0
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
- package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
- package/docs/zh-CN/reference/templates/BOOT.md +17 -0
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
- package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
- package/docs/zh-CN/reference/templates/IDENTITY.md +36 -0
- package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
- package/docs/zh-CN/reference/templates/SOUL.md +49 -0
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
- package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
- package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
- package/docs/zh-CN/reference/templates/USER.md +30 -0
- package/docs/zh-CN/reference/test.md +57 -0
- package/docs/zh-CN/reference/token-use.md +119 -0
- package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
- package/docs/zh-CN/reference/wizard.md +242 -0
- package/docs/zh-CN/security/formal-verification.md +171 -0
- package/docs/zh-CN/start/bootstrapping.md +9 -0
- package/docs/zh-CN/start/docs-directory.md +70 -0
- package/docs/zh-CN/start/getting-started.md +143 -0
- package/docs/zh-CN/start/hubs.md +194 -0
- package/docs/zh-CN/start/lore.md +226 -0
- package/docs/zh-CN/start/onboarding-overview.md +58 -0
- package/docs/zh-CN/start/onboarding.md +105 -0
- package/docs/zh-CN/start/openclaw.md +248 -0
- package/docs/zh-CN/start/quickstart.md +88 -0
- package/docs/zh-CN/start/setup.md +153 -0
- package/docs/zh-CN/start/showcase.md +423 -0
- package/docs/zh-CN/start/wizard-cli-automation.md +222 -0
- package/docs/zh-CN/start/wizard-cli-reference.md +306 -0
- package/docs/zh-CN/start/wizard.md +132 -0
- package/docs/zh-CN/tools/agent-send.md +59 -0
- package/docs/zh-CN/tools/apply-patch.md +57 -0
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
- package/docs/zh-CN/tools/browser-login.md +75 -0
- package/docs/zh-CN/tools/browser.md +553 -0
- package/docs/zh-CN/tools/chrome-extension.md +183 -0
- package/docs/zh-CN/tools/clawhub.md +209 -0
- package/docs/zh-CN/tools/creating-skills.md +61 -0
- package/docs/zh-CN/tools/elevated.md +64 -0
- package/docs/zh-CN/tools/exec-approvals.md +234 -0
- package/docs/zh-CN/tools/exec.md +169 -0
- package/docs/zh-CN/tools/firecrawl.md +68 -0
- package/docs/zh-CN/tools/index.md +515 -0
- package/docs/zh-CN/tools/llm-task.md +117 -0
- package/docs/zh-CN/tools/lobster.md +349 -0
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +401 -0
- package/docs/zh-CN/tools/plugin.md +1612 -0
- package/docs/zh-CN/tools/reactions.md +29 -0
- package/docs/zh-CN/tools/skills-config.md +78 -0
- package/docs/zh-CN/tools/skills.md +279 -0
- package/docs/zh-CN/tools/slash-commands.md +205 -0
- package/docs/zh-CN/tools/subagents.md +167 -0
- package/docs/zh-CN/tools/thinking.md +80 -0
- package/docs/zh-CN/tools/web.md +289 -0
- package/docs/zh-CN/tts.md +375 -0
- package/docs/zh-CN/vps.md +47 -0
- package/docs/zh-CN/web/control-ui.md +191 -0
- package/docs/zh-CN/web/dashboard.md +53 -0
- package/docs/zh-CN/web/index.md +118 -0
- package/docs/zh-CN/web/tui.md +166 -0
- package/docs/zh-CN/web/webchat.md +56 -0
- package/package.json +841 -0
- package/quantumclaw.mjs +135 -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/bluebubbles/SKILL.md +131 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +198 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +295 -0
- package/skills/discord/SKILL.md +197 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +43 -0
- package/skills/gh-issues/SKILL.md +865 -0
- package/skills/gifgrep/SKILL.md +79 -0
- package/skills/github/SKILL.md +163 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +245 -0
- package/skills/himalaya/SKILL.md +257 -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/model-usage/SKILL.md +69 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +320 -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/notion/SKILL.md +174 -0
- package/skills/obsidian/SKILL.md +81 -0
- package/skills/openai-image-gen/SKILL.md +92 -0
- package/skills/openai-image-gen/scripts/gen.py +328 -0
- package/skills/openai-image-gen/scripts/test_gen.py +140 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +52 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +125 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +190 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +115 -0
- package/skills/sherpa-onnx-tts/SKILL.md +103 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +372 -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 +159 -0
- package/skills/skill-creator/scripts/test_package_skill.py +160 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +153 -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 +95 -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 +112 -0
- package/skills/xurl/SKILL.md +461 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Voice Call plugin: outbound + inbound calls via Twilio/Telnyx/Plivo (plugin install + config + CLI)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to place an outbound voice call from QuantumClaw
|
|
5
|
+
- You are configuring or developing the voice-call plugin
|
|
6
|
+
title: "Voice Call Plugin"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Voice Call (plugin)
|
|
10
|
+
|
|
11
|
+
Voice calls for QuantumClaw via a plugin. Supports outbound notifications and
|
|
12
|
+
multi-turn conversations with inbound policies.
|
|
13
|
+
|
|
14
|
+
Current providers:
|
|
15
|
+
|
|
16
|
+
- `twilio` (Programmable Voice + Media Streams)
|
|
17
|
+
- `telnyx` (Call Control v2)
|
|
18
|
+
- `plivo` (Voice API + XML transfer + GetInput speech)
|
|
19
|
+
- `mock` (dev/no network)
|
|
20
|
+
|
|
21
|
+
Quick mental model:
|
|
22
|
+
|
|
23
|
+
- Install plugin
|
|
24
|
+
- Restart Gateway
|
|
25
|
+
- Configure under `plugins.entries.voice-call.config`
|
|
26
|
+
- Use `quantumclaw voicecall ...` or the `voice_call` tool
|
|
27
|
+
|
|
28
|
+
## Where it runs (local vs remote)
|
|
29
|
+
|
|
30
|
+
The Voice Call plugin runs **inside the Gateway process**.
|
|
31
|
+
|
|
32
|
+
If you use a remote Gateway, install/configure the plugin on the **machine running the Gateway**, then restart the Gateway to load it.
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
### Option A: install from npm (recommended)
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
quantumclaw plugins install @quantumclaw/voice-call
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Restart the Gateway afterwards.
|
|
43
|
+
|
|
44
|
+
### Option B: install from a local folder (dev, no copying)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
quantumclaw plugins install ./extensions/voice-call
|
|
48
|
+
cd ./extensions/voice-call && pnpm install
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Restart the Gateway afterwards.
|
|
52
|
+
|
|
53
|
+
## Config
|
|
54
|
+
|
|
55
|
+
Set config under `plugins.entries.voice-call.config`:
|
|
56
|
+
|
|
57
|
+
```json5
|
|
58
|
+
{
|
|
59
|
+
plugins: {
|
|
60
|
+
entries: {
|
|
61
|
+
"voice-call": {
|
|
62
|
+
enabled: true,
|
|
63
|
+
config: {
|
|
64
|
+
provider: "twilio", // or "telnyx" | "plivo" | "mock"
|
|
65
|
+
fromNumber: "+15550001234",
|
|
66
|
+
toNumber: "+15550005678",
|
|
67
|
+
|
|
68
|
+
twilio: {
|
|
69
|
+
accountSid: "ACxxxxxxxx",
|
|
70
|
+
authToken: "...",
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
telnyx: {
|
|
74
|
+
apiKey: "...",
|
|
75
|
+
connectionId: "...",
|
|
76
|
+
// Telnyx webhook public key from the Telnyx Mission Control Portal
|
|
77
|
+
// (Base64 string; can also be set via TELNYX_PUBLIC_KEY).
|
|
78
|
+
publicKey: "...",
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
plivo: {
|
|
82
|
+
authId: "MAxxxxxxxxxxxxxxxxxxxx",
|
|
83
|
+
authToken: "...",
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
// Webhook server
|
|
87
|
+
serve: {
|
|
88
|
+
port: 3334,
|
|
89
|
+
path: "/voice/webhook",
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
// Webhook security (recommended for tunnels/proxies)
|
|
93
|
+
webhookSecurity: {
|
|
94
|
+
allowedHosts: ["voice.example.com"],
|
|
95
|
+
trustedProxyIPs: ["100.64.0.1"],
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// Public exposure (pick one)
|
|
99
|
+
// publicUrl: "https://example.ngrok.app/voice/webhook",
|
|
100
|
+
// tunnel: { provider: "ngrok" },
|
|
101
|
+
// tailscale: { mode: "funnel", path: "/voice/webhook" }
|
|
102
|
+
|
|
103
|
+
outbound: {
|
|
104
|
+
defaultMode: "notify", // notify | conversation
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
streaming: {
|
|
108
|
+
enabled: true,
|
|
109
|
+
streamPath: "/voice/stream",
|
|
110
|
+
preStartTimeoutMs: 5000,
|
|
111
|
+
maxPendingConnections: 32,
|
|
112
|
+
maxPendingConnectionsPerIp: 4,
|
|
113
|
+
maxConnections: 128,
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Notes:
|
|
123
|
+
|
|
124
|
+
- Twilio/Telnyx require a **publicly reachable** webhook URL.
|
|
125
|
+
- Plivo requires a **publicly reachable** webhook URL.
|
|
126
|
+
- `mock` is a local dev provider (no network calls).
|
|
127
|
+
- Telnyx requires `telnyx.publicKey` (or `TELNYX_PUBLIC_KEY`) unless `skipSignatureVerification` is true.
|
|
128
|
+
- `skipSignatureVerification` is for local testing only.
|
|
129
|
+
- If you use ngrok free tier, set `publicUrl` to the exact ngrok URL; signature verification is always enforced.
|
|
130
|
+
- `tunnel.allowNgrokFreeTierLoopbackBypass: true` allows Twilio webhooks with invalid signatures **only** when `tunnel.provider="ngrok"` and `serve.bind` is loopback (ngrok local agent). Use for local dev only.
|
|
131
|
+
- Ngrok free tier URLs can change or add interstitial behavior; if `publicUrl` drifts, Twilio signatures will fail. For production, prefer a stable domain or Tailscale funnel.
|
|
132
|
+
- Streaming security defaults:
|
|
133
|
+
- `streaming.preStartTimeoutMs` closes sockets that never send a valid `start` frame.
|
|
134
|
+
- `streaming.maxPendingConnections` caps total unauthenticated pre-start sockets.
|
|
135
|
+
- `streaming.maxPendingConnectionsPerIp` caps unauthenticated pre-start sockets per source IP.
|
|
136
|
+
- `streaming.maxConnections` caps total open media stream sockets (pending + active).
|
|
137
|
+
|
|
138
|
+
## Stale call reaper
|
|
139
|
+
|
|
140
|
+
Use `staleCallReaperSeconds` to end calls that never receive a terminal webhook
|
|
141
|
+
(for example, notify-mode calls that never complete). The default is `0`
|
|
142
|
+
(disabled).
|
|
143
|
+
|
|
144
|
+
Recommended ranges:
|
|
145
|
+
|
|
146
|
+
- **Production:** `120`–`300` seconds for notify-style flows.
|
|
147
|
+
- Keep this value **higher than `maxDurationSeconds`** so normal calls can
|
|
148
|
+
finish. A good starting point is `maxDurationSeconds + 30–60` seconds.
|
|
149
|
+
|
|
150
|
+
Example:
|
|
151
|
+
|
|
152
|
+
```json5
|
|
153
|
+
{
|
|
154
|
+
plugins: {
|
|
155
|
+
entries: {
|
|
156
|
+
"voice-call": {
|
|
157
|
+
config: {
|
|
158
|
+
maxDurationSeconds: 300,
|
|
159
|
+
staleCallReaperSeconds: 360,
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Webhook Security
|
|
168
|
+
|
|
169
|
+
When a proxy or tunnel sits in front of the Gateway, the plugin reconstructs the
|
|
170
|
+
public URL for signature verification. These options control which forwarded
|
|
171
|
+
headers are trusted.
|
|
172
|
+
|
|
173
|
+
`webhookSecurity.allowedHosts` allowlists hosts from forwarding headers.
|
|
174
|
+
|
|
175
|
+
`webhookSecurity.trustForwardingHeaders` trusts forwarded headers without an allowlist.
|
|
176
|
+
|
|
177
|
+
`webhookSecurity.trustedProxyIPs` only trusts forwarded headers when the request
|
|
178
|
+
remote IP matches the list.
|
|
179
|
+
|
|
180
|
+
Webhook replay protection is enabled for Twilio and Plivo. Replayed valid webhook
|
|
181
|
+
requests are acknowledged but skipped for side effects.
|
|
182
|
+
|
|
183
|
+
Twilio conversation turns include a per-turn token in `<Gather>` callbacks, so
|
|
184
|
+
stale/replayed speech callbacks cannot satisfy a newer pending transcript turn.
|
|
185
|
+
|
|
186
|
+
Example with a stable public host:
|
|
187
|
+
|
|
188
|
+
```json5
|
|
189
|
+
{
|
|
190
|
+
plugins: {
|
|
191
|
+
entries: {
|
|
192
|
+
"voice-call": {
|
|
193
|
+
config: {
|
|
194
|
+
publicUrl: "https://voice.example.com/voice/webhook",
|
|
195
|
+
webhookSecurity: {
|
|
196
|
+
allowedHosts: ["voice.example.com"],
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## TTS for calls
|
|
206
|
+
|
|
207
|
+
Voice Call uses the core `messages.tts` configuration for
|
|
208
|
+
streaming speech on calls. You can override it under the plugin config with the
|
|
209
|
+
**same shape** — it deep‑merges with `messages.tts`.
|
|
210
|
+
|
|
211
|
+
```json5
|
|
212
|
+
{
|
|
213
|
+
tts: {
|
|
214
|
+
provider: "elevenlabs",
|
|
215
|
+
elevenlabs: {
|
|
216
|
+
voiceId: "pMsXgVXv3BLzUgSXRplE",
|
|
217
|
+
modelId: "eleven_multilingual_v2",
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Notes:
|
|
224
|
+
|
|
225
|
+
- **Microsoft speech is ignored for voice calls** (telephony audio needs PCM; the current Microsoft transport does not expose telephony PCM output).
|
|
226
|
+
- Core TTS is used when Twilio media streaming is enabled; otherwise calls fall back to provider native voices.
|
|
227
|
+
- If a Twilio media stream is already active, Voice Call does not fall back to TwiML `<Say>`. If telephony TTS is unavailable in that state, the playback request fails instead of mixing two playback paths.
|
|
228
|
+
|
|
229
|
+
### More examples
|
|
230
|
+
|
|
231
|
+
Use core TTS only (no override):
|
|
232
|
+
|
|
233
|
+
```json5
|
|
234
|
+
{
|
|
235
|
+
messages: {
|
|
236
|
+
tts: {
|
|
237
|
+
provider: "openai",
|
|
238
|
+
openai: { voice: "alloy" },
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Override to ElevenLabs just for calls (keep core default elsewhere):
|
|
245
|
+
|
|
246
|
+
```json5
|
|
247
|
+
{
|
|
248
|
+
plugins: {
|
|
249
|
+
entries: {
|
|
250
|
+
"voice-call": {
|
|
251
|
+
config: {
|
|
252
|
+
tts: {
|
|
253
|
+
provider: "elevenlabs",
|
|
254
|
+
elevenlabs: {
|
|
255
|
+
apiKey: "elevenlabs_key",
|
|
256
|
+
voiceId: "pMsXgVXv3BLzUgSXRplE",
|
|
257
|
+
modelId: "eleven_multilingual_v2",
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Override only the OpenAI model for calls (deep‑merge example):
|
|
268
|
+
|
|
269
|
+
```json5
|
|
270
|
+
{
|
|
271
|
+
plugins: {
|
|
272
|
+
entries: {
|
|
273
|
+
"voice-call": {
|
|
274
|
+
config: {
|
|
275
|
+
tts: {
|
|
276
|
+
openai: {
|
|
277
|
+
model: "gpt-4o-mini-tts",
|
|
278
|
+
voice: "marin",
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Inbound calls
|
|
289
|
+
|
|
290
|
+
Inbound policy defaults to `disabled`. To enable inbound calls, set:
|
|
291
|
+
|
|
292
|
+
```json5
|
|
293
|
+
{
|
|
294
|
+
inboundPolicy: "allowlist",
|
|
295
|
+
allowFrom: ["+15550001234"],
|
|
296
|
+
inboundGreeting: "Hello! How can I help?",
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
`inboundPolicy: "allowlist"` is a low-assurance caller-ID screen. The plugin
|
|
301
|
+
normalizes the provider-supplied `From` value and compares it to `allowFrom`.
|
|
302
|
+
Webhook verification authenticates provider delivery and payload integrity, but
|
|
303
|
+
it does not prove PSTN/VoIP caller-number ownership. Treat `allowFrom` as
|
|
304
|
+
caller-ID filtering, not strong caller identity.
|
|
305
|
+
|
|
306
|
+
Auto-responses use the agent system. Tune with:
|
|
307
|
+
|
|
308
|
+
- `responseModel`
|
|
309
|
+
- `responseSystemPrompt`
|
|
310
|
+
- `responseTimeoutMs`
|
|
311
|
+
|
|
312
|
+
### Spoken output contract
|
|
313
|
+
|
|
314
|
+
For auto-responses, Voice Call appends a strict spoken-output contract to the system prompt:
|
|
315
|
+
|
|
316
|
+
- `{"spoken":"..."}`
|
|
317
|
+
|
|
318
|
+
Voice Call then extracts speech text defensively:
|
|
319
|
+
|
|
320
|
+
- Ignores payloads marked as reasoning/error content.
|
|
321
|
+
- Parses direct JSON, fenced JSON, or inline `"spoken"` keys.
|
|
322
|
+
- Falls back to plain text and removes likely planning/meta lead-in paragraphs.
|
|
323
|
+
|
|
324
|
+
This keeps spoken playback focused on caller-facing text and avoids leaking planning text into audio.
|
|
325
|
+
|
|
326
|
+
### Conversation startup behavior
|
|
327
|
+
|
|
328
|
+
For outbound `conversation` calls, first-message handling is tied to live playback state:
|
|
329
|
+
|
|
330
|
+
- Barge-in queue clear and auto-response are suppressed only while the initial greeting is actively speaking.
|
|
331
|
+
- If initial playback fails, the call returns to `listening` and the initial message remains queued for retry.
|
|
332
|
+
- Initial playback for Twilio streaming starts on stream connect without extra delay.
|
|
333
|
+
|
|
334
|
+
### Twilio stream disconnect grace
|
|
335
|
+
|
|
336
|
+
When a Twilio media stream disconnects, Voice Call waits `2000ms` before auto-ending the call:
|
|
337
|
+
|
|
338
|
+
- If the stream reconnects during that window, auto-end is canceled.
|
|
339
|
+
- If no stream is re-registered after the grace period, the call is ended to prevent stuck active calls.
|
|
340
|
+
|
|
341
|
+
## CLI
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
quantumclaw voicecall call --to "+15555550123" --message "Hello from QuantumClaw"
|
|
345
|
+
quantumclaw voicecall start --to "+15555550123" # alias for call
|
|
346
|
+
quantumclaw voicecall continue --call-id <id> --message "Any questions?"
|
|
347
|
+
quantumclaw voicecall speak --call-id <id> --message "One moment"
|
|
348
|
+
quantumclaw voicecall end --call-id <id>
|
|
349
|
+
quantumclaw voicecall status --call-id <id>
|
|
350
|
+
quantumclaw voicecall tail
|
|
351
|
+
quantumclaw voicecall latency # summarize turn latency from logs
|
|
352
|
+
quantumclaw voicecall expose --mode funnel
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
`latency` reads `calls.jsonl` from the default voice-call storage path. Use
|
|
356
|
+
`--file <path>` to point at a different log and `--last <n>` to limit analysis
|
|
357
|
+
to the last N records (default 200). Output includes p50/p90/p99 for turn
|
|
358
|
+
latency and listen-wait times.
|
|
359
|
+
|
|
360
|
+
## Agent tool
|
|
361
|
+
|
|
362
|
+
Tool name: `voice_call`
|
|
363
|
+
|
|
364
|
+
Actions:
|
|
365
|
+
|
|
366
|
+
- `initiate_call` (message, to?, mode?)
|
|
367
|
+
- `continue_call` (callId, message)
|
|
368
|
+
- `speak_to_user` (callId, message)
|
|
369
|
+
- `end_call` (callId)
|
|
370
|
+
- `get_status` (callId)
|
|
371
|
+
|
|
372
|
+
This repo ships a matching skill doc at `skills/voice-call/SKILL.md`.
|
|
373
|
+
|
|
374
|
+
## Gateway RPC
|
|
375
|
+
|
|
376
|
+
- `voicecall.initiate` (`to?`, `message`, `mode?`)
|
|
377
|
+
- `voicecall.continue` (`callId`, `message`)
|
|
378
|
+
- `voicecall.speak` (`callId`, `message`)
|
|
379
|
+
- `voicecall.end` (`callId`)
|
|
380
|
+
- `voicecall.status` (`callId`)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Zalo Personal plugin: QR login + messaging via native zca-js (plugin install + channel config + tool)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want Zalo Personal (unofficial) support in QuantumClaw
|
|
5
|
+
- You are configuring or developing the zalouser plugin
|
|
6
|
+
title: "Zalo Personal Plugin"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Zalo Personal (plugin)
|
|
10
|
+
|
|
11
|
+
Zalo Personal support for QuantumClaw via a plugin, using native `zca-js` to automate a normal Zalo user account.
|
|
12
|
+
|
|
13
|
+
> **Warning:** Unofficial automation may lead to account suspension/ban. Use at your own risk.
|
|
14
|
+
|
|
15
|
+
## Naming
|
|
16
|
+
|
|
17
|
+
Channel id is `zalouser` to make it explicit this automates a **personal Zalo user account** (unofficial). We keep `zalo` reserved for a potential future official Zalo API integration.
|
|
18
|
+
|
|
19
|
+
## Where it runs
|
|
20
|
+
|
|
21
|
+
This plugin runs **inside the Gateway process**.
|
|
22
|
+
|
|
23
|
+
If you use a remote Gateway, install/configure it on the **machine running the Gateway**, then restart the Gateway.
|
|
24
|
+
|
|
25
|
+
No external `zca`/`openzca` CLI binary is required.
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
### Option A: install from npm
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
quantumclaw plugins install @quantumclaw/zalouser
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Restart the Gateway afterwards.
|
|
36
|
+
|
|
37
|
+
### Option B: install from a local folder (dev)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
quantumclaw plugins install ./extensions/zalouser
|
|
41
|
+
cd ./extensions/zalouser && pnpm install
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Restart the Gateway afterwards.
|
|
45
|
+
|
|
46
|
+
## Config
|
|
47
|
+
|
|
48
|
+
Channel config lives under `channels.zalouser` (not `plugins.entries.*`):
|
|
49
|
+
|
|
50
|
+
```json5
|
|
51
|
+
{
|
|
52
|
+
channels: {
|
|
53
|
+
zalouser: {
|
|
54
|
+
enabled: true,
|
|
55
|
+
dmPolicy: "pairing",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## CLI
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
quantumclaw channels login --channel zalouser
|
|
65
|
+
quantumclaw channels logout --channel zalouser
|
|
66
|
+
quantumclaw channels status --probe
|
|
67
|
+
quantumclaw message send --channel zalouser --target <threadId> --message "Hello from QuantumClaw"
|
|
68
|
+
quantumclaw directory peers list --channel zalouser --query "name"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Agent tool
|
|
72
|
+
|
|
73
|
+
Tool name: `zalouser`
|
|
74
|
+
|
|
75
|
+
Actions: `send`, `image`, `link`, `friends`, `groups`, `me`, `status`
|
|
76
|
+
|
|
77
|
+
Channel message actions also support `react` for message reactions.
|
package/docs/prose.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "OpenProse: .prose workflows, slash commands, and state in QuantumClaw"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to run or write .prose workflows
|
|
5
|
+
- You want to enable the OpenProse plugin
|
|
6
|
+
- You need to understand state storage
|
|
7
|
+
title: "OpenProse"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# OpenProse
|
|
11
|
+
|
|
12
|
+
OpenProse is a portable, markdown-first workflow format for orchestrating AI sessions. In QuantumClaw it ships as a plugin that installs an OpenProse skill pack plus a `/prose` slash command. Programs live in `.prose` files and can spawn multiple sub-agents with explicit control flow.
|
|
13
|
+
|
|
14
|
+
Official site: [https://www.prose.md](https://www.prose.md)
|
|
15
|
+
|
|
16
|
+
## What it can do
|
|
17
|
+
|
|
18
|
+
- Multi-agent research + synthesis with explicit parallelism.
|
|
19
|
+
- Repeatable approval-safe workflows (code review, incident triage, content pipelines).
|
|
20
|
+
- Reusable `.prose` programs you can run across supported agent runtimes.
|
|
21
|
+
|
|
22
|
+
## Install + enable
|
|
23
|
+
|
|
24
|
+
Bundled plugins are disabled by default. Enable OpenProse:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
quantumclaw plugins enable open-prose
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Restart the Gateway after enabling the plugin.
|
|
31
|
+
|
|
32
|
+
Dev/local checkout: `quantumclaw plugins install ./extensions/open-prose`
|
|
33
|
+
|
|
34
|
+
Related docs: [Plugins](/tools/plugin), [Plugin manifest](/plugins/manifest), [Skills](/tools/skills).
|
|
35
|
+
|
|
36
|
+
## Slash command
|
|
37
|
+
|
|
38
|
+
OpenProse registers `/prose` as a user-invocable skill command. It routes to the OpenProse VM instructions and uses QuantumClaw tools under the hood.
|
|
39
|
+
|
|
40
|
+
Common commands:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
/prose help
|
|
44
|
+
/prose run <file.prose>
|
|
45
|
+
/prose run <handle/slug>
|
|
46
|
+
/prose run <https://example.com/file.prose>
|
|
47
|
+
/prose compile <file.prose>
|
|
48
|
+
/prose examples
|
|
49
|
+
/prose update
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Example: a simple `.prose` file
|
|
53
|
+
|
|
54
|
+
```prose
|
|
55
|
+
# Research + synthesis with two agents running in parallel.
|
|
56
|
+
|
|
57
|
+
input topic: "What should we research?"
|
|
58
|
+
|
|
59
|
+
agent researcher:
|
|
60
|
+
model: sonnet
|
|
61
|
+
prompt: "You research thoroughly and cite sources."
|
|
62
|
+
|
|
63
|
+
agent writer:
|
|
64
|
+
model: opus
|
|
65
|
+
prompt: "You write a concise summary."
|
|
66
|
+
|
|
67
|
+
parallel:
|
|
68
|
+
findings = session: researcher
|
|
69
|
+
prompt: "Research {topic}."
|
|
70
|
+
draft = session: writer
|
|
71
|
+
prompt: "Summarize {topic}."
|
|
72
|
+
|
|
73
|
+
session "Merge the findings + draft into a final answer."
|
|
74
|
+
context: { findings, draft }
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## File locations
|
|
78
|
+
|
|
79
|
+
OpenProse keeps state under `.prose/` in your workspace:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
.prose/
|
|
83
|
+
├── .env
|
|
84
|
+
├── runs/
|
|
85
|
+
│ └── {YYYYMMDD}-{HHMMSS}-{random}/
|
|
86
|
+
│ ├── program.prose
|
|
87
|
+
│ ├── state.md
|
|
88
|
+
│ ├── bindings/
|
|
89
|
+
│ └── agents/
|
|
90
|
+
└── agents/
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
User-level persistent agents live at:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
~/.prose/agents/
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## State modes
|
|
100
|
+
|
|
101
|
+
OpenProse supports multiple state backends:
|
|
102
|
+
|
|
103
|
+
- **filesystem** (default): `.prose/runs/...`
|
|
104
|
+
- **in-context**: transient, for small programs
|
|
105
|
+
- **sqlite** (experimental): requires `sqlite3` binary
|
|
106
|
+
- **postgres** (experimental): requires `psql` and a connection string
|
|
107
|
+
|
|
108
|
+
Notes:
|
|
109
|
+
|
|
110
|
+
- sqlite/postgres are opt-in and experimental.
|
|
111
|
+
- postgres credentials flow into subagent logs; use a dedicated, least-privileged DB.
|
|
112
|
+
|
|
113
|
+
## Remote programs
|
|
114
|
+
|
|
115
|
+
`/prose run <handle/slug>` resolves to `https://p.prose.md/<handle>/<slug>`.
|
|
116
|
+
Direct URLs are fetched as-is. This uses the `web_fetch` tool (or `exec` for POST).
|
|
117
|
+
|
|
118
|
+
## QuantumClaw runtime mapping
|
|
119
|
+
|
|
120
|
+
OpenProse programs map to QuantumClaw primitives:
|
|
121
|
+
|
|
122
|
+
| OpenProse concept | QuantumClaw tool |
|
|
123
|
+
| ------------------------- | ---------------- |
|
|
124
|
+
| Spawn session / Task tool | `sessions_spawn` |
|
|
125
|
+
| File read/write | `read` / `write` |
|
|
126
|
+
| Web fetch | `web_fetch` |
|
|
127
|
+
|
|
128
|
+
If your tool allowlist blocks these tools, OpenProse programs will fail. See [Skills config](/tools/skills-config).
|
|
129
|
+
|
|
130
|
+
## Security + approvals
|
|
131
|
+
|
|
132
|
+
Treat `.prose` files like code. Review before running. Use QuantumClaw tool allowlists and approval gates to control side effects.
|
|
133
|
+
|
|
134
|
+
For deterministic, approval-gated workflows, compare with [Lobster](/tools/lobster).
|