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,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Generate and edit images using configured providers (OpenAI, Google Gemini, fal, MiniMax)"
|
|
3
|
+
read_when:
|
|
4
|
+
- Generating images via the agent
|
|
5
|
+
- Configuring image generation providers and models
|
|
6
|
+
- Understanding the image_generate tool parameters
|
|
7
|
+
title: "Image Generation"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Image Generation
|
|
11
|
+
|
|
12
|
+
The `image_generate` tool lets the agent create and edit images using your configured providers. Generated images are delivered automatically as media attachments in the agent's reply.
|
|
13
|
+
|
|
14
|
+
<Note>
|
|
15
|
+
The tool only appears when at least one image generation provider is available. If you don't see `image_generate` in your agent's tools, configure `agents.defaults.imageGenerationModel` or set up a provider API key.
|
|
16
|
+
</Note>
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
1. Set an API key for at least one provider (for example `OPENAI_API_KEY` or `GEMINI_API_KEY`).
|
|
21
|
+
2. Optionally set your preferred model:
|
|
22
|
+
|
|
23
|
+
```json5
|
|
24
|
+
{
|
|
25
|
+
agents: {
|
|
26
|
+
defaults: {
|
|
27
|
+
imageGenerationModel: "openai/gpt-image-1",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
3. Ask the agent: _"Generate an image of a friendly lobster mascot."_
|
|
34
|
+
|
|
35
|
+
The agent calls `image_generate` automatically. No tool allow-listing needed — it's enabled by default when a provider is available.
|
|
36
|
+
|
|
37
|
+
## Supported providers
|
|
38
|
+
|
|
39
|
+
| Provider | Default model | Edit support | API key |
|
|
40
|
+
| -------- | -------------------------------- | ----------------------- | ----------------------------------------------------- |
|
|
41
|
+
| OpenAI | `gpt-image-1` | Yes (up to 5 images) | `OPENAI_API_KEY` |
|
|
42
|
+
| Google | `gemini-3.1-flash-image-preview` | Yes | `GEMINI_API_KEY` or `GOOGLE_API_KEY` |
|
|
43
|
+
| fal | `fal-ai/flux/dev` | Yes | `FAL_KEY` |
|
|
44
|
+
| MiniMax | `image-01` | Yes (subject reference) | `MINIMAX_API_KEY` or MiniMax OAuth (`minimax-portal`) |
|
|
45
|
+
|
|
46
|
+
Use `action: "list"` to inspect available providers and models at runtime:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/tool image_generate action=list
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Tool parameters
|
|
53
|
+
|
|
54
|
+
| Parameter | Type | Description |
|
|
55
|
+
| ------------- | -------- | ------------------------------------------------------------------------------------- |
|
|
56
|
+
| `prompt` | string | Image generation prompt (required for `action: "generate"`) |
|
|
57
|
+
| `action` | string | `"generate"` (default) or `"list"` to inspect providers |
|
|
58
|
+
| `model` | string | Provider/model override, e.g. `openai/gpt-image-1` |
|
|
59
|
+
| `image` | string | Single reference image path or URL for edit mode |
|
|
60
|
+
| `images` | string[] | Multiple reference images for edit mode (up to 5) |
|
|
61
|
+
| `size` | string | Size hint: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` |
|
|
62
|
+
| `aspectRatio` | string | Aspect ratio: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|
|
63
|
+
| `resolution` | string | Resolution hint: `1K`, `2K`, or `4K` |
|
|
64
|
+
| `count` | number | Number of images to generate (1–4) |
|
|
65
|
+
| `filename` | string | Output filename hint |
|
|
66
|
+
|
|
67
|
+
Not all providers support all parameters. The tool passes what each provider supports and ignores the rest.
|
|
68
|
+
|
|
69
|
+
## Configuration
|
|
70
|
+
|
|
71
|
+
### Model selection
|
|
72
|
+
|
|
73
|
+
```json5
|
|
74
|
+
{
|
|
75
|
+
agents: {
|
|
76
|
+
defaults: {
|
|
77
|
+
// String form: primary model only
|
|
78
|
+
imageGenerationModel: "google/gemini-3.1-flash-image-preview",
|
|
79
|
+
|
|
80
|
+
// Object form: primary + ordered fallbacks
|
|
81
|
+
imageGenerationModel: {
|
|
82
|
+
primary: "openai/gpt-image-1",
|
|
83
|
+
fallbacks: ["google/gemini-3.1-flash-image-preview", "fal/fal-ai/flux/dev"],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Provider selection order
|
|
91
|
+
|
|
92
|
+
When generating an image, Durar tries providers in this order:
|
|
93
|
+
|
|
94
|
+
1. **`model` parameter** from the tool call (if the agent specifies one)
|
|
95
|
+
2. **`imageGenerationModel.primary`** from config
|
|
96
|
+
3. **`imageGenerationModel.fallbacks`** in order
|
|
97
|
+
4. **Auto-detection** — uses auth-backed provider defaults only:
|
|
98
|
+
- current default provider first
|
|
99
|
+
- remaining registered image-generation providers in provider-id order
|
|
100
|
+
|
|
101
|
+
If a provider fails (auth error, rate limit, etc.), the next candidate is tried automatically. If all fail, the error includes details from each attempt.
|
|
102
|
+
|
|
103
|
+
Notes:
|
|
104
|
+
|
|
105
|
+
- Auto-detection is auth-aware. A provider default only enters the candidate list
|
|
106
|
+
when Durar can actually authenticate that provider.
|
|
107
|
+
- Use `action: "list"` to inspect the currently registered providers, their
|
|
108
|
+
default models, and auth env-var hints.
|
|
109
|
+
|
|
110
|
+
### Image editing
|
|
111
|
+
|
|
112
|
+
OpenAI, Google, fal, and MiniMax support editing reference images. Pass a reference image path or URL:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
"Generate a watercolor version of this photo" + image: "/path/to/photo.jpg"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
OpenAI and Google support up to 5 reference images via the `images` parameter. fal and MiniMax support 1.
|
|
119
|
+
|
|
120
|
+
MiniMax image generation is available through both bundled MiniMax auth paths:
|
|
121
|
+
|
|
122
|
+
- `minimax/image-01` for API-key setups
|
|
123
|
+
- `minimax-portal/image-01` for OAuth setups
|
|
124
|
+
|
|
125
|
+
## Provider capabilities
|
|
126
|
+
|
|
127
|
+
| Capability | OpenAI | Google | fal | MiniMax |
|
|
128
|
+
| --------------------- | -------------------- | -------------------- | ------------------- | -------------------------- |
|
|
129
|
+
| Generate | Yes (up to 4) | Yes (up to 4) | Yes (up to 4) | Yes (up to 9) |
|
|
130
|
+
| Edit/reference | Yes (up to 5 images) | Yes (up to 5 images) | Yes (1 image) | Yes (1 image, subject ref) |
|
|
131
|
+
| Size control | Yes | Yes | Yes | No |
|
|
132
|
+
| Aspect ratio | No | Yes | Yes (generate only) | Yes |
|
|
133
|
+
| Resolution (1K/2K/4K) | No | Yes | Yes | No |
|
|
134
|
+
|
|
135
|
+
## Related
|
|
136
|
+
|
|
137
|
+
- [Tools Overview](/tools) — all available agent tools
|
|
138
|
+
- [Configuration Reference](/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` config
|
|
139
|
+
- [Models](/concepts/models) — model configuration and failover
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Durar tools and plugins overview: what the agent can do and how to extend it"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to understand what tools Durar provides
|
|
5
|
+
- You need to configure, allow, or deny tools
|
|
6
|
+
- You are deciding between built-in tools, skills, and plugins
|
|
7
|
+
title: "Tools and Plugins"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Tools and Plugins
|
|
11
|
+
|
|
12
|
+
Everything the agent does beyond generating text happens through **tools**.
|
|
13
|
+
Tools are how the agent reads files, runs commands, browses the web, sends
|
|
14
|
+
messages, and interacts with devices.
|
|
15
|
+
|
|
16
|
+
## Tools, skills, and plugins
|
|
17
|
+
|
|
18
|
+
Durar has three layers that work together:
|
|
19
|
+
|
|
20
|
+
<Steps>
|
|
21
|
+
<Step title="Tools are what the agent calls">
|
|
22
|
+
A tool is a typed function the agent can invoke (e.g. `exec`, `browser`,
|
|
23
|
+
`web_search`, `message`). Durar ships a set of **built-in tools** and
|
|
24
|
+
plugins can register additional ones.
|
|
25
|
+
|
|
26
|
+
The agent sees tools as structured function definitions sent to the model API.
|
|
27
|
+
|
|
28
|
+
</Step>
|
|
29
|
+
|
|
30
|
+
<Step title="Skills teach the agent when and how">
|
|
31
|
+
A skill is a markdown file (`SKILL.md`) injected into the system prompt.
|
|
32
|
+
Skills give the agent context, constraints, and step-by-step guidance for
|
|
33
|
+
using tools effectively. Skills live in your workspace, in shared folders,
|
|
34
|
+
or ship inside plugins.
|
|
35
|
+
|
|
36
|
+
[Skills reference](/tools/skills) | [Creating skills](/tools/creating-skills)
|
|
37
|
+
|
|
38
|
+
</Step>
|
|
39
|
+
|
|
40
|
+
<Step title="Plugins package everything together">
|
|
41
|
+
A plugin is a package that can register any combination of capabilities:
|
|
42
|
+
channels, model providers, tools, skills, speech, realtime transcription,
|
|
43
|
+
realtime voice, media understanding, image generation, video generation,
|
|
44
|
+
web fetch, web search, and more. Some plugins are **core** (shipped with
|
|
45
|
+
Durar), others are **external** (published on npm by the community).
|
|
46
|
+
|
|
47
|
+
[Install and configure plugins](/tools/plugin) | [Build your own](/plugins/building-plugins)
|
|
48
|
+
|
|
49
|
+
</Step>
|
|
50
|
+
</Steps>
|
|
51
|
+
|
|
52
|
+
## Built-in tools
|
|
53
|
+
|
|
54
|
+
These tools ship with Durar and are available without installing any plugins:
|
|
55
|
+
|
|
56
|
+
| Tool | What it does | Page |
|
|
57
|
+
| ------------------------------------------ | --------------------------------------------------------------------- | --------------------------------------- |
|
|
58
|
+
| `exec` / `process` | Run shell commands, manage background processes | [Exec](/tools/exec) |
|
|
59
|
+
| `code_execution` | Run sandboxed remote Python analysis | [Code Execution](/tools/code-execution) |
|
|
60
|
+
| `browser` | Control a Chromium browser (navigate, click, screenshot) | [Browser](/tools/browser) |
|
|
61
|
+
| `web_search` / `x_search` / `web_fetch` | Search the web, search X posts, fetch page content | [Web](/tools/web) |
|
|
62
|
+
| `read` / `write` / `edit` | File I/O in the workspace | |
|
|
63
|
+
| `apply_patch` | Multi-hunk file patches | [Apply Patch](/tools/apply-patch) |
|
|
64
|
+
| `message` | Send messages across all channels | [Agent Send](/tools/agent-send) |
|
|
65
|
+
| `canvas` | Drive node Canvas (present, eval, snapshot) | |
|
|
66
|
+
| `nodes` | Discover and target paired devices | |
|
|
67
|
+
| `cron` / `gateway` | Manage scheduled jobs; inspect, patch, restart, or update the gateway | |
|
|
68
|
+
| `image` / `image_generate` | Analyze or generate images | |
|
|
69
|
+
| `tts` | One-shot text-to-speech conversion | [TTS](/tools/tts) |
|
|
70
|
+
| `sessions_*` / `subagents` / `agents_list` | Session management, status, and sub-agent orchestration | [Sub-agents](/tools/subagents) |
|
|
71
|
+
| `session_status` | Lightweight `/status`-style readback and session model override | [Session Tools](/concepts/session-tool) |
|
|
72
|
+
|
|
73
|
+
For image work, use `image` for analysis and `image_generate` for generation or editing. If you target `openai/*`, `google/*`, `fal/*`, or another non-default image provider, configure that provider's auth/API key first.
|
|
74
|
+
|
|
75
|
+
`session_status` is the lightweight status/readback tool in the sessions group.
|
|
76
|
+
It answers `/status`-style questions about the current session and can
|
|
77
|
+
optionally set a per-session model override; `model=default` clears that
|
|
78
|
+
override. Like `/status`, it can backfill sparse token/cache counters and the
|
|
79
|
+
active runtime model label from the latest transcript usage entry.
|
|
80
|
+
|
|
81
|
+
`gateway` is the owner-only runtime tool for gateway operations:
|
|
82
|
+
|
|
83
|
+
- `config.schema.lookup` for one path-scoped config subtree before edits
|
|
84
|
+
- `config.get` for the current config snapshot + hash
|
|
85
|
+
- `config.patch` for partial config updates with restart
|
|
86
|
+
- `config.apply` only for full-config replacement
|
|
87
|
+
- `update.run` for explicit self-update + restart
|
|
88
|
+
|
|
89
|
+
For partial changes, prefer `config.schema.lookup` then `config.patch`. Use
|
|
90
|
+
`config.apply` only when you intentionally replace the entire config.
|
|
91
|
+
The tool also refuses to change `tools.exec.ask` or `tools.exec.security`;
|
|
92
|
+
legacy `tools.bash.*` aliases normalize to the same protected exec paths.
|
|
93
|
+
|
|
94
|
+
### Plugin-provided tools
|
|
95
|
+
|
|
96
|
+
Plugins can register additional tools. Some examples:
|
|
97
|
+
|
|
98
|
+
- [Lobster](/tools/lobster) — typed workflow runtime with resumable approvals
|
|
99
|
+
- [LLM Task](/tools/llm-task) — JSON-only LLM step for structured output
|
|
100
|
+
- [Diffs](/tools/diffs) — diff viewer and renderer
|
|
101
|
+
- [OpenProse](/prose) — markdown-first workflow orchestration
|
|
102
|
+
|
|
103
|
+
## Tool configuration
|
|
104
|
+
|
|
105
|
+
### Allow and deny lists
|
|
106
|
+
|
|
107
|
+
Control which tools the agent can call via `tools.allow` / `tools.deny` in
|
|
108
|
+
config. Deny always wins over allow.
|
|
109
|
+
|
|
110
|
+
```json5
|
|
111
|
+
{
|
|
112
|
+
tools: {
|
|
113
|
+
allow: ["group:fs", "browser", "web_search"],
|
|
114
|
+
deny: ["exec"],
|
|
115
|
+
},
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Tool profiles
|
|
120
|
+
|
|
121
|
+
`tools.profile` sets a base allowlist before `allow`/`deny` is applied.
|
|
122
|
+
Per-agent override: `agents.list[].tools.profile`.
|
|
123
|
+
|
|
124
|
+
| Profile | What it includes |
|
|
125
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------- |
|
|
126
|
+
| `full` | No restriction (same as unset) |
|
|
127
|
+
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate` |
|
|
128
|
+
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
|
|
129
|
+
| `minimal` | `session_status` only |
|
|
130
|
+
|
|
131
|
+
### Tool groups
|
|
132
|
+
|
|
133
|
+
Use `group:*` shorthands in allow/deny lists:
|
|
134
|
+
|
|
135
|
+
| Group | Tools |
|
|
136
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------- |
|
|
137
|
+
| `group:runtime` | exec, process, code_execution (`bash` is accepted as an alias for `exec`) |
|
|
138
|
+
| `group:fs` | read, write, edit, apply_patch |
|
|
139
|
+
| `group:sessions` | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
|
|
140
|
+
| `group:memory` | memory_search, memory_get |
|
|
141
|
+
| `group:web` | web_search, x_search, web_fetch |
|
|
142
|
+
| `group:ui` | browser, canvas |
|
|
143
|
+
| `group:automation` | cron, gateway |
|
|
144
|
+
| `group:messaging` | message |
|
|
145
|
+
| `group:nodes` | nodes |
|
|
146
|
+
| `group:agents` | agents_list |
|
|
147
|
+
| `group:media` | image, image_generate, tts |
|
|
148
|
+
| `group:Durar` | All built-in Durar tools (excludes plugin tools) |
|
|
149
|
+
|
|
150
|
+
`sessions_history` returns a bounded, safety-filtered recall view. It strips
|
|
151
|
+
thinking tags, `<relevant-memories>` scaffolding, plain-text tool-call XML
|
|
152
|
+
payloads (including `<tool_call>...</tool_call>`,
|
|
153
|
+
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
|
|
154
|
+
`<function_calls>...</function_calls>`, and truncated tool-call blocks),
|
|
155
|
+
downgraded tool-call scaffolding, leaked ASCII/full-width model control
|
|
156
|
+
tokens, and malformed MiniMax tool-call XML from assistant text, then applies
|
|
157
|
+
redaction/truncation and possible oversized-row placeholders instead of acting
|
|
158
|
+
as a raw transcript dump.
|
|
159
|
+
|
|
160
|
+
### Provider-specific restrictions
|
|
161
|
+
|
|
162
|
+
Use `tools.byProvider` to restrict tools for specific providers without
|
|
163
|
+
changing global defaults:
|
|
164
|
+
|
|
165
|
+
```json5
|
|
166
|
+
{
|
|
167
|
+
tools: {
|
|
168
|
+
profile: "coding",
|
|
169
|
+
byProvider: {
|
|
170
|
+
"google-antigravity": { profile: "minimal" },
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
}
|
|
174
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Kimi web search via Moonshot web search"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to use Kimi for web_search
|
|
5
|
+
- You need a KIMI_API_KEY or MOONSHOT_API_KEY
|
|
6
|
+
title: "Kimi Search"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Kimi Search
|
|
10
|
+
|
|
11
|
+
Durar supports Kimi as a `web_search` provider, using Moonshot web search
|
|
12
|
+
to produce AI-synthesized answers with citations.
|
|
13
|
+
|
|
14
|
+
## Get an API key
|
|
15
|
+
|
|
16
|
+
<Steps>
|
|
17
|
+
<Step title="Create a key">
|
|
18
|
+
Get an API key from [Moonshot AI](https://platform.moonshot.cn/).
|
|
19
|
+
</Step>
|
|
20
|
+
<Step title="Store the key">
|
|
21
|
+
Set `KIMI_API_KEY` or `MOONSHOT_API_KEY` in the Gateway environment, or
|
|
22
|
+
configure via:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
Durar configure --section web
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
</Step>
|
|
29
|
+
</Steps>
|
|
30
|
+
|
|
31
|
+
When you choose **Kimi** during `Durar onboard` or
|
|
32
|
+
`Durar configure --section web`, Durar can also ask for:
|
|
33
|
+
|
|
34
|
+
- the Moonshot API region:
|
|
35
|
+
- `https://api.moonshot.ai/v1`
|
|
36
|
+
- `https://api.moonshot.cn/v1`
|
|
37
|
+
- the default Kimi web-search model (defaults to `kimi-k2.5`)
|
|
38
|
+
|
|
39
|
+
## Config
|
|
40
|
+
|
|
41
|
+
```json5
|
|
42
|
+
{
|
|
43
|
+
plugins: {
|
|
44
|
+
entries: {
|
|
45
|
+
moonshot: {
|
|
46
|
+
config: {
|
|
47
|
+
webSearch: {
|
|
48
|
+
apiKey: "sk-...", // optional if KIMI_API_KEY or MOONSHOT_API_KEY is set
|
|
49
|
+
baseUrl: "https://api.moonshot.ai/v1",
|
|
50
|
+
model: "kimi-k2.5",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
tools: {
|
|
57
|
+
web: {
|
|
58
|
+
search: {
|
|
59
|
+
provider: "kimi",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If you use the China API host for chat (`models.providers.moonshot.baseUrl`:
|
|
67
|
+
`https://api.moonshot.cn/v1`), Durar reuses that same host for Kimi
|
|
68
|
+
`web_search` when `tools.web.search.kimi.baseUrl` is omitted, so keys from
|
|
69
|
+
[platform.moonshot.cn](https://platform.moonshot.cn/) do not hit the
|
|
70
|
+
international endpoint by mistake (which often returns HTTP 401). Override
|
|
71
|
+
with `tools.web.search.kimi.baseUrl` when you need a different search base URL.
|
|
72
|
+
|
|
73
|
+
**Environment alternative:** set `KIMI_API_KEY` or `MOONSHOT_API_KEY` in the
|
|
74
|
+
Gateway environment. For a gateway install, put it in `~/.Durar/.env`.
|
|
75
|
+
|
|
76
|
+
If you omit `baseUrl`, Durar defaults to `https://api.moonshot.ai/v1`.
|
|
77
|
+
If you omit `model`, Durar defaults to `kimi-k2.5`.
|
|
78
|
+
|
|
79
|
+
## How it works
|
|
80
|
+
|
|
81
|
+
Kimi uses Moonshot web search to synthesize answers with inline citations,
|
|
82
|
+
similar to Gemini and Grok's grounded response approach.
|
|
83
|
+
|
|
84
|
+
## Supported parameters
|
|
85
|
+
|
|
86
|
+
Kimi search supports `query`.
|
|
87
|
+
|
|
88
|
+
`count` is accepted for shared `web_search` compatibility, but Kimi still
|
|
89
|
+
returns one synthesized answer with citations rather than an N-result list.
|
|
90
|
+
|
|
91
|
+
Provider-specific filters are not currently supported.
|
|
92
|
+
|
|
93
|
+
## Related
|
|
94
|
+
|
|
95
|
+
- [Web Search overview](/tools/web) -- all providers and auto-detection
|
|
96
|
+
- [Moonshot AI](/providers/moonshot) -- Moonshot model + Kimi Coding provider docs
|
|
97
|
+
- [Gemini Search](/tools/gemini-search) -- AI-synthesized answers via Google grounding
|
|
98
|
+
- [Grok Search](/tools/grok-search) -- AI-synthesized answers via xAI grounding
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "JSON-only LLM tasks for workflows (optional plugin tool)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want a JSON-only LLM step inside workflows
|
|
5
|
+
- You need schema-validated LLM output for automation
|
|
6
|
+
title: "LLM Task"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# LLM Task
|
|
10
|
+
|
|
11
|
+
`llm-task` is an **optional plugin tool** that runs a JSON-only LLM task and
|
|
12
|
+
returns structured output (optionally validated against JSON Schema).
|
|
13
|
+
|
|
14
|
+
This is ideal for workflow engines like Lobster: you can add a single LLM step
|
|
15
|
+
without writing custom Durar code for each workflow.
|
|
16
|
+
|
|
17
|
+
## Enable the plugin
|
|
18
|
+
|
|
19
|
+
1. Enable the plugin:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"plugins": {
|
|
24
|
+
"entries": {
|
|
25
|
+
"llm-task": { "enabled": true }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. Allowlist the tool (it is registered with `optional: true`):
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"agents": {
|
|
36
|
+
"list": [
|
|
37
|
+
{
|
|
38
|
+
"id": "main",
|
|
39
|
+
"tools": { "allow": ["llm-task"] }
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Config (optional)
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"plugins": {
|
|
51
|
+
"entries": {
|
|
52
|
+
"llm-task": {
|
|
53
|
+
"enabled": true,
|
|
54
|
+
"config": {
|
|
55
|
+
"defaultProvider": "openai-codex",
|
|
56
|
+
"defaultModel": "gpt-5.4",
|
|
57
|
+
"defaultAuthProfileId": "main",
|
|
58
|
+
"allowedModels": ["openai-codex/gpt-5.4"],
|
|
59
|
+
"maxTokens": 800,
|
|
60
|
+
"timeoutMs": 30000
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`allowedModels` is an allowlist of `provider/model` strings. If set, any request
|
|
69
|
+
outside the list is rejected.
|
|
70
|
+
|
|
71
|
+
## Tool parameters
|
|
72
|
+
|
|
73
|
+
- `prompt` (string, required)
|
|
74
|
+
- `input` (any, optional)
|
|
75
|
+
- `schema` (object, optional JSON Schema)
|
|
76
|
+
- `provider` (string, optional)
|
|
77
|
+
- `model` (string, optional)
|
|
78
|
+
- `thinking` (string, optional)
|
|
79
|
+
- `authProfileId` (string, optional)
|
|
80
|
+
- `temperature` (number, optional)
|
|
81
|
+
- `maxTokens` (number, optional)
|
|
82
|
+
- `timeoutMs` (number, optional)
|
|
83
|
+
|
|
84
|
+
`thinking` accepts the standard Durar reasoning presets, such as `low` or `medium`.
|
|
85
|
+
|
|
86
|
+
## Output
|
|
87
|
+
|
|
88
|
+
Returns `details.json` containing the parsed JSON (and validates against
|
|
89
|
+
`schema` when provided).
|
|
90
|
+
|
|
91
|
+
## Example: Lobster workflow step
|
|
92
|
+
|
|
93
|
+
```lobster
|
|
94
|
+
Durar.invoke --tool llm-task --action json --args-json '{
|
|
95
|
+
"prompt": "Given the input email, return intent and draft.",
|
|
96
|
+
"thinking": "low",
|
|
97
|
+
"input": {
|
|
98
|
+
"subject": "Hello",
|
|
99
|
+
"body": "Can you help?"
|
|
100
|
+
},
|
|
101
|
+
"schema": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"properties": {
|
|
104
|
+
"intent": { "type": "string" },
|
|
105
|
+
"draft": { "type": "string" }
|
|
106
|
+
},
|
|
107
|
+
"required": ["intent", "draft"],
|
|
108
|
+
"additionalProperties": false
|
|
109
|
+
}
|
|
110
|
+
}'
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Safety notes
|
|
114
|
+
|
|
115
|
+
- The tool is **JSON-only** and instructs the model to output only JSON (no
|
|
116
|
+
code fences, no commentary).
|
|
117
|
+
- No tools are exposed to the model for this run.
|
|
118
|
+
- Treat output as untrusted unless you validate with `schema`.
|
|
119
|
+
- Put approvals before any side-effecting step (send, post, exec).
|