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,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Host Durar on a Raspberry Pi for always-on self-hosting"
|
|
3
|
+
read_when:
|
|
4
|
+
- Setting up Durar on a Raspberry Pi
|
|
5
|
+
- Running Durar on ARM devices
|
|
6
|
+
- Building a cheap always-on personal AI
|
|
7
|
+
title: "Raspberry Pi"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Raspberry Pi
|
|
11
|
+
|
|
12
|
+
Run a persistent, always-on Durar Gateway on a Raspberry Pi. Since the Pi is just the gateway (models run in the cloud via API), even a modest Pi handles the workload well.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Raspberry Pi 4 or 5 with 2 GB+ RAM (4 GB recommended)
|
|
17
|
+
- MicroSD card (16 GB+) or USB SSD (better performance)
|
|
18
|
+
- Official Pi power supply
|
|
19
|
+
- Network connection (Ethernet or WiFi)
|
|
20
|
+
- 64-bit Raspberry Pi OS (required -- do not use 32-bit)
|
|
21
|
+
- About 30 minutes
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
<Steps>
|
|
26
|
+
<Step title="Flash the OS">
|
|
27
|
+
Use **Raspberry Pi OS Lite (64-bit)** -- no desktop needed for a headless server.
|
|
28
|
+
|
|
29
|
+
1. Download [Raspberry Pi Imager](https://www.raspberrypi.com/software/).
|
|
30
|
+
2. Choose OS: **Raspberry Pi OS Lite (64-bit)**.
|
|
31
|
+
3. In the settings dialog, pre-configure:
|
|
32
|
+
- Hostname: `gateway-host`
|
|
33
|
+
- Enable SSH
|
|
34
|
+
- Set username and password
|
|
35
|
+
- Configure WiFi (if not using Ethernet)
|
|
36
|
+
4. Flash to your SD card or USB drive, insert it, and boot the Pi.
|
|
37
|
+
|
|
38
|
+
</Step>
|
|
39
|
+
|
|
40
|
+
<Step title="Connect via SSH">
|
|
41
|
+
```bash
|
|
42
|
+
ssh user@gateway-host
|
|
43
|
+
```
|
|
44
|
+
</Step>
|
|
45
|
+
|
|
46
|
+
<Step title="Update the system">
|
|
47
|
+
```bash
|
|
48
|
+
sudo apt update && sudo apt upgrade -y
|
|
49
|
+
sudo apt install -y git curl build-essential
|
|
50
|
+
|
|
51
|
+
# Set timezone (important for cron and reminders)
|
|
52
|
+
sudo timedatectl set-timezone America/Chicago
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
</Step>
|
|
56
|
+
|
|
57
|
+
<Step title="Install Node.js 24">
|
|
58
|
+
```bash
|
|
59
|
+
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
|
|
60
|
+
sudo apt install -y nodejs
|
|
61
|
+
node --version
|
|
62
|
+
```
|
|
63
|
+
</Step>
|
|
64
|
+
|
|
65
|
+
<Step title="Add swap (important for 2 GB or less)">
|
|
66
|
+
```bash
|
|
67
|
+
sudo fallocate -l 2G /swapfile
|
|
68
|
+
sudo chmod 600 /swapfile
|
|
69
|
+
sudo mkswap /swapfile
|
|
70
|
+
sudo swapon /swapfile
|
|
71
|
+
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
|
72
|
+
|
|
73
|
+
# Reduce swappiness for low-RAM devices
|
|
74
|
+
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
|
|
75
|
+
sudo sysctl -p
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</Step>
|
|
79
|
+
|
|
80
|
+
<Step title="Install Durar">
|
|
81
|
+
```bash
|
|
82
|
+
curl -fsSL https://Durar.ai/install.sh | bash
|
|
83
|
+
```
|
|
84
|
+
</Step>
|
|
85
|
+
|
|
86
|
+
<Step title="Run onboarding">
|
|
87
|
+
```bash
|
|
88
|
+
Durar onboard --install-daemon
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Follow the wizard. API keys are recommended over OAuth for headless devices. Telegram is the easiest channel to start with.
|
|
92
|
+
|
|
93
|
+
</Step>
|
|
94
|
+
|
|
95
|
+
<Step title="Verify">
|
|
96
|
+
```bash
|
|
97
|
+
Durar status
|
|
98
|
+
systemctl --user status Durar-gateway.service
|
|
99
|
+
journalctl --user -u Durar-gateway.service -f
|
|
100
|
+
```
|
|
101
|
+
</Step>
|
|
102
|
+
|
|
103
|
+
<Step title="Access the Control UI">
|
|
104
|
+
On your computer, get a dashboard URL from the Pi:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
ssh user@gateway-host 'Durar dashboard --no-open'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Then create an SSH tunnel in another terminal:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
ssh -N -L 18789:127.0.0.1:18789 user@gateway-host
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Open the printed URL in your local browser. For always-on remote access, see [Tailscale integration](/gateway/tailscale).
|
|
117
|
+
|
|
118
|
+
</Step>
|
|
119
|
+
</Steps>
|
|
120
|
+
|
|
121
|
+
## Performance tips
|
|
122
|
+
|
|
123
|
+
**Use a USB SSD** -- SD cards are slow and wear out. A USB SSD dramatically improves performance. See the [Pi USB boot guide](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot).
|
|
124
|
+
|
|
125
|
+
**Enable module compile cache** -- Speeds up repeated CLI invocations on lower-power Pi hosts:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
grep -q 'NODE_COMPILE_CACHE=/var/tmp/Durar-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
|
|
129
|
+
export NODE_COMPILE_CACHE=/var/tmp/Durar-compile-cache
|
|
130
|
+
mkdir -p /var/tmp/Durar-compile-cache
|
|
131
|
+
export Durar_NO_RESPAWN=1
|
|
132
|
+
EOF
|
|
133
|
+
source ~/.bashrc
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Reduce memory usage** -- For headless setups, free GPU memory and disable unused services:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
|
|
140
|
+
sudo systemctl disable bluetooth
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Troubleshooting
|
|
144
|
+
|
|
145
|
+
**Out of memory** -- Verify swap is active with `free -h`. Disable unused services (`sudo systemctl disable cups bluetooth avahi-daemon`). Use API-based models only.
|
|
146
|
+
|
|
147
|
+
**Slow performance** -- Use a USB SSD instead of an SD card. Check for CPU throttling with `vcgencmd get_throttled` (should return `0x0`).
|
|
148
|
+
|
|
149
|
+
**Service will not start** -- Check logs with `journalctl --user -u Durar-gateway.service --no-pager -n 100` and run `Durar doctor --non-interactive`. If this is a headless Pi, also verify lingering is enabled: `sudo loginctl enable-linger "$(whoami)"`.
|
|
150
|
+
|
|
151
|
+
**ARM binary issues** -- If a skill fails with "exec format error", check whether the binary has an ARM64 build. Verify architecture with `uname -m` (should show `aarch64`).
|
|
152
|
+
|
|
153
|
+
**WiFi drops** -- Disable WiFi power management: `sudo iwconfig wlan0 power off`.
|
|
154
|
+
|
|
155
|
+
## Next steps
|
|
156
|
+
|
|
157
|
+
- [Channels](/channels) -- connect Telegram, WhatsApp, Discord, and more
|
|
158
|
+
- [Gateway configuration](/gateway/configuration) -- all config options
|
|
159
|
+
- [Updating](/install/updating) -- keep Durar up to date
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Deploy OpenClaw on Render with Infrastructure-as-Code"
|
|
3
|
+
read_when:
|
|
4
|
+
- Deploying OpenClaw to Render
|
|
5
|
+
- You want a declarative cloud deploy with Render Blueprints
|
|
6
|
+
title: "Render"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Deploy OpenClaw on Render using Infrastructure as Code. The included `render.yaml` Blueprint defines your entire stack declaratively, service, disk, environment variables, so you can deploy with a single click and version your infrastructure alongside your code.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- A [Render account](https://render.com) (free tier available)
|
|
14
|
+
- An API key from your preferred [model provider](/providers)
|
|
15
|
+
|
|
16
|
+
## Deploy with a Render Blueprint
|
|
17
|
+
|
|
18
|
+
[Deploy to Render](https://render.com/deploy?repo=https://github.com/openclaw/openclaw)
|
|
19
|
+
|
|
20
|
+
Clicking this link will:
|
|
21
|
+
|
|
22
|
+
1. Create a new Render service from the `render.yaml` Blueprint at the root of this repo.
|
|
23
|
+
2. Build the Docker image and deploy
|
|
24
|
+
|
|
25
|
+
Once deployed, your service URL follows the pattern `https://<service-name>.onrender.com`.
|
|
26
|
+
|
|
27
|
+
## Understanding the Blueprint
|
|
28
|
+
|
|
29
|
+
Render Blueprints are YAML files that define your infrastructure. The `render.yaml` in this
|
|
30
|
+
repository configures everything needed to run OpenClaw:
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
services:
|
|
34
|
+
- type: web
|
|
35
|
+
name: openclaw
|
|
36
|
+
runtime: docker
|
|
37
|
+
plan: starter
|
|
38
|
+
healthCheckPath: /health
|
|
39
|
+
envVars:
|
|
40
|
+
- key: OPENCLAW_GATEWAY_PORT
|
|
41
|
+
value: "8080"
|
|
42
|
+
- key: OPENCLAW_STATE_DIR
|
|
43
|
+
value: /data/.openclaw
|
|
44
|
+
- key: OPENCLAW_WORKSPACE_DIR
|
|
45
|
+
value: /data/workspace
|
|
46
|
+
- key: OPENCLAW_GATEWAY_TOKEN
|
|
47
|
+
generateValue: true # auto-generates a secure token
|
|
48
|
+
disk:
|
|
49
|
+
name: openclaw-data
|
|
50
|
+
mountPath: /data
|
|
51
|
+
sizeGB: 1
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Key Blueprint features used:
|
|
55
|
+
|
|
56
|
+
| Feature | Purpose |
|
|
57
|
+
| --------------------- | ---------------------------------------------------------- |
|
|
58
|
+
| `runtime: docker` | Builds from the repo's Dockerfile |
|
|
59
|
+
| `healthCheckPath` | Render monitors `/health` and restarts unhealthy instances |
|
|
60
|
+
| `generateValue: true` | Auto-generates a cryptographically secure value |
|
|
61
|
+
| `disk` | Persistent storage that survives redeploys |
|
|
62
|
+
|
|
63
|
+
## Choosing a plan
|
|
64
|
+
|
|
65
|
+
| Plan | Spin-down | Disk | Best for |
|
|
66
|
+
| --------- | ----------------- | ------------- | ----------------------------- |
|
|
67
|
+
| Free | After 15 min idle | Not available | Testing, demos |
|
|
68
|
+
| Starter | Never | 1GB+ | Personal use, small teams |
|
|
69
|
+
| Standard+ | Never | 1GB+ | Production, multiple channels |
|
|
70
|
+
|
|
71
|
+
The Blueprint defaults to `starter`. To use free tier, change `plan: free` in
|
|
72
|
+
your fork's `render.yaml` (but note: no persistent disk means OpenClaw state
|
|
73
|
+
resets on each deploy).
|
|
74
|
+
|
|
75
|
+
## After deployment
|
|
76
|
+
|
|
77
|
+
### Access the Control UI
|
|
78
|
+
|
|
79
|
+
The web dashboard is available at `https://<your-service>.onrender.com/`.
|
|
80
|
+
|
|
81
|
+
Connect using the configured shared secret. This deploy template auto-generates
|
|
82
|
+
`OPENCLAW_GATEWAY_TOKEN` (find it in **Dashboard → your service →
|
|
83
|
+
Environment**); if you replace it with password auth, use that password
|
|
84
|
+
instead.
|
|
85
|
+
|
|
86
|
+
## Render Dashboard features
|
|
87
|
+
|
|
88
|
+
### Logs
|
|
89
|
+
|
|
90
|
+
View real-time logs in **Dashboard → your service → Logs**. Filter by:
|
|
91
|
+
|
|
92
|
+
- Build logs (Docker image creation)
|
|
93
|
+
- Deploy logs (service startup)
|
|
94
|
+
- Runtime logs (application output)
|
|
95
|
+
|
|
96
|
+
### Shell access
|
|
97
|
+
|
|
98
|
+
For debugging, open a shell session via **Dashboard → your service → Shell**. The persistent disk is mounted at `/data`.
|
|
99
|
+
|
|
100
|
+
### Environment variables
|
|
101
|
+
|
|
102
|
+
Modify variables in **Dashboard → your service → Environment**. Changes trigger an automatic redeploy.
|
|
103
|
+
|
|
104
|
+
### Auto-deploy
|
|
105
|
+
|
|
106
|
+
If you use the original OpenClaw repository, Render will not auto-deploy your OpenClaw. To update it, run a manual Blueprint sync from the dashboard.
|
|
107
|
+
|
|
108
|
+
## Custom domain
|
|
109
|
+
|
|
110
|
+
1. Go to **Dashboard → your service → Settings → Custom Domains**
|
|
111
|
+
2. Add your domain
|
|
112
|
+
3. Configure DNS as instructed (CNAME to `*.onrender.com`)
|
|
113
|
+
4. Render provisions a TLS certificate automatically
|
|
114
|
+
|
|
115
|
+
## Scaling
|
|
116
|
+
|
|
117
|
+
Render supports horizontal and vertical scaling:
|
|
118
|
+
|
|
119
|
+
- **Vertical**: Change the plan to get more CPU/RAM
|
|
120
|
+
- **Horizontal**: Increase instance count (Standard plan and above)
|
|
121
|
+
|
|
122
|
+
For OpenClaw, vertical scaling is usually sufficient. Horizontal scaling requires sticky sessions or external state management.
|
|
123
|
+
|
|
124
|
+
## Backups and migration
|
|
125
|
+
|
|
126
|
+
Export your state, config, auth profiles, and workspace at any time using the
|
|
127
|
+
shell access in the Render Dashboard:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
openclaw backup create
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This creates a portable backup archive with OpenClaw state plus any configured
|
|
134
|
+
workspace. See [Backup](/cli/backup) for details.
|
|
135
|
+
|
|
136
|
+
## Troubleshooting
|
|
137
|
+
|
|
138
|
+
### Service will not start
|
|
139
|
+
|
|
140
|
+
Check the deploy logs in the Render Dashboard. Common issues:
|
|
141
|
+
|
|
142
|
+
- Missing `OPENCLAW_GATEWAY_TOKEN` — verify it is set in **Dashboard → Environment**
|
|
143
|
+
- Port mismatch — ensure `OPENCLAW_GATEWAY_PORT=8080` is set so the gateway binds to the port Render expects
|
|
144
|
+
|
|
145
|
+
### Slow cold starts (free tier)
|
|
146
|
+
|
|
147
|
+
Free tier services spin down after 15 minutes of inactivity. The first request after spin-down takes a few seconds while the container starts. Upgrade to Starter plan for always-on.
|
|
148
|
+
|
|
149
|
+
### Data loss after redeploy
|
|
150
|
+
|
|
151
|
+
This happens on free tier (no persistent disk). Upgrade to a paid plan, or
|
|
152
|
+
regularly export a full backup via `openclaw backup create` in the Render shell.
|
|
153
|
+
|
|
154
|
+
### Health check failures
|
|
155
|
+
|
|
156
|
+
Render expects a 200 response from `/health` within 30 seconds. If builds succeed but deploys fail, the service may be taking too long to start. Check:
|
|
157
|
+
|
|
158
|
+
- Build logs for errors
|
|
159
|
+
- Whether the container runs locally with `docker build && docker run`
|
|
160
|
+
|
|
161
|
+
## Next steps
|
|
162
|
+
|
|
163
|
+
- Set up messaging channels: [Channels](/channels)
|
|
164
|
+
- Configure the Gateway: [Gateway configuration](/gateway/configuration)
|
|
165
|
+
- Keep OpenClaw up to date: [Updating](/install/updating)
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Uninstall Durar completely (CLI, service, state, workspace)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to remove Durar from a machine
|
|
5
|
+
- The gateway service is still running after uninstall
|
|
6
|
+
title: "Uninstall"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Uninstall
|
|
10
|
+
|
|
11
|
+
Two paths:
|
|
12
|
+
|
|
13
|
+
- **Easy path** if `Durar` is still installed.
|
|
14
|
+
- **Manual service removal** if the CLI is gone but the service is still running.
|
|
15
|
+
|
|
16
|
+
## Easy path (CLI still installed)
|
|
17
|
+
|
|
18
|
+
Recommended: use the built-in uninstaller:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
Durar uninstall
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Non-interactive (automation / npx):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
Durar uninstall --all --yes --non-interactive
|
|
28
|
+
npx -y Durar uninstall --all --yes --non-interactive
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Manual steps (same result):
|
|
32
|
+
|
|
33
|
+
1. Stop the gateway service:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
Durar gateway stop
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. Uninstall the gateway service (launchd/systemd/schtasks):
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
Durar gateway uninstall
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
3. Delete state + config:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
rm -rf "${Durar_STATE_DIR:-$HOME/.Durar}"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If you set `Durar_CONFIG_PATH` to a custom location outside the state dir, delete that file too.
|
|
52
|
+
|
|
53
|
+
4. Delete your workspace (optional, removes agent files):
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
rm -rf ~/.Durar/workspace
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
5. Remove the CLI install (pick the one you used):
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm rm -g Durar
|
|
63
|
+
pnpm remove -g Durar
|
|
64
|
+
bun remove -g Durar
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
6. If you installed the macOS app:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
rm -rf /Applications/Durar.app
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Notes:
|
|
74
|
+
|
|
75
|
+
- If you used profiles (`--profile` / `Durar_PROFILE`), repeat step 3 for each state dir (defaults are `~/.Durar-<profile>`).
|
|
76
|
+
- In remote mode, the state dir lives on the **gateway host**, so run steps 1-4 there too.
|
|
77
|
+
|
|
78
|
+
## Manual service removal (CLI not installed)
|
|
79
|
+
|
|
80
|
+
Use this if the gateway service keeps running but `Durar` is missing.
|
|
81
|
+
|
|
82
|
+
### macOS (launchd)
|
|
83
|
+
|
|
84
|
+
Default label is `ai.Durar.gateway` (or `ai.Durar.<profile>`; legacy `com.Durar.*` may still exist):
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
launchctl bootout gui/$UID/ai.Durar.gateway
|
|
88
|
+
rm -f ~/Library/LaunchAgents/ai.Durar.gateway.plist
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If you used a profile, replace the label and plist name with `ai.Durar.<profile>`. Remove any legacy `com.Durar.*` plists if present.
|
|
92
|
+
|
|
93
|
+
### Linux (systemd user unit)
|
|
94
|
+
|
|
95
|
+
Default unit name is `Durar-gateway.service` (or `Durar-gateway-<profile>.service`):
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
systemctl --user disable --now Durar-gateway.service
|
|
99
|
+
rm -f ~/.config/systemd/user/Durar-gateway.service
|
|
100
|
+
systemctl --user daemon-reload
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Windows (Scheduled Task)
|
|
104
|
+
|
|
105
|
+
Default task name is `Durar Gateway` (or `Durar Gateway (<profile>)`).
|
|
106
|
+
The task script lives under your state dir.
|
|
107
|
+
|
|
108
|
+
```powershell
|
|
109
|
+
schtasks /Delete /F /TN "Durar Gateway"
|
|
110
|
+
Remove-Item -Force "$env:USERPROFILE\.Durar\gateway.cmd"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
If you used a profile, delete the matching task name and `~\.Durar-<profile>\gateway.cmd`.
|
|
114
|
+
|
|
115
|
+
## Normal install vs source checkout
|
|
116
|
+
|
|
117
|
+
### Normal install (install.sh / npm / pnpm / bun)
|
|
118
|
+
|
|
119
|
+
If you used `https://Durar.ai/install.sh` or `install.ps1`, the CLI was installed with `npm install -g Durar@latest`.
|
|
120
|
+
Remove it with `npm rm -g Durar` (or `pnpm remove -g` / `bun remove -g` if you installed that way).
|
|
121
|
+
|
|
122
|
+
### Source checkout (git clone)
|
|
123
|
+
|
|
124
|
+
If you run from a repo checkout (`git clone` + `Durar ...` / `bun run Durar ...`):
|
|
125
|
+
|
|
126
|
+
1. Uninstall the gateway service **before** deleting the repo (use the easy path above or manual service removal).
|
|
127
|
+
2. Delete the repo directory.
|
|
128
|
+
3. Remove state + workspace as shown above.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Updating Durar safely (global install or source), plus rollback strategy"
|
|
3
|
+
read_when:
|
|
4
|
+
- Updating Durar
|
|
5
|
+
- Something breaks after an update
|
|
6
|
+
title: "Updating"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Updating
|
|
10
|
+
|
|
11
|
+
Keep Durar up to date.
|
|
12
|
+
|
|
13
|
+
## Recommended: `Durar update`
|
|
14
|
+
|
|
15
|
+
The fastest way to update. It detects your install type (npm or git), fetches the latest version, runs `Durar doctor`, and restarts the gateway.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
Durar update
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
To switch channels or target a specific version:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
Durar update --channel beta
|
|
25
|
+
Durar update --tag main
|
|
26
|
+
Durar update --dry-run # preview without applying
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`--channel beta` prefers beta, but the runtime falls back to stable/latest when
|
|
30
|
+
the beta tag is missing or older than the latest stable release. Use `--tag beta`
|
|
31
|
+
if you want the raw npm beta dist-tag for a one-off package update.
|
|
32
|
+
|
|
33
|
+
See [Development channels](/install/development-channels) for channel semantics.
|
|
34
|
+
|
|
35
|
+
## Alternative: re-run the installer
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
curl -fsSL https://Durar.ai/install.sh | bash
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Add `--no-onboard` to skip onboarding. For source installs, pass `--install-method git --no-onboard`.
|
|
42
|
+
|
|
43
|
+
## Alternative: manual npm, pnpm, or bun
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm i -g Durar@latest
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pnpm add -g Durar@latest
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
bun add -g Durar@latest
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Auto-updater
|
|
58
|
+
|
|
59
|
+
The auto-updater is off by default. Enable it in `~/.Durar/Durar.json`:
|
|
60
|
+
|
|
61
|
+
```json5
|
|
62
|
+
{
|
|
63
|
+
update: {
|
|
64
|
+
channel: "stable",
|
|
65
|
+
auto: {
|
|
66
|
+
enabled: true,
|
|
67
|
+
stableDelayHours: 6,
|
|
68
|
+
stableJitterHours: 12,
|
|
69
|
+
betaCheckIntervalHours: 1,
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| Channel | Behavior |
|
|
76
|
+
| -------- | ------------------------------------------------------------------------------------------------------------- |
|
|
77
|
+
| `stable` | Waits `stableDelayHours`, then applies with deterministic jitter across `stableJitterHours` (spread rollout). |
|
|
78
|
+
| `beta` | Checks every `betaCheckIntervalHours` (default: hourly) and applies immediately. |
|
|
79
|
+
| `dev` | No automatic apply. Use `Durar update` manually. |
|
|
80
|
+
|
|
81
|
+
The gateway also logs an update hint on startup (disable with `update.checkOnStart: false`).
|
|
82
|
+
|
|
83
|
+
## After updating
|
|
84
|
+
|
|
85
|
+
<Steps>
|
|
86
|
+
|
|
87
|
+
### Run doctor
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
Durar doctor
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Migrates config, audits DM policies, and checks gateway health. Details: [Doctor](/gateway/doctor)
|
|
94
|
+
|
|
95
|
+
### Restart the gateway
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
Durar gateway restart
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Verify
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
Durar health
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
</Steps>
|
|
108
|
+
|
|
109
|
+
## Rollback
|
|
110
|
+
|
|
111
|
+
### Pin a version (npm)
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm i -g Durar@<version>
|
|
115
|
+
Durar doctor
|
|
116
|
+
Durar gateway restart
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Tip: `npm view Durar version` shows the current published version.
|
|
120
|
+
|
|
121
|
+
### Pin a commit (source)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
git fetch origin
|
|
125
|
+
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
|
|
126
|
+
pnpm install && pnpm build
|
|
127
|
+
Durar gateway restart
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
To return to latest: `git checkout main && git pull`.
|
|
131
|
+
|
|
132
|
+
## If you are stuck
|
|
133
|
+
|
|
134
|
+
- Run `Durar doctor` again and read the output carefully.
|
|
135
|
+
- Check: [Troubleshooting](/gateway/troubleshooting)
|
|
136
|
+
- Ask in Discord: [https://discord.gg/clawd](https://discord.gg/clawd)
|
|
137
|
+
|
|
138
|
+
## Related
|
|
139
|
+
|
|
140
|
+
- [Install Overview](/install) — all installation methods
|
|
141
|
+
- [Doctor](/gateway/doctor) — health checks after updates
|
|
142
|
+
- [Migrating](/install/migrating) — major version migration guides
|