durar-ai 2026.4.4
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 +5497 -0
- package/LICENSE +21 -0
- package/README.md +614 -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 +72 -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 +5 -0
- package/docs/.i18n/glossary.de.json +5 -0
- package/docs/.i18n/glossary.es.json +5 -0
- package/docs/.i18n/glossary.fr.json +5 -0
- package/docs/.i18n/glossary.id.json +5 -0
- package/docs/.i18n/glossary.it.json +5 -0
- package/docs/.i18n/glossary.ja-JP.json +14 -0
- package/docs/.i18n/glossary.ko.json +5 -0
- package/docs/.i18n/glossary.pl.json +5 -0
- package/docs/.i18n/glossary.pt-BR.json +5 -0
- package/docs/.i18n/glossary.tr.json +5 -0
- package/docs/.i18n/glossary.zh-CN.json +358 -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/zh-Hans-navigation.json +544 -0
- package/docs/assets/install-script.svg +1 -0
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text-dark.svg +418 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/openclaw-logo-text.svg +418 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith-light.svg +14 -0
- package/docs/assets/sponsors/blacksmith.svg +14 -0
- package/docs/assets/sponsors/convex-light.svg +16 -0
- package/docs/assets/sponsors/convex.svg +16 -0
- package/docs/assets/sponsors/github-light.svg +3 -0
- package/docs/assets/sponsors/github.svg +3 -0
- package/docs/assets/sponsors/nvidia-dark.svg +9 -0
- package/docs/assets/sponsors/nvidia.svg +9 -0
- package/docs/assets/sponsors/openai-light.svg +3 -0
- package/docs/assets/sponsors/openai.svg +3 -0
- package/docs/assets/sponsors/vercel-light.svg +5 -0
- package/docs/assets/sponsors/vercel.svg +5 -0
- package/docs/auth-credential-semantics.md +80 -0
- package/docs/automation/auth-monitoring.md +8 -0
- package/docs/automation/clawflow.md +8 -0
- package/docs/automation/cron-jobs.md +410 -0
- package/docs/automation/cron-vs-heartbeat.md +8 -0
- package/docs/automation/gmail-pubsub.md +8 -0
- package/docs/automation/hooks.md +303 -0
- package/docs/automation/index.md +115 -0
- package/docs/automation/poll.md +8 -0
- package/docs/automation/standing-orders.md +254 -0
- package/docs/automation/taskflow.md +82 -0
- package/docs/automation/tasks.md +323 -0
- package/docs/automation/troubleshooting.md +8 -0
- package/docs/automation/webhook.md +8 -0
- package/docs/brave-search.md +103 -0
- package/docs/channels/bluebubbles.md +435 -0
- package/docs/channels/broadcast-groups.md +442 -0
- package/docs/channels/channel-routing.md +139 -0
- package/docs/channels/discord.md +1254 -0
- package/docs/channels/feishu.md +793 -0
- package/docs/channels/googlechat.md +270 -0
- package/docs/channels/group-messages.md +84 -0
- package/docs/channels/groups.md +410 -0
- package/docs/channels/imessage.md +427 -0
- package/docs/channels/index.md +50 -0
- package/docs/channels/irc.md +252 -0
- package/docs/channels/line.md +225 -0
- package/docs/channels/location.md +56 -0
- package/docs/channels/matrix.md +869 -0
- package/docs/channels/mattermost.md +472 -0
- package/docs/channels/msteams.md +805 -0
- package/docs/channels/nextcloud-talk.md +149 -0
- package/docs/channels/nostr.md +252 -0
- package/docs/channels/pairing.md +129 -0
- package/docs/channels/qqbot.md +193 -0
- package/docs/channels/signal.md +337 -0
- package/docs/channels/slack.md +681 -0
- package/docs/channels/synology-chat.md +185 -0
- package/docs/channels/telegram.md +1072 -0
- package/docs/channels/tlon.md +290 -0
- package/docs/channels/troubleshooting.md +133 -0
- package/docs/channels/twitch.md +394 -0
- package/docs/channels/whatsapp.md +488 -0
- package/docs/channels/zalo.md +254 -0
- package/docs/channels/zalouser.md +195 -0
- package/docs/ci.md +66 -0
- package/docs/cli/acp.md +316 -0
- package/docs/cli/agent.md +57 -0
- package/docs/cli/agents.md +220 -0
- package/docs/cli/approvals.md +136 -0
- package/docs/cli/backup.md +84 -0
- package/docs/cli/browser.md +233 -0
- package/docs/cli/channels.md +131 -0
- package/docs/cli/clawbot.md +21 -0
- package/docs/cli/completion.md +35 -0
- package/docs/cli/config.md +353 -0
- package/docs/cli/configure.md +70 -0
- package/docs/cli/cron.md +167 -0
- package/docs/cli/daemon.md +57 -0
- package/docs/cli/dashboard.md +22 -0
- package/docs/cli/devices.md +171 -0
- package/docs/cli/directory.md +63 -0
- package/docs/cli/dns.md +48 -0
- package/docs/cli/docs.md +28 -0
- package/docs/cli/doctor.md +63 -0
- package/docs/cli/flows.md +18 -0
- package/docs/cli/gateway.md +307 -0
- package/docs/cli/health.md +36 -0
- package/docs/cli/hooks.md +337 -0
- package/docs/cli/index.md +1836 -0
- package/docs/cli/logs.md +59 -0
- package/docs/cli/mcp.md +505 -0
- package/docs/cli/memory.md +139 -0
- package/docs/cli/message.md +300 -0
- package/docs/cli/models.md +136 -0
- package/docs/cli/node.md +137 -0
- package/docs/cli/nodes.md +66 -0
- package/docs/cli/onboard.md +171 -0
- package/docs/cli/pairing.md +65 -0
- package/docs/cli/plugins.md +305 -0
- package/docs/cli/qr.md +52 -0
- package/docs/cli/reset.md +35 -0
- package/docs/cli/sandbox.md +197 -0
- package/docs/cli/secrets.md +197 -0
- package/docs/cli/security.md +86 -0
- package/docs/cli/sessions.md +113 -0
- package/docs/cli/setup.md +45 -0
- package/docs/cli/skills.md +59 -0
- package/docs/cli/status.md +35 -0
- package/docs/cli/system.md +71 -0
- package/docs/cli/tui.md +30 -0
- package/docs/cli/uninstall.md +39 -0
- package/docs/cli/update.md +113 -0
- package/docs/cli/voicecall.md +34 -0
- package/docs/cli/webhooks.md +91 -0
- package/docs/concepts/agent-loop.md +168 -0
- package/docs/concepts/agent-workspace.md +246 -0
- package/docs/concepts/agent.md +129 -0
- package/docs/concepts/architecture.md +156 -0
- package/docs/concepts/compaction.md +122 -0
- package/docs/concepts/context-engine.md +274 -0
- package/docs/concepts/context.md +179 -0
- package/docs/concepts/delegate-architecture.md +307 -0
- package/docs/concepts/dreaming.md +173 -0
- package/docs/concepts/features.md +76 -0
- package/docs/concepts/markdown-formatting.md +130 -0
- package/docs/concepts/memory-builtin.md +105 -0
- package/docs/concepts/memory-honcho.md +140 -0
- package/docs/concepts/memory-qmd.md +163 -0
- package/docs/concepts/memory-search.md +141 -0
- package/docs/concepts/memory.md +121 -0
- package/docs/concepts/messages.md +161 -0
- package/docs/concepts/model-failover.md +349 -0
- package/docs/concepts/model-providers.md +799 -0
- package/docs/concepts/models.md +255 -0
- package/docs/concepts/multi-agent.md +615 -0
- package/docs/concepts/oauth.md +225 -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 +92 -0
- package/docs/concepts/session-tool.md +141 -0
- package/docs/concepts/session.md +116 -0
- package/docs/concepts/soul.md +110 -0
- package/docs/concepts/streaming.md +161 -0
- package/docs/concepts/system-prompt.md +182 -0
- package/docs/concepts/timezone.md +97 -0
- package/docs/concepts/typebox.md +307 -0
- package/docs/concepts/typing-indicators.md +69 -0
- package/docs/concepts/usage-tracking.md +59 -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 +1601 -0
- package/docs/gateway/authentication.md +218 -0
- package/docs/gateway/background-process.md +131 -0
- package/docs/gateway/bonjour.md +179 -0
- package/docs/gateway/bridge-protocol.md +89 -0
- package/docs/gateway/cli-backends.md +310 -0
- package/docs/gateway/configuration-examples.md +631 -0
- package/docs/gateway/configuration-reference.md +3618 -0
- package/docs/gateway/configuration.md +698 -0
- package/docs/gateway/discovery.md +141 -0
- package/docs/gateway/doctor.md +494 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +61 -0
- package/docs/gateway/heartbeat.md +443 -0
- package/docs/gateway/index.md +367 -0
- package/docs/gateway/local-models.md +163 -0
- package/docs/gateway/logging.md +113 -0
- package/docs/gateway/multiple-gateways.md +120 -0
- package/docs/gateway/network-model.md +25 -0
- package/docs/gateway/openai-http-api.md +280 -0
- package/docs/gateway/openresponses-http-api.md +340 -0
- package/docs/gateway/openshell.md +307 -0
- package/docs/gateway/pairing.md +138 -0
- package/docs/gateway/protocol.md +588 -0
- package/docs/gateway/remote-gateway-readme.md +164 -0
- package/docs/gateway/remote.md +251 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +141 -0
- package/docs/gateway/sandboxing.md +473 -0
- package/docs/gateway/secrets-plan-contract.md +116 -0
- package/docs/gateway/secrets.md +541 -0
- package/docs/gateway/security/index.md +1362 -0
- package/docs/gateway/tailscale.md +136 -0
- package/docs/gateway/tools-invoke-http-api.md +161 -0
- package/docs/gateway/troubleshooting.md +451 -0
- package/docs/gateway/trusted-proxy-auth.md +399 -0
- package/docs/help/debugging.md +168 -0
- package/docs/help/environment.md +165 -0
- package/docs/help/faq.md +3244 -0
- package/docs/help/index.md +28 -0
- package/docs/help/scripts.md +27 -0
- package/docs/help/testing.md +640 -0
- package/docs/help/troubleshooting.md +372 -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/clawdock.md +106 -0
- package/docs/install/development-channels.md +131 -0
- package/docs/install/digitalocean.md +129 -0
- package/docs/install/docker-vm-runtime.md +142 -0
- package/docs/install/docker.md +412 -0
- package/docs/install/exe-dev.md +133 -0
- package/docs/install/fly.md +504 -0
- package/docs/install/gcp.md +412 -0
- package/docs/install/hetzner.md +259 -0
- package/docs/install/index.md +212 -0
- package/docs/install/installer.md +443 -0
- package/docs/install/kubernetes.md +192 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-matrix.md +349 -0
- package/docs/install/migrating.md +112 -0
- package/docs/install/nix.md +89 -0
- package/docs/install/node.md +144 -0
- package/docs/install/northflank.mdx +42 -0
- package/docs/install/oracle.md +158 -0
- package/docs/install/podman.md +210 -0
- package/docs/install/railway.mdx +90 -0
- package/docs/install/raspberry-pi.md +159 -0
- package/docs/install/render.mdx +165 -0
- package/docs/install/uninstall.md +128 -0
- package/docs/install/updating.md +142 -0
- package/docs/logging.md +389 -0
- package/docs/nav-tabs-underline.js +100 -0
- package/docs/network.md +69 -0
- package/docs/nodes/audio.md +191 -0
- package/docs/nodes/camera.md +162 -0
- package/docs/nodes/images.md +73 -0
- package/docs/nodes/index.md +408 -0
- package/docs/nodes/location-command.md +98 -0
- package/docs/nodes/media-understanding.md +432 -0
- package/docs/nodes/talk.md +92 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +66 -0
- package/docs/perplexity.md +181 -0
- package/docs/pi-dev.md +80 -0
- package/docs/pi.md +570 -0
- package/docs/platforms/android.md +244 -0
- package/docs/platforms/digitalocean.md +266 -0
- package/docs/platforms/index.md +55 -0
- package/docs/platforms/ios.md +223 -0
- package/docs/platforms/linux.md +100 -0
- package/docs/platforms/mac/bundled-gateway.md +75 -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 +107 -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 +40 -0
- package/docs/platforms/mac/voice-overlay.md +60 -0
- package/docs/platforms/mac/voicewake.md +67 -0
- package/docs/platforms/mac/webchat.md +51 -0
- package/docs/platforms/mac/xpc.md +61 -0
- package/docs/platforms/macos.md +229 -0
- package/docs/platforms/oracle.md +305 -0
- package/docs/platforms/raspberry-pi.md +420 -0
- package/docs/platforms/windows.md +241 -0
- package/docs/plugins/agent-tools.md +10 -0
- package/docs/plugins/architecture.md +1609 -0
- package/docs/plugins/building-extensions.md +10 -0
- package/docs/plugins/building-plugins.md +319 -0
- package/docs/plugins/bundles.md +292 -0
- package/docs/plugins/community.md +149 -0
- package/docs/plugins/manifest.md +412 -0
- package/docs/plugins/sdk-channel-plugins.md +508 -0
- package/docs/plugins/sdk-entrypoints.md +210 -0
- package/docs/plugins/sdk-migration.md +359 -0
- package/docs/plugins/sdk-overview.md +475 -0
- package/docs/plugins/sdk-provider-plugins.md +712 -0
- package/docs/plugins/sdk-runtime.md +381 -0
- package/docs/plugins/sdk-setup.md +516 -0
- package/docs/plugins/sdk-testing.md +263 -0
- package/docs/plugins/voice-call.md +466 -0
- package/docs/plugins/zalouser.md +78 -0
- package/docs/prose.md +134 -0
- package/docs/providers/anthropic.md +402 -0
- package/docs/providers/bedrock-mantle.md +91 -0
- package/docs/providers/bedrock.md +273 -0
- package/docs/providers/chutes.md +103 -0
- package/docs/providers/claude-max-api-proxy.md +163 -0
- package/docs/providers/cloudflare-ai-gateway.md +71 -0
- package/docs/providers/deepgram.md +93 -0
- package/docs/providers/deepseek.md +53 -0
- package/docs/providers/fireworks.md +69 -0
- package/docs/providers/github-copilot.md +80 -0
- package/docs/providers/glm.md +68 -0
- package/docs/providers/google.md +149 -0
- package/docs/providers/groq.md +105 -0
- package/docs/providers/huggingface.md +193 -0
- package/docs/providers/index.md +81 -0
- package/docs/providers/kilocode.md +89 -0
- package/docs/providers/litellm.md +159 -0
- package/docs/providers/minimax.md +281 -0
- package/docs/providers/mistral.md +68 -0
- package/docs/providers/models.md +56 -0
- package/docs/providers/moonshot.md +224 -0
- package/docs/providers/nvidia.md +58 -0
- package/docs/providers/ollama.md +379 -0
- package/docs/providers/openai.md +472 -0
- package/docs/providers/opencode-go.md +45 -0
- package/docs/providers/opencode.md +68 -0
- package/docs/providers/openrouter.md +59 -0
- package/docs/providers/perplexity-provider.md +62 -0
- package/docs/providers/qianfan.md +90 -0
- package/docs/providers/qwen.md +128 -0
- package/docs/providers/qwen_modelstudio.md +137 -0
- package/docs/providers/sglang.md +115 -0
- package/docs/providers/stepfun.md +152 -0
- package/docs/providers/synthetic.md +101 -0
- package/docs/providers/together.md +70 -0
- package/docs/providers/venice.md +282 -0
- package/docs/providers/vercel-ai-gateway.md +60 -0
- package/docs/providers/vllm.md +103 -0
- package/docs/providers/volcengine.md +94 -0
- package/docs/providers/xai.md +94 -0
- package/docs/providers/xiaomi.md +89 -0
- package/docs/providers/zai.md +75 -0
- package/docs/reference/AGENTS.default.md +126 -0
- package/docs/reference/RELEASING.md +138 -0
- package/docs/reference/api-usage-costs.md +198 -0
- package/docs/reference/credits.md +30 -0
- package/docs/reference/device-models.md +47 -0
- package/docs/reference/memory-config.md +421 -0
- package/docs/reference/prompt-caching.md +344 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secretref-credential-surface.md +148 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +607 -0
- package/docs/reference/session-management-compaction.md +352 -0
- package/docs/reference/templates/AGENTS.dev.md +84 -0
- package/docs/reference/templates/AGENTS.md +219 -0
- package/docs/reference/templates/BOOT.md +12 -0
- package/docs/reference/templates/BOOTSTRAP.md +62 -0
- package/docs/reference/templates/CLAUDE.md +1 -0
- package/docs/reference/templates/HEARTBEAT.md +14 -0
- package/docs/reference/templates/IDENTITY.dev.md +48 -0
- package/docs/reference/templates/IDENTITY.md +30 -0
- package/docs/reference/templates/SOUL.dev.md +77 -0
- package/docs/reference/templates/SOUL.md +45 -0
- package/docs/reference/templates/TOOLS.dev.md +25 -0
- package/docs/reference/templates/TOOLS.md +47 -0
- package/docs/reference/templates/USER.dev.md +19 -0
- package/docs/reference/templates/USER.md +24 -0
- package/docs/reference/test.md +119 -0
- package/docs/reference/token-use.md +197 -0
- package/docs/reference/transcript-hygiene.md +151 -0
- package/docs/reference/wizard.md +245 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +608 -0
- package/docs/security/formal-verification.md +167 -0
- package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +9 -0
- package/docs/snippets/plugin-publish/minimal-package.json +16 -0
- package/docs/start/bootstrapping.md +41 -0
- package/docs/start/docs-directory.md +67 -0
- package/docs/start/getting-started.md +148 -0
- package/docs/start/hubs.md +199 -0
- package/docs/start/lore.md +219 -0
- package/docs/start/onboarding-overview.md +69 -0
- package/docs/start/onboarding.md +92 -0
- package/docs/start/openclaw.md +225 -0
- package/docs/start/quickstart.md +22 -0
- package/docs/start/setup.md +172 -0
- package/docs/start/showcase.md +418 -0
- package/docs/start/wizard-cli-automation.md +233 -0
- package/docs/start/wizard-cli-reference.md +324 -0
- package/docs/start/wizard.md +127 -0
- package/docs/style.css +37 -0
- package/docs/tools/acp-agents.md +837 -0
- package/docs/tools/agent-send.md +100 -0
- package/docs/tools/apply-patch.md +52 -0
- package/docs/tools/brave-search.md +107 -0
- package/docs/tools/browser-linux-troubleshooting.md +145 -0
- package/docs/tools/browser-login.md +73 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +221 -0
- package/docs/tools/browser.md +890 -0
- package/docs/tools/btw.md +142 -0
- package/docs/tools/capability-cookbook.md +119 -0
- package/docs/tools/clawhub.md +348 -0
- package/docs/tools/code-execution.md +90 -0
- package/docs/tools/creating-skills.md +119 -0
- package/docs/tools/diffs.md +434 -0
- package/docs/tools/duckduckgo-search.md +102 -0
- package/docs/tools/elevated.md +116 -0
- package/docs/tools/exa-search.md +127 -0
- package/docs/tools/exec-approvals.md +635 -0
- package/docs/tools/exec.md +237 -0
- package/docs/tools/firecrawl.md +147 -0
- package/docs/tools/gemini-search.md +98 -0
- package/docs/tools/grok-search.md +102 -0
- package/docs/tools/image-generation.md +139 -0
- package/docs/tools/index.md +174 -0
- package/docs/tools/kimi-search.md +98 -0
- package/docs/tools/llm-task.md +119 -0
- package/docs/tools/lobster.md +348 -0
- package/docs/tools/loop-detection.md +100 -0
- package/docs/tools/minimax-search.md +99 -0
- package/docs/tools/multi-agent-sandbox-tools.md +373 -0
- package/docs/tools/ollama-search.md +100 -0
- package/docs/tools/pdf.md +176 -0
- package/docs/tools/perplexity-search.md +185 -0
- package/docs/tools/plugin.md +348 -0
- package/docs/tools/reactions.md +78 -0
- package/docs/tools/searxng-search.md +132 -0
- package/docs/tools/skills-config.md +133 -0
- package/docs/tools/skills.md +377 -0
- package/docs/tools/slash-commands.md +322 -0
- package/docs/tools/subagents.md +341 -0
- package/docs/tools/tavily.md +129 -0
- package/docs/tools/thinking.md +102 -0
- package/docs/tools/tts.md +452 -0
- package/docs/tools/web-fetch.md +159 -0
- package/docs/tools/web.md +417 -0
- package/docs/tts.md +452 -0
- package/docs/vps.md +115 -0
- package/docs/web/control-ui.md +318 -0
- package/docs/web/dashboard.md +93 -0
- package/docs/web/index.md +126 -0
- package/docs/web/tui.md +176 -0
- package/docs/web/webchat.md +77 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/durar.mjs +180 -0
- package/package.json +1259 -0
- package/scripts/npm-runner.mjs +111 -0
- package/scripts/postinstall-bundled-plugins.mjs +188 -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 +199 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +316 -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 +885 -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-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +62 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +88 -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 +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 +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/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 +170 -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 +129 -0
- package/skills/xurl/SKILL.md +461 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar skills` (search/install/update/list/info/check)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to see which skills are available and ready to run
|
|
5
|
+
- You want to search, install, or update skills from Durar Gateway
|
|
6
|
+
- You want to debug missing binaries/env/config for skills
|
|
7
|
+
title: "skills"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# `Durar skills`
|
|
11
|
+
|
|
12
|
+
Inspect local skills and install/update skills from Durar Gateway.
|
|
13
|
+
|
|
14
|
+
Related:
|
|
15
|
+
|
|
16
|
+
- Skills system: [Skills](/tools/skills)
|
|
17
|
+
- Skills config: [Skills config](/tools/skills-config)
|
|
18
|
+
- Durar Gateway installs: [Durar Gateway](/tools/Durar Gateway)
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
Durar skills search "calendar"
|
|
24
|
+
Durar skills search --limit 20 --json
|
|
25
|
+
Durar skills install <slug>
|
|
26
|
+
Durar skills install <slug> --version <version>
|
|
27
|
+
Durar skills install <slug> --force
|
|
28
|
+
Durar skills update <slug>
|
|
29
|
+
Durar skills update --all
|
|
30
|
+
Durar skills list
|
|
31
|
+
Durar skills list --eligible
|
|
32
|
+
Durar skills list --json
|
|
33
|
+
Durar skills list --verbose
|
|
34
|
+
Durar skills info <name>
|
|
35
|
+
Durar skills info <name> --json
|
|
36
|
+
Durar skills check
|
|
37
|
+
Durar skills check --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`search`/`install`/`update` use Durar Gateway directly and install into the active
|
|
41
|
+
workspace `skills/` directory. `list`/`info`/`check` still inspect the local
|
|
42
|
+
skills visible to the current workspace and config.
|
|
43
|
+
|
|
44
|
+
This CLI `install` command downloads skill folders from Durar Gateway. Gateway-backed
|
|
45
|
+
skill dependency installs triggered from onboarding or Skills settings use the
|
|
46
|
+
separate `skills.install` request path instead.
|
|
47
|
+
|
|
48
|
+
Notes:
|
|
49
|
+
|
|
50
|
+
- `search [query...]` accepts an optional query; omit it to browse the default
|
|
51
|
+
Durar Gateway search feed.
|
|
52
|
+
- `search --limit <n>` caps returned results.
|
|
53
|
+
- `install --force` overwrites an existing workspace skill folder for the same
|
|
54
|
+
slug.
|
|
55
|
+
- `update --all` only updates tracked Durar Gateway installs in the active workspace.
|
|
56
|
+
- `list` is the default action when no subcommand is provided.
|
|
57
|
+
- `list`, `info`, and `check` write their rendered output to stdout. With
|
|
58
|
+
`--json`, that means the machine-readable payload stays on stdout for pipes
|
|
59
|
+
and scripts.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar status` (diagnostics, probes, usage snapshots)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want a quick diagnosis of channel health + recent session recipients
|
|
5
|
+
- You want a pasteable “all” status for debugging
|
|
6
|
+
title: "status"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar status`
|
|
10
|
+
|
|
11
|
+
Diagnostics for channels + sessions.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
Durar status
|
|
15
|
+
Durar status --all
|
|
16
|
+
Durar status --deep
|
|
17
|
+
Durar status --usage
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Notes:
|
|
21
|
+
|
|
22
|
+
- `--deep` runs live probes (WhatsApp Web + Telegram + Discord + Slack + Signal).
|
|
23
|
+
- `--usage` prints normalized provider usage windows as `X% left`.
|
|
24
|
+
- MiniMax's raw `usage_percent` / `usagePercent` fields are remaining quota, so Durar inverts them before display; count-based fields win when present. `model_remains` responses prefer the chat-model entry, derive the window label from timestamps when needed, and include the model name in the plan label.
|
|
25
|
+
- When the current session snapshot is sparse, `/status` can backfill token and cache counters from the most recent transcript usage log. Existing nonzero live values still win over transcript fallback values.
|
|
26
|
+
- Transcript fallback can also recover the active runtime model label when the live session entry is missing it. If that transcript model differs from the selected model, status resolves the context window against the recovered runtime model instead of the selected one.
|
|
27
|
+
- For prompt-size accounting, transcript fallback prefers the larger prompt-oriented total when session metadata is missing or smaller, so custom-provider sessions do not collapse to `0` token displays.
|
|
28
|
+
- Output includes per-agent session stores when multiple agents are configured.
|
|
29
|
+
- Overview includes Gateway + node host service install/runtime status when available.
|
|
30
|
+
- Overview includes update channel + git SHA (for source checkouts).
|
|
31
|
+
- Update info surfaces in the Overview; if an update is available, status prints a hint to run `Durar update` (see [Updating](/install/updating)).
|
|
32
|
+
- Read-only status surfaces (`status`, `status --json`, `status --all`) resolve supported SecretRefs for their targeted config paths when possible.
|
|
33
|
+
- If a supported channel SecretRef is configured but unavailable in the current command path, status stays read-only and reports degraded output instead of crashing. Human output shows warnings such as “configured token unavailable in this command path”, and JSON output includes `secretDiagnostics`.
|
|
34
|
+
- When command-local SecretRef resolution succeeds, status prefers the resolved snapshot and clears transient “secret unavailable” channel markers from the final output.
|
|
35
|
+
- `status --all` includes a Secrets overview row and a diagnosis section that summarizes secret diagnostics (truncated for readability) without stopping report generation.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar system` (system events, heartbeat, presence)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to enqueue a system event without creating a cron job
|
|
5
|
+
- You need to enable or disable heartbeats
|
|
6
|
+
- You want to inspect system presence entries
|
|
7
|
+
title: "system"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# `Durar system`
|
|
11
|
+
|
|
12
|
+
System-level helpers for the Gateway: enqueue system events, control heartbeats,
|
|
13
|
+
and view presence.
|
|
14
|
+
|
|
15
|
+
All `system` subcommands use Gateway RPC and accept the shared client flags:
|
|
16
|
+
|
|
17
|
+
- `--url <url>`
|
|
18
|
+
- `--token <token>`
|
|
19
|
+
- `--timeout <ms>`
|
|
20
|
+
- `--expect-final`
|
|
21
|
+
|
|
22
|
+
## Common commands
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
Durar system event --text "Check for urgent follow-ups" --mode now
|
|
26
|
+
Durar system event --text "Check for urgent follow-ups" --url ws://127.0.0.1:18789 --token "$Durar_GATEWAY_TOKEN"
|
|
27
|
+
Durar system heartbeat enable
|
|
28
|
+
Durar system heartbeat last
|
|
29
|
+
Durar system presence
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## `system event`
|
|
33
|
+
|
|
34
|
+
Enqueue a system event on the **main** session. The next heartbeat will inject
|
|
35
|
+
it as a `System:` line in the prompt. Use `--mode now` to trigger the heartbeat
|
|
36
|
+
immediately; `next-heartbeat` waits for the next scheduled tick.
|
|
37
|
+
|
|
38
|
+
Flags:
|
|
39
|
+
|
|
40
|
+
- `--text <text>`: required system event text.
|
|
41
|
+
- `--mode <mode>`: `now` or `next-heartbeat` (default).
|
|
42
|
+
- `--json`: machine-readable output.
|
|
43
|
+
- `--url`, `--token`, `--timeout`, `--expect-final`: shared Gateway RPC flags.
|
|
44
|
+
|
|
45
|
+
## `system heartbeat last|enable|disable`
|
|
46
|
+
|
|
47
|
+
Heartbeat controls:
|
|
48
|
+
|
|
49
|
+
- `last`: show the last heartbeat event.
|
|
50
|
+
- `enable`: turn heartbeats back on (use this if they were disabled).
|
|
51
|
+
- `disable`: pause heartbeats.
|
|
52
|
+
|
|
53
|
+
Flags:
|
|
54
|
+
|
|
55
|
+
- `--json`: machine-readable output.
|
|
56
|
+
- `--url`, `--token`, `--timeout`, `--expect-final`: shared Gateway RPC flags.
|
|
57
|
+
|
|
58
|
+
## `system presence`
|
|
59
|
+
|
|
60
|
+
List the current system presence entries the Gateway knows about (nodes,
|
|
61
|
+
instances, and similar status lines).
|
|
62
|
+
|
|
63
|
+
Flags:
|
|
64
|
+
|
|
65
|
+
- `--json`: machine-readable output.
|
|
66
|
+
- `--url`, `--token`, `--timeout`, `--expect-final`: shared Gateway RPC flags.
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
- Requires a running Gateway reachable by your current config (local or remote).
|
|
71
|
+
- System events are ephemeral and not persisted across restarts.
|
package/docs/cli/tui.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar tui` (terminal UI connected to the Gateway)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want a terminal UI for the Gateway (remote-friendly)
|
|
5
|
+
- You want to pass url/token/session from scripts
|
|
6
|
+
title: "tui"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar tui`
|
|
10
|
+
|
|
11
|
+
Open the terminal UI connected to the Gateway.
|
|
12
|
+
|
|
13
|
+
Related:
|
|
14
|
+
|
|
15
|
+
- TUI guide: [TUI](/web/tui)
|
|
16
|
+
|
|
17
|
+
Notes:
|
|
18
|
+
|
|
19
|
+
- `tui` resolves configured gateway auth SecretRefs for token/password auth when possible (`env`/`file`/`exec` providers).
|
|
20
|
+
- When launched from inside a configured agent workspace directory, TUI auto-selects that agent for the session key default (unless `--session` is explicitly `agent:<id>:...`).
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
Durar tui
|
|
26
|
+
Durar tui --url ws://127.0.0.1:18789 --token <token>
|
|
27
|
+
Durar tui --session main --deliver
|
|
28
|
+
# when run inside an agent workspace, infers that agent automatically
|
|
29
|
+
Durar tui --session bugfix
|
|
30
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar uninstall` (remove gateway service + local data)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to remove the gateway service and/or local state
|
|
5
|
+
- You want a dry-run first
|
|
6
|
+
title: "uninstall"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar uninstall`
|
|
10
|
+
|
|
11
|
+
Uninstall the gateway service + local data (CLI remains).
|
|
12
|
+
|
|
13
|
+
Options:
|
|
14
|
+
|
|
15
|
+
- `--service`: remove the gateway service
|
|
16
|
+
- `--state`: remove state and config
|
|
17
|
+
- `--workspace`: remove workspace directories
|
|
18
|
+
- `--app`: remove the macOS app
|
|
19
|
+
- `--all`: remove service, state, workspace, and app
|
|
20
|
+
- `--yes`: skip confirmation prompts
|
|
21
|
+
- `--non-interactive`: disable prompts; requires `--yes`
|
|
22
|
+
- `--dry-run`: print actions without removing files
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
Durar backup create
|
|
28
|
+
Durar uninstall
|
|
29
|
+
Durar uninstall --service --yes --non-interactive
|
|
30
|
+
Durar uninstall --state --workspace --yes --non-interactive
|
|
31
|
+
Durar uninstall --all --yes
|
|
32
|
+
Durar uninstall --dry-run
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Notes:
|
|
36
|
+
|
|
37
|
+
- Run `Durar backup create` first if you want a restorable snapshot before removing state or workspaces.
|
|
38
|
+
- `--all` is shorthand for removing service, state, workspace, and app together.
|
|
39
|
+
- `--non-interactive` requires `--yes`.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar update` (safe-ish source update + gateway auto-restart)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to update a source checkout safely
|
|
5
|
+
- You need to understand `--update` shorthand behavior
|
|
6
|
+
title: "update"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar update`
|
|
10
|
+
|
|
11
|
+
Safely update Durar and switch between stable/beta/dev channels.
|
|
12
|
+
|
|
13
|
+
If you installed via **npm/pnpm/bun** (global install, no git metadata),
|
|
14
|
+
updates happen via the package-manager flow in [Updating](/install/updating).
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
Durar update
|
|
20
|
+
Durar update status
|
|
21
|
+
Durar update wizard
|
|
22
|
+
Durar update --channel beta
|
|
23
|
+
Durar update --channel dev
|
|
24
|
+
Durar update --tag beta
|
|
25
|
+
Durar update --tag main
|
|
26
|
+
Durar update --dry-run
|
|
27
|
+
Durar update --no-restart
|
|
28
|
+
Durar update --yes
|
|
29
|
+
Durar update --json
|
|
30
|
+
Durar --update
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Options
|
|
34
|
+
|
|
35
|
+
- `--no-restart`: skip restarting the Gateway service after a successful update.
|
|
36
|
+
- `--channel <stable|beta|dev>`: set the update channel (git + npm; persisted in config).
|
|
37
|
+
- `--tag <dist-tag|version|spec>`: override the package target for this update only. For package installs, `main` maps to `github:Durar/Durar#main`.
|
|
38
|
+
- `--dry-run`: preview planned update actions (channel/tag/target/restart flow) without writing config, installing, syncing plugins, or restarting.
|
|
39
|
+
- `--json`: print machine-readable `UpdateRunResult` JSON.
|
|
40
|
+
- `--timeout <seconds>`: per-step timeout (default is 1200s).
|
|
41
|
+
- `--yes`: skip confirmation prompts (for example downgrade confirmation)
|
|
42
|
+
|
|
43
|
+
Note: downgrades require confirmation because older versions can break configuration.
|
|
44
|
+
|
|
45
|
+
## `update status`
|
|
46
|
+
|
|
47
|
+
Show the active update channel + git tag/branch/SHA (for source checkouts), plus update availability.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
Durar update status
|
|
51
|
+
Durar update status --json
|
|
52
|
+
Durar update status --timeout 10
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Options:
|
|
56
|
+
|
|
57
|
+
- `--json`: print machine-readable status JSON.
|
|
58
|
+
- `--timeout <seconds>`: timeout for checks (default is 3s).
|
|
59
|
+
|
|
60
|
+
## `update wizard`
|
|
61
|
+
|
|
62
|
+
Interactive flow to pick an update channel and confirm whether to restart the Gateway
|
|
63
|
+
after updating (default is to restart). If you select `dev` without a git checkout, it
|
|
64
|
+
offers to create one.
|
|
65
|
+
|
|
66
|
+
Options:
|
|
67
|
+
|
|
68
|
+
- `--timeout <seconds>`: timeout for each update step (default `1200`)
|
|
69
|
+
|
|
70
|
+
## What it does
|
|
71
|
+
|
|
72
|
+
When you switch channels explicitly (`--channel ...`), Durar also keeps the
|
|
73
|
+
install method aligned:
|
|
74
|
+
|
|
75
|
+
- `dev` → ensures a git checkout (default: `~/Durar`, override with `Durar_GIT_DIR`),
|
|
76
|
+
updates it, and installs the global CLI from that checkout.
|
|
77
|
+
- `stable` → installs from npm using `latest`.
|
|
78
|
+
- `beta` → prefers npm dist-tag `beta`, but falls back to `latest` when beta is
|
|
79
|
+
missing or older than the current stable release.
|
|
80
|
+
|
|
81
|
+
The Gateway core auto-updater (when enabled via config) reuses this same update path.
|
|
82
|
+
|
|
83
|
+
## Git checkout flow
|
|
84
|
+
|
|
85
|
+
Channels:
|
|
86
|
+
|
|
87
|
+
- `stable`: checkout the latest non-beta tag, then build + doctor.
|
|
88
|
+
- `beta`: prefer the latest `-beta` tag, but fall back to the latest stable tag
|
|
89
|
+
when beta is missing or older.
|
|
90
|
+
- `dev`: checkout `main`, then fetch + rebase.
|
|
91
|
+
|
|
92
|
+
High-level:
|
|
93
|
+
|
|
94
|
+
1. Requires a clean worktree (no uncommitted changes).
|
|
95
|
+
2. Switches to the selected channel (tag or branch).
|
|
96
|
+
3. Fetches upstream (dev only).
|
|
97
|
+
4. Dev only: preflight lint + TypeScript build in a temp worktree; if the tip fails, walks back up to 10 commits to find the newest clean build.
|
|
98
|
+
5. Rebases onto the selected commit (dev only).
|
|
99
|
+
6. Installs deps (pnpm preferred; npm fallback; bun remains available as a secondary compatibility fallback).
|
|
100
|
+
7. Builds + builds the Control UI.
|
|
101
|
+
8. Runs `Durar doctor` as the final “safe update” check.
|
|
102
|
+
9. Syncs plugins to the active channel (dev uses bundled extensions; stable/beta uses npm) and updates npm-installed plugins.
|
|
103
|
+
|
|
104
|
+
## `--update` shorthand
|
|
105
|
+
|
|
106
|
+
`Durar --update` rewrites to `Durar update` (useful for shells and launcher scripts).
|
|
107
|
+
|
|
108
|
+
## See also
|
|
109
|
+
|
|
110
|
+
- `Durar doctor` (offers to run update first on git checkouts)
|
|
111
|
+
- [Development channels](/install/development-channels)
|
|
112
|
+
- [Updating](/install/updating)
|
|
113
|
+
- [CLI reference](/cli)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar voicecall` (voice-call plugin command surface)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You use the voice-call plugin and want the CLI entry points
|
|
5
|
+
- You want quick examples for `voicecall call|continue|status|tail|expose`
|
|
6
|
+
title: "voicecall"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar voicecall`
|
|
10
|
+
|
|
11
|
+
`voicecall` is a plugin-provided command. It only appears if the voice-call plugin is installed and enabled.
|
|
12
|
+
|
|
13
|
+
Primary doc:
|
|
14
|
+
|
|
15
|
+
- Voice-call plugin: [Voice Call](/plugins/voice-call)
|
|
16
|
+
|
|
17
|
+
## Common commands
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
Durar voicecall status --call-id <id>
|
|
21
|
+
Durar voicecall call --to "+15555550123" --message "Hello" --mode notify
|
|
22
|
+
Durar voicecall continue --call-id <id> --message "Any questions?"
|
|
23
|
+
Durar voicecall end --call-id <id>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Exposing webhooks (Tailscale)
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
Durar voicecall expose --mode serve
|
|
30
|
+
Durar voicecall expose --mode funnel
|
|
31
|
+
Durar voicecall expose --mode off
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Security note: only expose the webhook endpoint to networks you trust. Prefer Tailscale Serve over Funnel when possible.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI reference for `Durar webhooks` (webhook helpers + Gmail Pub/Sub)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to wire Gmail Pub/Sub events into Durar
|
|
5
|
+
- You want webhook helper commands
|
|
6
|
+
title: "webhooks"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# `Durar webhooks`
|
|
10
|
+
|
|
11
|
+
Webhook helpers and integrations (Gmail Pub/Sub, webhook helpers).
|
|
12
|
+
|
|
13
|
+
Related:
|
|
14
|
+
|
|
15
|
+
- Webhooks: [Webhooks](/automation/cron-jobs#webhooks)
|
|
16
|
+
- Gmail Pub/Sub: [Gmail Pub/Sub](/automation/cron-jobs#gmail-pubsub-integration)
|
|
17
|
+
|
|
18
|
+
## Gmail
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
Durar webhooks gmail setup --account you@example.com
|
|
22
|
+
Durar webhooks gmail run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### `webhooks gmail setup`
|
|
26
|
+
|
|
27
|
+
Configure Gmail watch, Pub/Sub, and Durar webhook delivery.
|
|
28
|
+
|
|
29
|
+
Required:
|
|
30
|
+
|
|
31
|
+
- `--account <email>`
|
|
32
|
+
|
|
33
|
+
Options:
|
|
34
|
+
|
|
35
|
+
- `--project <id>`
|
|
36
|
+
- `--topic <name>`
|
|
37
|
+
- `--subscription <name>`
|
|
38
|
+
- `--label <label>`
|
|
39
|
+
- `--hook-url <url>`
|
|
40
|
+
- `--hook-token <token>`
|
|
41
|
+
- `--push-token <token>`
|
|
42
|
+
- `--bind <host>`
|
|
43
|
+
- `--port <port>`
|
|
44
|
+
- `--path <path>`
|
|
45
|
+
- `--include-body`
|
|
46
|
+
- `--max-bytes <n>`
|
|
47
|
+
- `--renew-minutes <n>`
|
|
48
|
+
- `--tailscale <funnel|serve|off>`
|
|
49
|
+
- `--tailscale-path <path>`
|
|
50
|
+
- `--tailscale-target <target>`
|
|
51
|
+
- `--push-endpoint <url>`
|
|
52
|
+
- `--json`
|
|
53
|
+
|
|
54
|
+
Examples:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
Durar webhooks gmail setup --account you@example.com
|
|
58
|
+
Durar webhooks gmail setup --account you@example.com --project my-gcp-project --json
|
|
59
|
+
Durar webhooks gmail setup --account you@example.com --hook-url https://gateway.example.com/hooks/gmail
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### `webhooks gmail run`
|
|
63
|
+
|
|
64
|
+
Run `gog watch serve` plus the watch auto-renew loop.
|
|
65
|
+
|
|
66
|
+
Options:
|
|
67
|
+
|
|
68
|
+
- `--account <email>`
|
|
69
|
+
- `--topic <topic>`
|
|
70
|
+
- `--subscription <name>`
|
|
71
|
+
- `--label <label>`
|
|
72
|
+
- `--hook-url <url>`
|
|
73
|
+
- `--hook-token <token>`
|
|
74
|
+
- `--push-token <token>`
|
|
75
|
+
- `--bind <host>`
|
|
76
|
+
- `--port <port>`
|
|
77
|
+
- `--path <path>`
|
|
78
|
+
- `--include-body`
|
|
79
|
+
- `--max-bytes <n>`
|
|
80
|
+
- `--renew-minutes <n>`
|
|
81
|
+
- `--tailscale <funnel|serve|off>`
|
|
82
|
+
- `--tailscale-path <path>`
|
|
83
|
+
- `--tailscale-target <target>`
|
|
84
|
+
|
|
85
|
+
Example:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
Durar webhooks gmail run --account you@example.com
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
See [Gmail Pub/Sub documentation](/automation/cron-jobs#gmail-pubsub-integration) for the end-to-end setup flow and operational details.
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Agent loop lifecycle, streams, and wait semantics"
|
|
3
|
+
read_when:
|
|
4
|
+
- You need an exact walkthrough of the agent loop or lifecycle events
|
|
5
|
+
title: "Agent Loop"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Agent Loop (Durar)
|
|
9
|
+
|
|
10
|
+
An agentic loop is the full “real” run of an agent: intake → context assembly → model inference →
|
|
11
|
+
tool execution → streaming replies → persistence. It’s the authoritative path that turns a message
|
|
12
|
+
into actions and a final reply, while keeping session state consistent.
|
|
13
|
+
|
|
14
|
+
In Durar, a loop is a single, serialized run per session that emits lifecycle and stream events
|
|
15
|
+
as the model thinks, calls tools, and streams output. This doc explains how that authentic loop is
|
|
16
|
+
wired end-to-end.
|
|
17
|
+
|
|
18
|
+
## Entry points
|
|
19
|
+
|
|
20
|
+
- Gateway RPC: `agent` and `agent.wait`.
|
|
21
|
+
- CLI: `agent` command.
|
|
22
|
+
|
|
23
|
+
## How it works (high-level)
|
|
24
|
+
|
|
25
|
+
1. `agent` RPC validates params, resolves session (sessionKey/sessionId), persists session metadata, returns `{ runId, acceptedAt }` immediately.
|
|
26
|
+
2. `agentCommand` runs the agent:
|
|
27
|
+
- resolves model + thinking/verbose defaults
|
|
28
|
+
- loads skills snapshot
|
|
29
|
+
- calls `runEmbeddedPiAgent` (pi-agent-core runtime)
|
|
30
|
+
- emits **lifecycle end/error** if the embedded loop does not emit one
|
|
31
|
+
3. `runEmbeddedPiAgent`:
|
|
32
|
+
- serializes runs via per-session + global queues
|
|
33
|
+
- resolves model + auth profile and builds the pi session
|
|
34
|
+
- subscribes to pi events and streams assistant/tool deltas
|
|
35
|
+
- enforces timeout -> aborts run if exceeded
|
|
36
|
+
- returns payloads + usage metadata
|
|
37
|
+
4. `subscribeEmbeddedPiSession` bridges pi-agent-core events to Durar `agent` stream:
|
|
38
|
+
- tool events => `stream: "tool"`
|
|
39
|
+
- assistant deltas => `stream: "assistant"`
|
|
40
|
+
- lifecycle events => `stream: "lifecycle"` (`phase: "start" | "end" | "error"`)
|
|
41
|
+
5. `agent.wait` uses `waitForAgentRun`:
|
|
42
|
+
- waits for **lifecycle end/error** for `runId`
|
|
43
|
+
- returns `{ status: ok|error|timeout, startedAt, endedAt, error? }`
|
|
44
|
+
|
|
45
|
+
## Queueing + concurrency
|
|
46
|
+
|
|
47
|
+
- Runs are serialized per session key (session lane) and optionally through a global lane.
|
|
48
|
+
- This prevents tool/session races and keeps session history consistent.
|
|
49
|
+
- Messaging channels can choose queue modes (collect/steer/followup) that feed this lane system.
|
|
50
|
+
See [Command Queue](/concepts/queue).
|
|
51
|
+
|
|
52
|
+
## Session + workspace preparation
|
|
53
|
+
|
|
54
|
+
- Workspace is resolved and created; sandboxed runs may redirect to a sandbox workspace root.
|
|
55
|
+
- Skills are loaded (or reused from a snapshot) and injected into env and prompt.
|
|
56
|
+
- Bootstrap/context files are resolved and injected into the system prompt report.
|
|
57
|
+
- A session write lock is acquired; `SessionManager` is opened and prepared before streaming.
|
|
58
|
+
|
|
59
|
+
## Prompt assembly + system prompt
|
|
60
|
+
|
|
61
|
+
- System prompt is built from Durar’s base prompt, skills prompt, bootstrap context, and per-run overrides.
|
|
62
|
+
- Model-specific limits and compaction reserve tokens are enforced.
|
|
63
|
+
- See [System prompt](/concepts/system-prompt) for what the model sees.
|
|
64
|
+
|
|
65
|
+
## Hook points (where you can intercept)
|
|
66
|
+
|
|
67
|
+
Durar has two hook systems:
|
|
68
|
+
|
|
69
|
+
- **Internal hooks** (Gateway hooks): event-driven scripts for commands and lifecycle events.
|
|
70
|
+
- **Plugin hooks**: extension points inside the agent/tool lifecycle and gateway pipeline.
|
|
71
|
+
|
|
72
|
+
### Internal hooks (Gateway hooks)
|
|
73
|
+
|
|
74
|
+
- **`agent:bootstrap`**: runs while building bootstrap files before the system prompt is finalized.
|
|
75
|
+
Use this to add/remove bootstrap context files.
|
|
76
|
+
- **Command hooks**: `/new`, `/reset`, `/stop`, and other command events (see Hooks doc).
|
|
77
|
+
|
|
78
|
+
See [Hooks](/automation/hooks) for setup and examples.
|
|
79
|
+
|
|
80
|
+
### Plugin hooks (agent + gateway lifecycle)
|
|
81
|
+
|
|
82
|
+
These run inside the agent loop or gateway pipeline:
|
|
83
|
+
|
|
84
|
+
- **`before_model_resolve`**: runs pre-session (no `messages`) to deterministically override provider/model before model resolution.
|
|
85
|
+
- **`before_prompt_build`**: runs after session load (with `messages`) to inject `prependContext`, `systemPrompt`, `prependSystemContext`, or `appendSystemContext` before prompt submission. Use `prependContext` for per-turn dynamic text and system-context fields for stable guidance that should sit in system prompt space.
|
|
86
|
+
- **`before_agent_start`**: legacy compatibility hook that may run in either phase; prefer the explicit hooks above.
|
|
87
|
+
- **`before_agent_reply`**: runs after inline actions and before the LLM call, letting a plugin claim the turn and return a synthetic reply or silence the turn entirely.
|
|
88
|
+
- **`agent_end`**: inspect the final message list and run metadata after completion.
|
|
89
|
+
- **`before_compaction` / `after_compaction`**: observe or annotate compaction cycles.
|
|
90
|
+
- **`before_tool_call` / `after_tool_call`**: intercept tool params/results.
|
|
91
|
+
- **`before_install`**: inspect built-in scan findings and optionally block skill or plugin installs.
|
|
92
|
+
- **`tool_result_persist`**: synchronously transform tool results before they are written to the session transcript.
|
|
93
|
+
- **`message_received` / `message_sending` / `message_sent`**: inbound + outbound message hooks.
|
|
94
|
+
- **`session_start` / `session_end`**: session lifecycle boundaries.
|
|
95
|
+
- **`gateway_start` / `gateway_stop`**: gateway lifecycle events.
|
|
96
|
+
|
|
97
|
+
Hook decision rules for outbound/tool guards:
|
|
98
|
+
|
|
99
|
+
- `before_tool_call`: `{ block: true }` is terminal and stops lower-priority handlers.
|
|
100
|
+
- `before_tool_call`: `{ block: false }` is a no-op and does not clear a prior block.
|
|
101
|
+
- `before_install`: `{ block: true }` is terminal and stops lower-priority handlers.
|
|
102
|
+
- `before_install`: `{ block: false }` is a no-op and does not clear a prior block.
|
|
103
|
+
- `message_sending`: `{ cancel: true }` is terminal and stops lower-priority handlers.
|
|
104
|
+
- `message_sending`: `{ cancel: false }` is a no-op and does not clear a prior cancel.
|
|
105
|
+
|
|
106
|
+
See [Plugin hooks](/plugins/architecture#provider-runtime-hooks) for the hook API and registration details.
|
|
107
|
+
|
|
108
|
+
## Streaming + partial replies
|
|
109
|
+
|
|
110
|
+
- Assistant deltas are streamed from pi-agent-core and emitted as `assistant` events.
|
|
111
|
+
- Block streaming can emit partial replies either on `text_end` or `message_end`.
|
|
112
|
+
- Reasoning streaming can be emitted as a separate stream or as block replies.
|
|
113
|
+
- See [Streaming](/concepts/streaming) for chunking and block reply behavior.
|
|
114
|
+
|
|
115
|
+
## Tool execution + messaging tools
|
|
116
|
+
|
|
117
|
+
- Tool start/update/end events are emitted on the `tool` stream.
|
|
118
|
+
- Tool results are sanitized for size and image payloads before logging/emitting.
|
|
119
|
+
- Messaging tool sends are tracked to suppress duplicate assistant confirmations.
|
|
120
|
+
|
|
121
|
+
## Reply shaping + suppression
|
|
122
|
+
|
|
123
|
+
- Final payloads are assembled from:
|
|
124
|
+
- assistant text (and optional reasoning)
|
|
125
|
+
- inline tool summaries (when verbose + allowed)
|
|
126
|
+
- assistant error text when the model errors
|
|
127
|
+
- The exact silent token `NO_REPLY` / `no_reply` is filtered from outgoing
|
|
128
|
+
payloads.
|
|
129
|
+
- Messaging tool duplicates are removed from the final payload list.
|
|
130
|
+
- If no renderable payloads remain and a tool errored, a fallback tool error reply is emitted
|
|
131
|
+
(unless a messaging tool already sent a user-visible reply).
|
|
132
|
+
|
|
133
|
+
## Compaction + retries
|
|
134
|
+
|
|
135
|
+
- Auto-compaction emits `compaction` stream events and can trigger a retry.
|
|
136
|
+
- On retry, in-memory buffers and tool summaries are reset to avoid duplicate output.
|
|
137
|
+
- See [Compaction](/concepts/compaction) for the compaction pipeline.
|
|
138
|
+
|
|
139
|
+
## Event streams (today)
|
|
140
|
+
|
|
141
|
+
- `lifecycle`: emitted by `subscribeEmbeddedPiSession` (and as a fallback by `agentCommand`)
|
|
142
|
+
- `assistant`: streamed deltas from pi-agent-core
|
|
143
|
+
- `tool`: streamed tool events from pi-agent-core
|
|
144
|
+
|
|
145
|
+
## Chat channel handling
|
|
146
|
+
|
|
147
|
+
- Assistant deltas are buffered into chat `delta` messages.
|
|
148
|
+
- A chat `final` is emitted on **lifecycle end/error**.
|
|
149
|
+
|
|
150
|
+
## Timeouts
|
|
151
|
+
|
|
152
|
+
- `agent.wait` default: 30s (just the wait). `timeoutMs` param overrides.
|
|
153
|
+
- Agent runtime: `agents.defaults.timeoutSeconds` default 172800s (48 hours); enforced in `runEmbeddedPiAgent` abort timer.
|
|
154
|
+
|
|
155
|
+
## Where things can end early
|
|
156
|
+
|
|
157
|
+
- Agent timeout (abort)
|
|
158
|
+
- AbortSignal (cancel)
|
|
159
|
+
- Gateway disconnect or RPC timeout
|
|
160
|
+
- `agent.wait` timeout (wait-only, does not stop agent)
|
|
161
|
+
|
|
162
|
+
## Related
|
|
163
|
+
|
|
164
|
+
- [Tools](/tools) — available agent tools
|
|
165
|
+
- [Hooks](/automation/hooks) — event-driven scripts triggered by agent lifecycle events
|
|
166
|
+
- [Compaction](/concepts/compaction) — how long conversations are summarized
|
|
167
|
+
- [Exec Approvals](/tools/exec-approvals) — approval gates for shell commands
|
|
168
|
+
- [Thinking](/tools/thinking) — thinking/reasoning level configuration
|