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,233 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Scripted onboarding and agent setup for the Durar CLI"
|
|
3
|
+
read_when:
|
|
4
|
+
- You are automating onboarding in scripts or CI
|
|
5
|
+
- You need non-interactive examples for specific providers
|
|
6
|
+
title: "CLI Automation"
|
|
7
|
+
sidebarTitle: "CLI automation"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# CLI Automation
|
|
11
|
+
|
|
12
|
+
Use `--non-interactive` to automate `Durar onboard`.
|
|
13
|
+
|
|
14
|
+
<Note>
|
|
15
|
+
`--json` does not imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
|
|
16
|
+
</Note>
|
|
17
|
+
|
|
18
|
+
## Baseline non-interactive example
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
Durar onboard --non-interactive \
|
|
22
|
+
--mode local \
|
|
23
|
+
--auth-choice apiKey \
|
|
24
|
+
--anthropic-api-key "$ANTHROPIC_API_KEY" \
|
|
25
|
+
--secret-input-mode plaintext \
|
|
26
|
+
--gateway-port 18789 \
|
|
27
|
+
--gateway-bind loopback \
|
|
28
|
+
--install-daemon \
|
|
29
|
+
--daemon-runtime node \
|
|
30
|
+
--skip-skills
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Add `--json` for a machine-readable summary.
|
|
34
|
+
|
|
35
|
+
Use `--secret-input-mode ref` to store env-backed refs in auth profiles instead of plaintext values.
|
|
36
|
+
Interactive selection between env refs and configured provider refs (`file` or `exec`) is available in the onboarding flow.
|
|
37
|
+
|
|
38
|
+
In non-interactive `ref` mode, provider env vars must be set in the process environment.
|
|
39
|
+
Passing inline key flags without the matching env var now fails fast.
|
|
40
|
+
|
|
41
|
+
Example:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
Durar onboard --non-interactive \
|
|
45
|
+
--mode local \
|
|
46
|
+
--auth-choice openai-api-key \
|
|
47
|
+
--secret-input-mode ref \
|
|
48
|
+
--accept-risk
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Provider-specific examples
|
|
52
|
+
|
|
53
|
+
<AccordionGroup>
|
|
54
|
+
<Accordion title="Anthropic Claude CLI example">
|
|
55
|
+
```bash
|
|
56
|
+
Durar onboard --non-interactive \
|
|
57
|
+
--mode local \
|
|
58
|
+
--auth-choice anthropic-cli \
|
|
59
|
+
--gateway-port 18789 \
|
|
60
|
+
--gateway-bind loopback
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Requires Claude CLI already installed and signed in on the same gateway
|
|
64
|
+
host.
|
|
65
|
+
|
|
66
|
+
</Accordion>
|
|
67
|
+
<Accordion title="Gemini example">
|
|
68
|
+
```bash
|
|
69
|
+
Durar onboard --non-interactive \
|
|
70
|
+
--mode local \
|
|
71
|
+
--auth-choice gemini-api-key \
|
|
72
|
+
--gemini-api-key "$GEMINI_API_KEY" \
|
|
73
|
+
--gateway-port 18789 \
|
|
74
|
+
--gateway-bind loopback
|
|
75
|
+
```
|
|
76
|
+
</Accordion>
|
|
77
|
+
<Accordion title="Z.AI example">
|
|
78
|
+
```bash
|
|
79
|
+
Durar onboard --non-interactive \
|
|
80
|
+
--mode local \
|
|
81
|
+
--auth-choice zai-api-key \
|
|
82
|
+
--zai-api-key "$ZAI_API_KEY" \
|
|
83
|
+
--gateway-port 18789 \
|
|
84
|
+
--gateway-bind loopback
|
|
85
|
+
```
|
|
86
|
+
</Accordion>
|
|
87
|
+
<Accordion title="Vercel AI Gateway example">
|
|
88
|
+
```bash
|
|
89
|
+
Durar onboard --non-interactive \
|
|
90
|
+
--mode local \
|
|
91
|
+
--auth-choice ai-gateway-api-key \
|
|
92
|
+
--ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
|
|
93
|
+
--gateway-port 18789 \
|
|
94
|
+
--gateway-bind loopback
|
|
95
|
+
```
|
|
96
|
+
</Accordion>
|
|
97
|
+
<Accordion title="Cloudflare AI Gateway example">
|
|
98
|
+
```bash
|
|
99
|
+
Durar onboard --non-interactive \
|
|
100
|
+
--mode local \
|
|
101
|
+
--auth-choice cloudflare-ai-gateway-api-key \
|
|
102
|
+
--cloudflare-ai-gateway-account-id "your-account-id" \
|
|
103
|
+
--cloudflare-ai-gateway-gateway-id "your-gateway-id" \
|
|
104
|
+
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
|
|
105
|
+
--gateway-port 18789 \
|
|
106
|
+
--gateway-bind loopback
|
|
107
|
+
```
|
|
108
|
+
</Accordion>
|
|
109
|
+
<Accordion title="Moonshot example">
|
|
110
|
+
```bash
|
|
111
|
+
Durar onboard --non-interactive \
|
|
112
|
+
--mode local \
|
|
113
|
+
--auth-choice moonshot-api-key \
|
|
114
|
+
--moonshot-api-key "$MOONSHOT_API_KEY" \
|
|
115
|
+
--gateway-port 18789 \
|
|
116
|
+
--gateway-bind loopback
|
|
117
|
+
```
|
|
118
|
+
</Accordion>
|
|
119
|
+
<Accordion title="Mistral example">
|
|
120
|
+
```bash
|
|
121
|
+
Durar onboard --non-interactive \
|
|
122
|
+
--mode local \
|
|
123
|
+
--auth-choice mistral-api-key \
|
|
124
|
+
--mistral-api-key "$MISTRAL_API_KEY" \
|
|
125
|
+
--gateway-port 18789 \
|
|
126
|
+
--gateway-bind loopback
|
|
127
|
+
```
|
|
128
|
+
</Accordion>
|
|
129
|
+
<Accordion title="Synthetic example">
|
|
130
|
+
```bash
|
|
131
|
+
Durar onboard --non-interactive \
|
|
132
|
+
--mode local \
|
|
133
|
+
--auth-choice synthetic-api-key \
|
|
134
|
+
--synthetic-api-key "$SYNTHETIC_API_KEY" \
|
|
135
|
+
--gateway-port 18789 \
|
|
136
|
+
--gateway-bind loopback
|
|
137
|
+
```
|
|
138
|
+
</Accordion>
|
|
139
|
+
<Accordion title="OpenCode example">
|
|
140
|
+
```bash
|
|
141
|
+
Durar onboard --non-interactive \
|
|
142
|
+
--mode local \
|
|
143
|
+
--auth-choice opencode-zen \
|
|
144
|
+
--opencode-zen-api-key "$OPENCODE_API_KEY" \
|
|
145
|
+
--gateway-port 18789 \
|
|
146
|
+
--gateway-bind loopback
|
|
147
|
+
```
|
|
148
|
+
Swap to `--auth-choice opencode-go --opencode-go-api-key "$OPENCODE_API_KEY"` for the Go catalog.
|
|
149
|
+
</Accordion>
|
|
150
|
+
<Accordion title="Ollama example">
|
|
151
|
+
```bash
|
|
152
|
+
Durar onboard --non-interactive \
|
|
153
|
+
--mode local \
|
|
154
|
+
--auth-choice ollama \
|
|
155
|
+
--custom-model-id "qwen3.5:27b" \
|
|
156
|
+
--accept-risk \
|
|
157
|
+
--gateway-port 18789 \
|
|
158
|
+
--gateway-bind loopback
|
|
159
|
+
```
|
|
160
|
+
</Accordion>
|
|
161
|
+
<Accordion title="Custom provider example">
|
|
162
|
+
```bash
|
|
163
|
+
Durar onboard --non-interactive \
|
|
164
|
+
--mode local \
|
|
165
|
+
--auth-choice custom-api-key \
|
|
166
|
+
--custom-base-url "https://llm.example.com/v1" \
|
|
167
|
+
--custom-model-id "foo-large" \
|
|
168
|
+
--custom-api-key "$CUSTOM_API_KEY" \
|
|
169
|
+
--custom-provider-id "my-custom" \
|
|
170
|
+
--custom-compatibility anthropic \
|
|
171
|
+
--gateway-port 18789 \
|
|
172
|
+
--gateway-bind loopback
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
`--custom-api-key` is optional. If omitted, onboarding checks `CUSTOM_API_KEY`.
|
|
176
|
+
|
|
177
|
+
Ref-mode variant:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
export CUSTOM_API_KEY="your-key"
|
|
181
|
+
Durar onboard --non-interactive \
|
|
182
|
+
--mode local \
|
|
183
|
+
--auth-choice custom-api-key \
|
|
184
|
+
--custom-base-url "https://llm.example.com/v1" \
|
|
185
|
+
--custom-model-id "foo-large" \
|
|
186
|
+
--secret-input-mode ref \
|
|
187
|
+
--custom-provider-id "my-custom" \
|
|
188
|
+
--custom-compatibility anthropic \
|
|
189
|
+
--gateway-port 18789 \
|
|
190
|
+
--gateway-bind loopback
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
In this mode, onboarding stores `apiKey` as `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`.
|
|
194
|
+
|
|
195
|
+
</Accordion>
|
|
196
|
+
</AccordionGroup>
|
|
197
|
+
|
|
198
|
+
Anthropic setup-token is available again as a legacy/manual onboarding path.
|
|
199
|
+
Use it with the expectation that Anthropic told Durar users the Durar
|
|
200
|
+
Claude-login path requires **Extra Usage**. For production, prefer an
|
|
201
|
+
Anthropic API key.
|
|
202
|
+
|
|
203
|
+
## Add another agent
|
|
204
|
+
|
|
205
|
+
Use `Durar agents add <name>` to create a separate agent with its own workspace,
|
|
206
|
+
sessions, and auth profiles. Running without `--workspace` launches the wizard.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
Durar agents add work \
|
|
210
|
+
--workspace ~/.Durar/workspace-work \
|
|
211
|
+
--model openai/gpt-5.4 \
|
|
212
|
+
--bind whatsapp:biz \
|
|
213
|
+
--non-interactive \
|
|
214
|
+
--json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
What it sets:
|
|
218
|
+
|
|
219
|
+
- `agents.list[].name`
|
|
220
|
+
- `agents.list[].workspace`
|
|
221
|
+
- `agents.list[].agentDir`
|
|
222
|
+
|
|
223
|
+
Notes:
|
|
224
|
+
|
|
225
|
+
- Default workspaces follow `~/.Durar/workspace-<agentId>`.
|
|
226
|
+
- Add `bindings` to route inbound messages (the wizard can do this).
|
|
227
|
+
- Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
|
|
228
|
+
|
|
229
|
+
## Related docs
|
|
230
|
+
|
|
231
|
+
- Onboarding hub: [Onboarding (CLI)](/start/wizard)
|
|
232
|
+
- Full reference: [CLI Setup Reference](/start/wizard-cli-reference)
|
|
233
|
+
- Command reference: [`Durar onboard`](/cli/onboard)
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Complete reference for CLI setup flow, auth/model setup, outputs, and internals"
|
|
3
|
+
read_when:
|
|
4
|
+
- You need detailed behavior for Durar onboard
|
|
5
|
+
- You are debugging onboarding results or integrating onboarding clients
|
|
6
|
+
title: "CLI Setup Reference"
|
|
7
|
+
sidebarTitle: "CLI reference"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# CLI Setup Reference
|
|
11
|
+
|
|
12
|
+
This page is the full reference for `Durar onboard`.
|
|
13
|
+
For the short guide, see [Onboarding (CLI)](/start/wizard).
|
|
14
|
+
|
|
15
|
+
## What the wizard does
|
|
16
|
+
|
|
17
|
+
Local mode (default) walks you through:
|
|
18
|
+
|
|
19
|
+
- Model and auth setup (OpenAI Code subscription OAuth, Anthropic Claude CLI or API key, plus MiniMax, GLM, Ollama, Moonshot, StepFun, and AI Gateway options)
|
|
20
|
+
- Workspace location and bootstrap files
|
|
21
|
+
- Gateway settings (port, bind, auth, tailscale)
|
|
22
|
+
- Channels and providers (Telegram, WhatsApp, Discord, Google Chat, Mattermost, Signal, BlueBubbles, and other bundled channel plugins)
|
|
23
|
+
- Daemon install (LaunchAgent, systemd user unit, or native Windows Scheduled Task with Startup-folder fallback)
|
|
24
|
+
- Health check
|
|
25
|
+
- Skills setup
|
|
26
|
+
|
|
27
|
+
Remote mode configures this machine to connect to a gateway elsewhere.
|
|
28
|
+
It does not install or modify anything on the remote host.
|
|
29
|
+
|
|
30
|
+
## Local flow details
|
|
31
|
+
|
|
32
|
+
<Steps>
|
|
33
|
+
<Step title="Existing config detection">
|
|
34
|
+
- If `~/.Durar/Durar.json` exists, choose Keep, Modify, or Reset.
|
|
35
|
+
- Re-running the wizard does not wipe anything unless you explicitly choose Reset (or pass `--reset`).
|
|
36
|
+
- CLI `--reset` defaults to `config+creds+sessions`; use `--reset-scope full` to also remove workspace.
|
|
37
|
+
- If config is invalid or contains legacy keys, the wizard stops and asks you to run `Durar doctor` before continuing.
|
|
38
|
+
- Reset uses `trash` and offers scopes:
|
|
39
|
+
- Config only
|
|
40
|
+
- Config + credentials + sessions
|
|
41
|
+
- Full reset (also removes workspace)
|
|
42
|
+
</Step>
|
|
43
|
+
<Step title="Model and auth">
|
|
44
|
+
- Full option matrix is in [Auth and model options](#auth-and-model-options).
|
|
45
|
+
</Step>
|
|
46
|
+
<Step title="Workspace">
|
|
47
|
+
- Default `~/.Durar/workspace` (configurable).
|
|
48
|
+
- Seeds workspace files needed for first-run bootstrap ritual.
|
|
49
|
+
- Workspace layout: [Agent workspace](/concepts/agent-workspace).
|
|
50
|
+
</Step>
|
|
51
|
+
<Step title="Gateway">
|
|
52
|
+
- Prompts for port, bind, auth mode, and tailscale exposure.
|
|
53
|
+
- Recommended: keep token auth enabled even for loopback so local WS clients must authenticate.
|
|
54
|
+
- In token mode, interactive setup offers:
|
|
55
|
+
- **Generate/store plaintext token** (default)
|
|
56
|
+
- **Use SecretRef** (opt-in)
|
|
57
|
+
- In password mode, interactive setup also supports plaintext or SecretRef storage.
|
|
58
|
+
- Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
|
|
59
|
+
- Requires a non-empty env var in the onboarding process environment.
|
|
60
|
+
- Cannot be combined with `--gateway-token`.
|
|
61
|
+
- Disable auth only if you fully trust every local process.
|
|
62
|
+
- Non-loopback binds still require auth.
|
|
63
|
+
</Step>
|
|
64
|
+
<Step title="Channels">
|
|
65
|
+
- [WhatsApp](/channels/whatsapp): optional QR login
|
|
66
|
+
- [Telegram](/channels/telegram): bot token
|
|
67
|
+
- [Discord](/channels/discord): bot token
|
|
68
|
+
- [Google Chat](/channels/googlechat): service account JSON + webhook audience
|
|
69
|
+
- [Mattermost](/channels/mattermost): bot token + base URL
|
|
70
|
+
- [Signal](/channels/signal): optional `signal-cli` install + account config
|
|
71
|
+
- [BlueBubbles](/channels/bluebubbles): recommended for iMessage; server URL + password + webhook
|
|
72
|
+
- [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access
|
|
73
|
+
- DM security: default is pairing. First DM sends a code; approve via
|
|
74
|
+
`Durar pairing approve <channel> <code>` or use allowlists.
|
|
75
|
+
</Step>
|
|
76
|
+
<Step title="Daemon install">
|
|
77
|
+
- macOS: LaunchAgent
|
|
78
|
+
- Requires logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
|
|
79
|
+
- Linux and Windows via WSL2: systemd user unit
|
|
80
|
+
- Wizard attempts `loginctl enable-linger <user>` so gateway stays up after logout.
|
|
81
|
+
- May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
|
|
82
|
+
- Native Windows: Scheduled Task first
|
|
83
|
+
- If task creation is denied, Durar falls back to a per-user Startup-folder login item and starts the gateway immediately.
|
|
84
|
+
- Scheduled Tasks remain preferred because they provide better supervisor status.
|
|
85
|
+
- Runtime selection: Node (recommended; required for WhatsApp and Telegram). Bun is not recommended.
|
|
86
|
+
</Step>
|
|
87
|
+
<Step title="Health check">
|
|
88
|
+
- Starts gateway (if needed) and runs `Durar health`.
|
|
89
|
+
- `Durar status --deep` adds the live gateway health probe to status output, including channel probes when supported.
|
|
90
|
+
</Step>
|
|
91
|
+
<Step title="Skills">
|
|
92
|
+
- Reads available skills and checks requirements.
|
|
93
|
+
- Lets you choose node manager: npm, pnpm, or bun.
|
|
94
|
+
- Installs optional dependencies (some use Homebrew on macOS).
|
|
95
|
+
</Step>
|
|
96
|
+
<Step title="Finish">
|
|
97
|
+
- Summary and next steps, including iOS, Android, and macOS app options.
|
|
98
|
+
</Step>
|
|
99
|
+
</Steps>
|
|
100
|
+
|
|
101
|
+
<Note>
|
|
102
|
+
If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
|
|
103
|
+
If Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
|
|
104
|
+
</Note>
|
|
105
|
+
|
|
106
|
+
## Remote mode details
|
|
107
|
+
|
|
108
|
+
Remote mode configures this machine to connect to a gateway elsewhere.
|
|
109
|
+
|
|
110
|
+
<Info>
|
|
111
|
+
Remote mode does not install or modify anything on the remote host.
|
|
112
|
+
</Info>
|
|
113
|
+
|
|
114
|
+
What you set:
|
|
115
|
+
|
|
116
|
+
- Remote gateway URL (`ws://...`)
|
|
117
|
+
- Token if remote gateway auth is required (recommended)
|
|
118
|
+
|
|
119
|
+
<Note>
|
|
120
|
+
- If gateway is loopback-only, use SSH tunneling or a tailnet.
|
|
121
|
+
- Discovery hints:
|
|
122
|
+
- macOS: Bonjour (`dns-sd`)
|
|
123
|
+
- Linux: Avahi (`avahi-browse`)
|
|
124
|
+
</Note>
|
|
125
|
+
|
|
126
|
+
## Auth and model options
|
|
127
|
+
|
|
128
|
+
<AccordionGroup>
|
|
129
|
+
<Accordion title="Anthropic API key">
|
|
130
|
+
Uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
|
|
131
|
+
</Accordion>
|
|
132
|
+
<Accordion title="Anthropic Claude CLI">
|
|
133
|
+
Reuses a local Claude CLI login on the gateway host and switches model
|
|
134
|
+
selection to a canonical `claude-cli/claude-*` ref.
|
|
135
|
+
|
|
136
|
+
This is an available local fallback path in `Durar onboard` and
|
|
137
|
+
`Durar configure`. For production, prefer an Anthropic API key.
|
|
138
|
+
|
|
139
|
+
- macOS: checks Keychain item "Claude Code-credentials"
|
|
140
|
+
- Linux and Windows: reuses `~/.claude/.credentials.json` if present
|
|
141
|
+
|
|
142
|
+
On macOS, choose "Always Allow" so launchd starts do not block.
|
|
143
|
+
|
|
144
|
+
</Accordion>
|
|
145
|
+
<Accordion title="OpenAI Code subscription (Codex CLI reuse)">
|
|
146
|
+
If `~/.codex/auth.json` exists, the wizard can reuse it.
|
|
147
|
+
Reused Codex CLI credentials stay managed by Codex CLI; on expiry Durar
|
|
148
|
+
re-reads that source first and, when the provider can refresh it, writes
|
|
149
|
+
the refreshed credential back to Codex storage instead of taking ownership
|
|
150
|
+
itself.
|
|
151
|
+
</Accordion>
|
|
152
|
+
<Accordion title="OpenAI Code subscription (OAuth)">
|
|
153
|
+
Browser flow; paste `code#state`.
|
|
154
|
+
|
|
155
|
+
Sets `agents.defaults.model` to `openai-codex/gpt-5.4` when model is unset or `openai/*`.
|
|
156
|
+
|
|
157
|
+
</Accordion>
|
|
158
|
+
<Accordion title="OpenAI API key">
|
|
159
|
+
Uses `OPENAI_API_KEY` if present or prompts for a key, then stores the credential in auth profiles.
|
|
160
|
+
|
|
161
|
+
Sets `agents.defaults.model` to `openai/gpt-5.4` when model is unset, `openai/*`, or `openai-codex/*`.
|
|
162
|
+
|
|
163
|
+
</Accordion>
|
|
164
|
+
<Accordion title="xAI (Grok) API key">
|
|
165
|
+
Prompts for `XAI_API_KEY` and configures xAI as a model provider.
|
|
166
|
+
</Accordion>
|
|
167
|
+
<Accordion title="OpenCode">
|
|
168
|
+
Prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`) and lets you choose the Zen or Go catalog.
|
|
169
|
+
Setup URL: [opencode.ai/auth](https://opencode.ai/auth).
|
|
170
|
+
</Accordion>
|
|
171
|
+
<Accordion title="API key (generic)">
|
|
172
|
+
Stores the key for you.
|
|
173
|
+
</Accordion>
|
|
174
|
+
<Accordion title="Vercel AI Gateway">
|
|
175
|
+
Prompts for `AI_GATEWAY_API_KEY`.
|
|
176
|
+
More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway).
|
|
177
|
+
</Accordion>
|
|
178
|
+
<Accordion title="Cloudflare AI Gateway">
|
|
179
|
+
Prompts for account ID, gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
|
|
180
|
+
More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway).
|
|
181
|
+
</Accordion>
|
|
182
|
+
<Accordion title="MiniMax">
|
|
183
|
+
Config is auto-written. Hosted default is `MiniMax-M2.7`; API-key setup uses
|
|
184
|
+
`minimax/...`, and OAuth setup uses `minimax-portal/...`.
|
|
185
|
+
More detail: [MiniMax](/providers/minimax).
|
|
186
|
+
</Accordion>
|
|
187
|
+
<Accordion title="StepFun">
|
|
188
|
+
Config is auto-written for StepFun standard or Step Plan on China or global endpoints.
|
|
189
|
+
Standard currently includes `step-3.5-flash`, and Step Plan also includes `step-3.5-flash-2603`.
|
|
190
|
+
More detail: [StepFun](/providers/stepfun).
|
|
191
|
+
</Accordion>
|
|
192
|
+
<Accordion title="Synthetic (Anthropic-compatible)">
|
|
193
|
+
Prompts for `SYNTHETIC_API_KEY`.
|
|
194
|
+
More detail: [Synthetic](/providers/synthetic).
|
|
195
|
+
</Accordion>
|
|
196
|
+
<Accordion title="Ollama (Cloud and local open models)">
|
|
197
|
+
Prompts for base URL (default `http://127.0.0.1:11434`), then offers Cloud + Local or Local mode.
|
|
198
|
+
Discovers available models and suggests defaults.
|
|
199
|
+
More detail: [Ollama](/providers/ollama).
|
|
200
|
+
</Accordion>
|
|
201
|
+
<Accordion title="Moonshot and Kimi Coding">
|
|
202
|
+
Moonshot (Kimi K2) and Kimi Coding configs are auto-written.
|
|
203
|
+
More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot).
|
|
204
|
+
</Accordion>
|
|
205
|
+
<Accordion title="Custom provider">
|
|
206
|
+
Works with OpenAI-compatible and Anthropic-compatible endpoints.
|
|
207
|
+
|
|
208
|
+
Interactive onboarding supports the same API key storage choices as other provider API key flows:
|
|
209
|
+
- **Paste API key now** (plaintext)
|
|
210
|
+
- **Use secret reference** (env ref or configured provider ref, with preflight validation)
|
|
211
|
+
|
|
212
|
+
Non-interactive flags:
|
|
213
|
+
- `--auth-choice custom-api-key`
|
|
214
|
+
- `--custom-base-url`
|
|
215
|
+
- `--custom-model-id`
|
|
216
|
+
- `--custom-api-key` (optional; falls back to `CUSTOM_API_KEY`)
|
|
217
|
+
- `--custom-provider-id` (optional)
|
|
218
|
+
- `--custom-compatibility <openai|anthropic>` (optional; default `openai`)
|
|
219
|
+
|
|
220
|
+
</Accordion>
|
|
221
|
+
<Accordion title="Skip">
|
|
222
|
+
Leaves auth unconfigured.
|
|
223
|
+
</Accordion>
|
|
224
|
+
</AccordionGroup>
|
|
225
|
+
|
|
226
|
+
Model behavior:
|
|
227
|
+
|
|
228
|
+
- Pick default model from detected options, or enter provider and model manually.
|
|
229
|
+
- When onboarding starts from a provider auth choice, the model picker prefers
|
|
230
|
+
that provider automatically. For Volcengine and BytePlus, the same preference
|
|
231
|
+
also matches their coding-plan variants (`volcengine-plan/*`,
|
|
232
|
+
`byteplus-plan/*`).
|
|
233
|
+
- If that preferred-provider filter would be empty, the picker falls back to
|
|
234
|
+
the full catalog instead of showing no models.
|
|
235
|
+
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
|
|
236
|
+
|
|
237
|
+
Credential and profile paths:
|
|
238
|
+
|
|
239
|
+
- Auth profiles (API keys + OAuth): `~/.Durar/agents/<agentId>/agent/auth-profiles.json`
|
|
240
|
+
- Legacy OAuth import: `~/.Durar/credentials/oauth.json`
|
|
241
|
+
|
|
242
|
+
Credential storage mode:
|
|
243
|
+
|
|
244
|
+
- Default onboarding behavior persists API keys as plaintext values in auth profiles.
|
|
245
|
+
- `--secret-input-mode ref` enables reference mode instead of plaintext key storage.
|
|
246
|
+
In interactive setup, you can choose either:
|
|
247
|
+
- environment variable ref (for example `keyRef: { source: "env", provider: "default", id: "OPENAI_API_KEY" }`)
|
|
248
|
+
- configured provider ref (`file` or `exec`) with provider alias + id
|
|
249
|
+
- Interactive reference mode runs a fast preflight validation before saving.
|
|
250
|
+
- Env refs: validates variable name + non-empty value in the current onboarding environment.
|
|
251
|
+
- Provider refs: validates provider config and resolves the requested id.
|
|
252
|
+
- If preflight fails, onboarding shows the error and lets you retry.
|
|
253
|
+
- In non-interactive mode, `--secret-input-mode ref` is env-backed only.
|
|
254
|
+
- Set the provider env var in the onboarding process environment.
|
|
255
|
+
- Inline key flags (for example `--openai-api-key`) require that env var to be set; otherwise onboarding fails fast.
|
|
256
|
+
- For custom providers, non-interactive `ref` mode stores `models.providers.<id>.apiKey` as `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`.
|
|
257
|
+
- In that custom-provider case, `--custom-api-key` requires `CUSTOM_API_KEY` to be set; otherwise onboarding fails fast.
|
|
258
|
+
- Gateway auth credentials support plaintext and SecretRef choices in interactive setup:
|
|
259
|
+
- Token mode: **Generate/store plaintext token** (default) or **Use SecretRef**.
|
|
260
|
+
- Password mode: plaintext or SecretRef.
|
|
261
|
+
- Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
|
|
262
|
+
- Existing plaintext setups continue to work unchanged.
|
|
263
|
+
|
|
264
|
+
<Note>
|
|
265
|
+
Headless and server tip: complete OAuth on a machine with a browser, then copy
|
|
266
|
+
that agent's `auth-profiles.json` (for example
|
|
267
|
+
`~/.Durar/agents/<agentId>/agent/auth-profiles.json`, or the matching
|
|
268
|
+
`$Durar_STATE_DIR/...` path) to the gateway host. `credentials/oauth.json`
|
|
269
|
+
is only a legacy import source.
|
|
270
|
+
</Note>
|
|
271
|
+
|
|
272
|
+
## Outputs and internals
|
|
273
|
+
|
|
274
|
+
Typical fields in `~/.Durar/Durar.json`:
|
|
275
|
+
|
|
276
|
+
- `agents.defaults.workspace`
|
|
277
|
+
- `agents.defaults.model` / `models.providers` (if Minimax chosen)
|
|
278
|
+
- `tools.profile` (local onboarding defaults to `"coding"` when unset; existing explicit values are preserved)
|
|
279
|
+
- `gateway.*` (mode, bind, auth, tailscale)
|
|
280
|
+
- `session.dmScope` (local onboarding defaults this to `per-channel-peer` when unset; existing explicit values are preserved)
|
|
281
|
+
- `channels.telegram.botToken`, `channels.discord.token`, `channels.matrix.*`, `channels.signal.*`, `channels.imessage.*`
|
|
282
|
+
- Channel allowlists (Slack, Discord, Matrix, Microsoft Teams) when you opt in during prompts (names resolve to IDs when possible)
|
|
283
|
+
- `skills.install.nodeManager`
|
|
284
|
+
- The `setup --node-manager` flag accepts `npm`, `pnpm`, or `bun`.
|
|
285
|
+
- Manual config can still set `skills.install.nodeManager: "yarn"` later.
|
|
286
|
+
- `wizard.lastRunAt`
|
|
287
|
+
- `wizard.lastRunVersion`
|
|
288
|
+
- `wizard.lastRunCommit`
|
|
289
|
+
- `wizard.lastRunCommand`
|
|
290
|
+
- `wizard.lastRunMode`
|
|
291
|
+
|
|
292
|
+
`Durar agents add` writes `agents.list[]` and optional `bindings`.
|
|
293
|
+
|
|
294
|
+
WhatsApp credentials go under `~/.Durar/credentials/whatsapp/<accountId>/`.
|
|
295
|
+
Sessions are stored under `~/.Durar/agents/<agentId>/sessions/`.
|
|
296
|
+
|
|
297
|
+
<Note>
|
|
298
|
+
Some channels are delivered as plugins. When selected during setup, the wizard
|
|
299
|
+
prompts to install the plugin (npm or local path) before channel configuration.
|
|
300
|
+
</Note>
|
|
301
|
+
|
|
302
|
+
Gateway wizard RPC:
|
|
303
|
+
|
|
304
|
+
- `wizard.start`
|
|
305
|
+
- `wizard.next`
|
|
306
|
+
- `wizard.cancel`
|
|
307
|
+
- `wizard.status`
|
|
308
|
+
|
|
309
|
+
Clients (macOS app and Control UI) can render steps without re-implementing onboarding logic.
|
|
310
|
+
|
|
311
|
+
Signal setup behavior:
|
|
312
|
+
|
|
313
|
+
- Downloads the appropriate release asset
|
|
314
|
+
- Stores it under `~/.Durar/tools/signal-cli/<version>/`
|
|
315
|
+
- Writes `channels.signal.cliPath` in config
|
|
316
|
+
- JVM builds require Java 21
|
|
317
|
+
- Native builds are used when available
|
|
318
|
+
- Windows uses WSL2 and follows Linux signal-cli flow inside WSL
|
|
319
|
+
|
|
320
|
+
## Related docs
|
|
321
|
+
|
|
322
|
+
- Onboarding hub: [Onboarding (CLI)](/start/wizard)
|
|
323
|
+
- Automation and scripts: [CLI Automation](/start/wizard-cli-automation)
|
|
324
|
+
- Command reference: [`Durar onboard`](/cli/onboard)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "CLI onboarding: guided setup for gateway, workspace, channels, and skills"
|
|
3
|
+
read_when:
|
|
4
|
+
- Running or configuring CLI onboarding
|
|
5
|
+
- Setting up a new machine
|
|
6
|
+
title: "Onboarding (CLI)"
|
|
7
|
+
sidebarTitle: "Onboarding: CLI"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Onboarding (CLI)
|
|
11
|
+
|
|
12
|
+
CLI onboarding is the **recommended** way to set up Durar on macOS,
|
|
13
|
+
Linux, or Windows (via WSL2; strongly recommended).
|
|
14
|
+
It configures a local Gateway or a remote Gateway connection, plus channels, skills,
|
|
15
|
+
and workspace defaults in one guided flow.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
Durar onboard
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
<Info>
|
|
22
|
+
Fastest first chat: open the Control UI (no channel setup needed). Run
|
|
23
|
+
`Durar dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
|
|
24
|
+
</Info>
|
|
25
|
+
|
|
26
|
+
To reconfigure later:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
Durar configure
|
|
30
|
+
Durar agents add <name>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
<Note>
|
|
34
|
+
`--json` does not imply non-interactive mode. For scripts, use `--non-interactive`.
|
|
35
|
+
</Note>
|
|
36
|
+
|
|
37
|
+
<Tip>
|
|
38
|
+
CLI onboarding includes a web search step where you can pick a provider
|
|
39
|
+
such as Brave, DuckDuckGo, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search,
|
|
40
|
+
Ollama Web Search, Perplexity, SearXNG, or Tavily. Some providers require an
|
|
41
|
+
API key, while others are key-free. You can also configure this later with
|
|
42
|
+
`Durar configure --section web`. Docs: [Web tools](/tools/web).
|
|
43
|
+
</Tip>
|
|
44
|
+
|
|
45
|
+
## QuickStart vs Advanced
|
|
46
|
+
|
|
47
|
+
Onboarding starts with **QuickStart** (defaults) vs **Advanced** (full control).
|
|
48
|
+
|
|
49
|
+
<Tabs>
|
|
50
|
+
<Tab title="QuickStart (defaults)">
|
|
51
|
+
- Local gateway (loopback)
|
|
52
|
+
- Workspace default (or existing workspace)
|
|
53
|
+
- Gateway port **18789**
|
|
54
|
+
- Gateway auth **Token** (auto‑generated, even on loopback)
|
|
55
|
+
- Tool policy default for new local setups: `tools.profile: "coding"` (existing explicit profile is preserved)
|
|
56
|
+
- DM isolation default: local onboarding writes `session.dmScope: "per-channel-peer"` when unset. Details: [CLI Setup Reference](/start/wizard-cli-reference#outputs-and-internals)
|
|
57
|
+
- Tailscale exposure **Off**
|
|
58
|
+
- Telegram + WhatsApp DMs default to **allowlist** (you'll be prompted for your phone number)
|
|
59
|
+
</Tab>
|
|
60
|
+
<Tab title="Advanced (full control)">
|
|
61
|
+
- Exposes every step (mode, workspace, gateway, channels, daemon, skills).
|
|
62
|
+
</Tab>
|
|
63
|
+
</Tabs>
|
|
64
|
+
|
|
65
|
+
## What onboarding configures
|
|
66
|
+
|
|
67
|
+
**Local mode (default)** walks you through these steps:
|
|
68
|
+
|
|
69
|
+
1. **Model/Auth** — choose any supported provider/auth flow (API key, OAuth, or provider-specific manual auth), including Custom Provider
|
|
70
|
+
(OpenAI-compatible, Anthropic-compatible, or Unknown auto-detect). Pick a default model.
|
|
71
|
+
Security note: if this agent will run tools or process webhook/hooks content, prefer the strongest latest-generation model available and keep tool policy strict. Weaker/older tiers are easier to prompt-inject.
|
|
72
|
+
For non-interactive runs, `--secret-input-mode ref` stores env-backed refs in auth profiles instead of plaintext API key values.
|
|
73
|
+
In non-interactive `ref` mode, the provider env var must be set; passing inline key flags without that env var fails fast.
|
|
74
|
+
In interactive runs, choosing secret reference mode lets you point at either an environment variable or a configured provider ref (`file` or `exec`), with a fast preflight validation before saving.
|
|
75
|
+
For Anthropic, interactive onboarding/configure offers **Anthropic Claude CLI** as a local fallback and **Anthropic API key** as the recommended production path. Anthropic setup-token is also available again as a legacy/manual Durar path, with Anthropic's Durar-specific **Extra Usage** billing expectation.
|
|
76
|
+
2. **Workspace** — Location for agent files (default `~/.Durar/workspace`). Seeds bootstrap files.
|
|
77
|
+
3. **Gateway** — Port, bind address, auth mode, Tailscale exposure.
|
|
78
|
+
In interactive token mode, choose default plaintext token storage or opt into SecretRef.
|
|
79
|
+
Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
|
|
80
|
+
4. **Channels** — built-in and bundled chat channels such as BlueBubbles, Discord, Feishu, Google Chat, Mattermost, Microsoft Teams, QQ Bot, Signal, Slack, Telegram, WhatsApp, and more.
|
|
81
|
+
5. **Daemon** — Installs a LaunchAgent (macOS), systemd user unit (Linux/WSL2), or native Windows Scheduled Task with per-user Startup-folder fallback.
|
|
82
|
+
If token auth requires a token and `gateway.auth.token` is SecretRef-managed, daemon install validates it but does not persist the resolved token into supervisor service environment metadata.
|
|
83
|
+
If token auth requires a token and the configured token SecretRef is unresolved, daemon install is blocked with actionable guidance.
|
|
84
|
+
If both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, daemon install is blocked until mode is set explicitly.
|
|
85
|
+
6. **Health check** — Starts the Gateway and verifies it's running.
|
|
86
|
+
7. **Skills** — Installs recommended skills and optional dependencies.
|
|
87
|
+
|
|
88
|
+
<Note>
|
|
89
|
+
Re-running onboarding does **not** wipe anything unless you explicitly choose **Reset** (or pass `--reset`).
|
|
90
|
+
CLI `--reset` defaults to config, credentials, and sessions; use `--reset-scope full` to include workspace.
|
|
91
|
+
If the config is invalid or contains legacy keys, onboarding asks you to run `Durar doctor` first.
|
|
92
|
+
</Note>
|
|
93
|
+
|
|
94
|
+
**Remote mode** only configures the local client to connect to a Gateway elsewhere.
|
|
95
|
+
It does **not** install or change anything on the remote host.
|
|
96
|
+
|
|
97
|
+
## Add another agent
|
|
98
|
+
|
|
99
|
+
Use `Durar agents add <name>` to create a separate agent with its own workspace,
|
|
100
|
+
sessions, and auth profiles. Running without `--workspace` launches onboarding.
|
|
101
|
+
|
|
102
|
+
What it sets:
|
|
103
|
+
|
|
104
|
+
- `agents.list[].name`
|
|
105
|
+
- `agents.list[].workspace`
|
|
106
|
+
- `agents.list[].agentDir`
|
|
107
|
+
|
|
108
|
+
Notes:
|
|
109
|
+
|
|
110
|
+
- Default workspaces follow `~/.Durar/workspace-<agentId>`.
|
|
111
|
+
- Add `bindings` to route inbound messages (onboarding can do this).
|
|
112
|
+
- Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
|
|
113
|
+
|
|
114
|
+
## Full reference
|
|
115
|
+
|
|
116
|
+
For detailed step-by-step breakdowns and config outputs, see
|
|
117
|
+
[CLI Setup Reference](/start/wizard-cli-reference).
|
|
118
|
+
For non-interactive examples, see [CLI Automation](/start/wizard-cli-automation).
|
|
119
|
+
For the deeper technical reference, including RPC details, see
|
|
120
|
+
[Onboarding Reference](/reference/wizard).
|
|
121
|
+
|
|
122
|
+
## Related docs
|
|
123
|
+
|
|
124
|
+
- CLI command reference: [`Durar onboard`](/cli/onboard)
|
|
125
|
+
- Onboarding overview: [Onboarding Overview](/start/onboarding-overview)
|
|
126
|
+
- macOS app onboarding: [Onboarding](/start/onboarding)
|
|
127
|
+
- Agent first-run ritual: [Agent Bootstrapping](/start/bootstrapping)
|