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,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Hugging Face Inference setup (auth + model selection)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to use Hugging Face Inference with Durar
|
|
5
|
+
- You need the HF token env var or CLI auth choice
|
|
6
|
+
title: "Hugging Face (Inference)"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Hugging Face (Inference)
|
|
10
|
+
|
|
11
|
+
[Hugging Face Inference Providers](https://huggingface.co/docs/inference-providers) offer OpenAI-compatible chat completions through a single router API. You get access to many models (DeepSeek, Llama, and more) with one token. Durar uses the **OpenAI-compatible endpoint** (chat completions only); for text-to-image, embeddings, or speech use the [HF inference clients](https://huggingface.co/docs/api-inference/quicktour) directly.
|
|
12
|
+
|
|
13
|
+
- Provider: `huggingface`
|
|
14
|
+
- Auth: `HUGGINGFACE_HUB_TOKEN` or `HF_TOKEN` (fine-grained token with **Make calls to Inference Providers**)
|
|
15
|
+
- API: OpenAI-compatible (`https://router.huggingface.co/v1`)
|
|
16
|
+
- Billing: Single HF token; [pricing](https://huggingface.co/docs/inference-providers/pricing) follows provider rates with a free tier.
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
1. Create a fine-grained token at [Hugging Face → Settings → Tokens](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) with the **Make calls to Inference Providers** permission.
|
|
21
|
+
2. Run onboarding and choose **Hugging Face** in the provider dropdown, then enter your API key when prompted:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
Durar onboard --auth-choice huggingface-api-key
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. In the **Default Hugging Face model** dropdown, pick the model you want (the list is loaded from the Inference API when you have a valid token; otherwise a built-in list is shown). Your choice is saved as the default model.
|
|
28
|
+
4. You can also set or change the default model later in config:
|
|
29
|
+
|
|
30
|
+
```json5
|
|
31
|
+
{
|
|
32
|
+
agents: {
|
|
33
|
+
defaults: {
|
|
34
|
+
model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" },
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Non-interactive example
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
Durar onboard --non-interactive \
|
|
44
|
+
--mode local \
|
|
45
|
+
--auth-choice huggingface-api-key \
|
|
46
|
+
--huggingface-api-key "$HF_TOKEN"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
This will set `huggingface/deepseek-ai/DeepSeek-R1` as the default model.
|
|
50
|
+
|
|
51
|
+
## Environment note
|
|
52
|
+
|
|
53
|
+
If the Gateway runs as a daemon (launchd/systemd), make sure `HUGGINGFACE_HUB_TOKEN` or `HF_TOKEN`
|
|
54
|
+
is available to that process (for example, in `~/.Durar/.env` or via
|
|
55
|
+
`env.shellEnv`).
|
|
56
|
+
|
|
57
|
+
## Model discovery and onboarding dropdown
|
|
58
|
+
|
|
59
|
+
Durar discovers models by calling the **Inference endpoint directly**:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
GET https://router.huggingface.co/v1/models
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
(Optional: send `Authorization: Bearer $HUGGINGFACE_HUB_TOKEN` or `$HF_TOKEN` for the full list; some endpoints return a subset without auth.) The response is OpenAI-style `{ "object": "list", "data": [ { "id": "Qwen/Qwen3-8B", "owned_by": "Qwen", ... }, ... ] }`.
|
|
66
|
+
|
|
67
|
+
When you configure a Hugging Face API key (via onboarding, `HUGGINGFACE_HUB_TOKEN`, or `HF_TOKEN`), Durar uses this GET to discover available chat-completion models. During **interactive setup**, after you enter your token you see a **Default Hugging Face model** dropdown populated from that list (or the built-in catalog if the request fails). At runtime (e.g. Gateway startup), when a key is present, Durar again calls **GET** `https://router.huggingface.co/v1/models` to refresh the catalog. The list is merged with a built-in catalog (for metadata like context window and cost). If the request fails or no key is set, only the built-in catalog is used.
|
|
68
|
+
|
|
69
|
+
## Model names and editable options
|
|
70
|
+
|
|
71
|
+
- **Name from API:** The model display name is **hydrated from GET /v1/models** when the API returns `name`, `title`, or `display_name`; otherwise it is derived from the model id (e.g. `deepseek-ai/DeepSeek-R1` → “DeepSeek R1”).
|
|
72
|
+
- **Override display name:** You can set a custom label per model in config so it appears the way you want in the CLI and UI:
|
|
73
|
+
|
|
74
|
+
```json5
|
|
75
|
+
{
|
|
76
|
+
agents: {
|
|
77
|
+
defaults: {
|
|
78
|
+
models: {
|
|
79
|
+
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1 (fast)" },
|
|
80
|
+
"huggingface/deepseek-ai/DeepSeek-R1:cheapest": { alias: "DeepSeek R1 (cheap)" },
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- **Policy suffixes:** Durar's bundled Hugging Face docs and helpers currently treat these two suffixes as the built-in policy variants:
|
|
88
|
+
- **`:fastest`** — highest throughput.
|
|
89
|
+
- **`:cheapest`** — lowest cost per output token.
|
|
90
|
+
|
|
91
|
+
You can add these as separate entries in `models.providers.huggingface.models` or set `model.primary` with the suffix. You can also set your default provider order in [Inference Provider settings](https://hf.co/settings/inference-providers) (no suffix = use that order).
|
|
92
|
+
|
|
93
|
+
- **Config merge:** Existing entries in `models.providers.huggingface.models` (e.g. in `models.json`) are kept when config is merged. So any custom `name`, `alias`, or model options you set there are preserved.
|
|
94
|
+
|
|
95
|
+
## Model IDs and configuration examples
|
|
96
|
+
|
|
97
|
+
Model refs use the form `huggingface/<org>/<model>` (Hub-style IDs). The list below is from **GET** `https://router.huggingface.co/v1/models`; your catalog may include more.
|
|
98
|
+
|
|
99
|
+
**Example IDs (from the inference endpoint):**
|
|
100
|
+
|
|
101
|
+
| Model | Ref (prefix with `huggingface/`) |
|
|
102
|
+
| ---------------------- | ----------------------------------- |
|
|
103
|
+
| DeepSeek R1 | `deepseek-ai/DeepSeek-R1` |
|
|
104
|
+
| DeepSeek V3.2 | `deepseek-ai/DeepSeek-V3.2` |
|
|
105
|
+
| Qwen3 8B | `Qwen/Qwen3-8B` |
|
|
106
|
+
| Qwen2.5 7B Instruct | `Qwen/Qwen2.5-7B-Instruct` |
|
|
107
|
+
| Qwen3 32B | `Qwen/Qwen3-32B` |
|
|
108
|
+
| Llama 3.3 70B Instruct | `meta-llama/Llama-3.3-70B-Instruct` |
|
|
109
|
+
| Llama 3.1 8B Instruct | `meta-llama/Llama-3.1-8B-Instruct` |
|
|
110
|
+
| GPT-OSS 120B | `openai/gpt-oss-120b` |
|
|
111
|
+
| GLM 4.7 | `zai-org/GLM-4.7` |
|
|
112
|
+
| Kimi K2.5 | `moonshotai/Kimi-K2.5` |
|
|
113
|
+
|
|
114
|
+
You can append `:fastest` or `:cheapest` to the model id. Set your default order in [Inference Provider settings](https://hf.co/settings/inference-providers); see [Inference Providers](https://huggingface.co/docs/inference-providers) and **GET** `https://router.huggingface.co/v1/models` for the full list.
|
|
115
|
+
|
|
116
|
+
### Complete configuration examples
|
|
117
|
+
|
|
118
|
+
**Primary DeepSeek R1 with Qwen fallback:**
|
|
119
|
+
|
|
120
|
+
```json5
|
|
121
|
+
{
|
|
122
|
+
agents: {
|
|
123
|
+
defaults: {
|
|
124
|
+
model: {
|
|
125
|
+
primary: "huggingface/deepseek-ai/DeepSeek-R1",
|
|
126
|
+
fallbacks: ["huggingface/Qwen/Qwen3-8B"],
|
|
127
|
+
},
|
|
128
|
+
models: {
|
|
129
|
+
"huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1" },
|
|
130
|
+
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Qwen as default, with :cheapest and :fastest variants:**
|
|
138
|
+
|
|
139
|
+
```json5
|
|
140
|
+
{
|
|
141
|
+
agents: {
|
|
142
|
+
defaults: {
|
|
143
|
+
model: { primary: "huggingface/Qwen/Qwen3-8B" },
|
|
144
|
+
models: {
|
|
145
|
+
"huggingface/Qwen/Qwen3-8B": { alias: "Qwen3 8B" },
|
|
146
|
+
"huggingface/Qwen/Qwen3-8B:cheapest": { alias: "Qwen3 8B (cheapest)" },
|
|
147
|
+
"huggingface/Qwen/Qwen3-8B:fastest": { alias: "Qwen3 8B (fastest)" },
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**DeepSeek + Llama + GPT-OSS with aliases:**
|
|
155
|
+
|
|
156
|
+
```json5
|
|
157
|
+
{
|
|
158
|
+
agents: {
|
|
159
|
+
defaults: {
|
|
160
|
+
model: {
|
|
161
|
+
primary: "huggingface/deepseek-ai/DeepSeek-V3.2",
|
|
162
|
+
fallbacks: [
|
|
163
|
+
"huggingface/meta-llama/Llama-3.3-70B-Instruct",
|
|
164
|
+
"huggingface/openai/gpt-oss-120b",
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
models: {
|
|
168
|
+
"huggingface/deepseek-ai/DeepSeek-V3.2": { alias: "DeepSeek V3.2" },
|
|
169
|
+
"huggingface/meta-llama/Llama-3.3-70B-Instruct": { alias: "Llama 3.3 70B" },
|
|
170
|
+
"huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" },
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Multiple Qwen and DeepSeek models with policy suffixes:**
|
|
178
|
+
|
|
179
|
+
```json5
|
|
180
|
+
{
|
|
181
|
+
agents: {
|
|
182
|
+
defaults: {
|
|
183
|
+
model: { primary: "huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest" },
|
|
184
|
+
models: {
|
|
185
|
+
"huggingface/Qwen/Qwen2.5-7B-Instruct": { alias: "Qwen2.5 7B" },
|
|
186
|
+
"huggingface/Qwen/Qwen2.5-7B-Instruct:cheapest": { alias: "Qwen2.5 7B (cheap)" },
|
|
187
|
+
"huggingface/deepseek-ai/DeepSeek-R1:fastest": { alias: "DeepSeek R1 (fast)" },
|
|
188
|
+
"huggingface/meta-llama/Llama-3.1-8B-Instruct": { alias: "Llama 3.1 8B" },
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
}
|
|
193
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Model providers (LLMs) supported by Durar"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to choose a model provider
|
|
5
|
+
- You need a quick overview of supported LLM backends
|
|
6
|
+
title: "Provider Directory"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Model Providers
|
|
10
|
+
|
|
11
|
+
Durar can use many LLM providers. Pick a provider, authenticate, then set the
|
|
12
|
+
default model as `provider/model`.
|
|
13
|
+
|
|
14
|
+
Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/Mattermost (plugin)/etc.)? See [Channels](/channels).
|
|
15
|
+
|
|
16
|
+
## Quick start
|
|
17
|
+
|
|
18
|
+
1. Authenticate with the provider (usually via `Durar onboard`).
|
|
19
|
+
2. Set the default model:
|
|
20
|
+
|
|
21
|
+
```json5
|
|
22
|
+
{
|
|
23
|
+
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Provider docs
|
|
28
|
+
|
|
29
|
+
- [Amazon Bedrock](/providers/bedrock)
|
|
30
|
+
- [Anthropic (API + Claude CLI)](/providers/anthropic)
|
|
31
|
+
- [BytePlus (International)](/concepts/model-providers#byteplus-international)
|
|
32
|
+
- [Chutes](/providers/chutes)
|
|
33
|
+
- [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
|
|
34
|
+
- [DeepSeek](/providers/deepseek)
|
|
35
|
+
- [Fireworks](/providers/fireworks)
|
|
36
|
+
- [GitHub Copilot](/providers/github-copilot)
|
|
37
|
+
- [GLM models](/providers/glm)
|
|
38
|
+
- [Google (Gemini)](/providers/google)
|
|
39
|
+
- [Groq (LPU inference)](/providers/groq)
|
|
40
|
+
- [Hugging Face (Inference)](/providers/huggingface)
|
|
41
|
+
- [Kilocode](/providers/kilocode)
|
|
42
|
+
- [LiteLLM (unified gateway)](/providers/litellm)
|
|
43
|
+
- [MiniMax](/providers/minimax)
|
|
44
|
+
- [Mistral](/providers/mistral)
|
|
45
|
+
- [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
|
|
46
|
+
- [NVIDIA](/providers/nvidia)
|
|
47
|
+
- [Ollama (cloud + local models)](/providers/ollama)
|
|
48
|
+
- [OpenAI (API + Codex)](/providers/openai)
|
|
49
|
+
- [OpenCode](/providers/opencode)
|
|
50
|
+
- [OpenCode Go](/providers/opencode-go)
|
|
51
|
+
- [OpenRouter](/providers/openrouter)
|
|
52
|
+
- [Perplexity (web search)](/providers/perplexity-provider)
|
|
53
|
+
- [Qianfan](/providers/qianfan)
|
|
54
|
+
- [Qwen Cloud](/providers/qwen)
|
|
55
|
+
- [Qwen / Model Studio (endpoint detail; `qwen-*` canonical, `modelstudio-*` legacy)](/providers/qwen_modelstudio)
|
|
56
|
+
- [SGLang (local models)](/providers/sglang)
|
|
57
|
+
- [StepFun](/providers/stepfun)
|
|
58
|
+
- [Synthetic](/providers/synthetic)
|
|
59
|
+
- [Together AI](/providers/together)
|
|
60
|
+
- [Venice (Venice AI, privacy-focused)](/providers/venice)
|
|
61
|
+
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
|
62
|
+
- [vLLM (local models)](/providers/vllm)
|
|
63
|
+
- [Volcengine (Doubao)](/providers/volcengine)
|
|
64
|
+
- [xAI](/providers/xai)
|
|
65
|
+
- [Xiaomi](/providers/xiaomi)
|
|
66
|
+
- [Z.AI](/providers/zai)
|
|
67
|
+
|
|
68
|
+
## Shared overview pages
|
|
69
|
+
|
|
70
|
+
- [Additional bundled variants](/providers/models#additional-bundled-provider-variants) - Anthropic Vertex, Copilot Proxy, and Gemini CLI OAuth
|
|
71
|
+
|
|
72
|
+
## Transcription providers
|
|
73
|
+
|
|
74
|
+
- [Deepgram (audio transcription)](/providers/deepgram)
|
|
75
|
+
|
|
76
|
+
## Community tools
|
|
77
|
+
|
|
78
|
+
- [Claude Max API Proxy](/providers/claude-max-api-proxy) - Community proxy for Claude subscription credentials (verify Anthropic policy/terms before use)
|
|
79
|
+
|
|
80
|
+
For the full provider catalog (xAI, Groq, Mistral, etc.) and advanced configuration,
|
|
81
|
+
see [Model providers](/concepts/model-providers).
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Kilo Gateway"
|
|
3
|
+
summary: "Use Kilo Gateway's unified API to access many models in Durar"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want a single API key for many LLMs
|
|
6
|
+
- You want to run models via Kilo Gateway in Durar
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Kilo Gateway
|
|
10
|
+
|
|
11
|
+
Kilo Gateway provides a **unified API** that routes requests to many models behind a single
|
|
12
|
+
endpoint and API key. It is OpenAI-compatible, so most OpenAI SDKs work by switching the base URL.
|
|
13
|
+
|
|
14
|
+
## Getting an API key
|
|
15
|
+
|
|
16
|
+
1. Go to [app.kilo.ai](https://app.kilo.ai)
|
|
17
|
+
2. Sign in or create an account
|
|
18
|
+
3. Navigate to API Keys and generate a new key
|
|
19
|
+
|
|
20
|
+
## CLI setup
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
Durar onboard --auth-choice kilocode-api-key
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or set the environment variable:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
export KILOCODE_API_KEY="<your-kilocode-api-key>" # pragma: allowlist secret
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Config snippet
|
|
33
|
+
|
|
34
|
+
```json5
|
|
35
|
+
{
|
|
36
|
+
env: { KILOCODE_API_KEY: "<your-kilocode-api-key>" }, // pragma: allowlist secret
|
|
37
|
+
agents: {
|
|
38
|
+
defaults: {
|
|
39
|
+
model: { primary: "kilocode/kilo/auto" },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Default model
|
|
46
|
+
|
|
47
|
+
The default model is `kilocode/kilo/auto`, a provider-owned smart-routing
|
|
48
|
+
model managed by Kilo Gateway.
|
|
49
|
+
|
|
50
|
+
Durar treats `kilocode/kilo/auto` as the stable default ref, but does not
|
|
51
|
+
publish a source-backed task-to-upstream-model mapping for that route.
|
|
52
|
+
|
|
53
|
+
## Available models
|
|
54
|
+
|
|
55
|
+
Durar dynamically discovers available models from the Kilo Gateway at startup. Use
|
|
56
|
+
`/models kilocode` to see the full list of models available with your account.
|
|
57
|
+
|
|
58
|
+
Any model available on the gateway can be used with the `kilocode/` prefix:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
kilocode/kilo/auto (default - smart routing)
|
|
62
|
+
kilocode/anthropic/claude-sonnet-4
|
|
63
|
+
kilocode/openai/gpt-5.4
|
|
64
|
+
kilocode/google/gemini-3-pro-preview
|
|
65
|
+
...and many more
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
- Model refs are `kilocode/<model-id>` (e.g., `kilocode/anthropic/claude-sonnet-4`).
|
|
71
|
+
- Default model: `kilocode/kilo/auto`
|
|
72
|
+
- Base URL: `https://api.kilo.ai/api/gateway/`
|
|
73
|
+
- Bundled fallback catalog always includes `kilocode/kilo/auto` (`Kilo Auto`) with
|
|
74
|
+
`input: ["text", "image"]`, `reasoning: true`, `contextWindow: 1000000`,
|
|
75
|
+
and `maxTokens: 128000`
|
|
76
|
+
- At startup, Durar tries `GET https://api.kilo.ai/api/gateway/models` and
|
|
77
|
+
merges discovered models ahead of the static fallback catalog
|
|
78
|
+
- Exact upstream routing behind `kilocode/kilo/auto` is owned by Kilo Gateway,
|
|
79
|
+
not hard-coded in Durar
|
|
80
|
+
- Kilo Gateway is documented in source as OpenRouter-compatible, so it stays on
|
|
81
|
+
the proxy-style OpenAI-compatible path rather than native OpenAI request shaping
|
|
82
|
+
- Gemini-backed Kilo refs stay on the proxy-Gemini path, so Durar keeps
|
|
83
|
+
Gemini thought-signature sanitation there without enabling native Gemini
|
|
84
|
+
replay validation or bootstrap rewrites.
|
|
85
|
+
- Kilo's shared stream wrapper adds the provider app header and normalizes
|
|
86
|
+
proxy reasoning payloads for supported concrete model refs. `kilocode/kilo/auto`
|
|
87
|
+
and other proxy-reasoning-unsupported hints skip that reasoning injection.
|
|
88
|
+
- For more model/provider options, see [/concepts/model-providers](/concepts/model-providers).
|
|
89
|
+
- Kilo Gateway uses a Bearer token with your API key under the hood.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "LiteLLM"
|
|
3
|
+
summary: "Run Durar through LiteLLM Proxy for unified model access and cost tracking"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to route Durar through a LiteLLM proxy
|
|
6
|
+
- You need cost tracking, logging, or model routing through LiteLLM
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# LiteLLM
|
|
10
|
+
|
|
11
|
+
[LiteLLM](https://litellm.ai) is an open-source LLM gateway that provides a unified API to 100+ model providers. Route Durar through LiteLLM to get centralized cost tracking, logging, and the flexibility to switch backends without changing your Durar config.
|
|
12
|
+
|
|
13
|
+
## Why use LiteLLM with Durar?
|
|
14
|
+
|
|
15
|
+
- **Cost tracking** — See exactly what Durar spends across all models
|
|
16
|
+
- **Model routing** — Switch between Claude, GPT-4, Gemini, Bedrock without config changes
|
|
17
|
+
- **Virtual keys** — Create keys with spend limits for Durar
|
|
18
|
+
- **Logging** — Full request/response logs for debugging
|
|
19
|
+
- **Fallbacks** — Automatic failover if your primary provider is down
|
|
20
|
+
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
### Via onboarding
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
Durar onboard --auth-choice litellm-api-key
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Manual setup
|
|
30
|
+
|
|
31
|
+
1. Start LiteLLM Proxy:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pip install 'litellm[proxy]'
|
|
35
|
+
litellm --model claude-opus-4-6
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Point Durar to LiteLLM:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
export LITELLM_API_KEY="your-litellm-key"
|
|
42
|
+
|
|
43
|
+
Durar
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
That's it. Durar now routes through LiteLLM.
|
|
47
|
+
|
|
48
|
+
## Configuration
|
|
49
|
+
|
|
50
|
+
### Environment variables
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
export LITELLM_API_KEY="sk-litellm-key"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Config file
|
|
57
|
+
|
|
58
|
+
```json5
|
|
59
|
+
{
|
|
60
|
+
models: {
|
|
61
|
+
providers: {
|
|
62
|
+
litellm: {
|
|
63
|
+
baseUrl: "http://localhost:4000",
|
|
64
|
+
apiKey: "${LITELLM_API_KEY}",
|
|
65
|
+
api: "openai-completions",
|
|
66
|
+
models: [
|
|
67
|
+
{
|
|
68
|
+
id: "claude-opus-4-6",
|
|
69
|
+
name: "Claude Opus 4.6",
|
|
70
|
+
reasoning: true,
|
|
71
|
+
input: ["text", "image"],
|
|
72
|
+
contextWindow: 200000,
|
|
73
|
+
maxTokens: 64000,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: "gpt-4o",
|
|
77
|
+
name: "GPT-4o",
|
|
78
|
+
reasoning: false,
|
|
79
|
+
input: ["text", "image"],
|
|
80
|
+
contextWindow: 128000,
|
|
81
|
+
maxTokens: 8192,
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
agents: {
|
|
88
|
+
defaults: {
|
|
89
|
+
model: { primary: "litellm/claude-opus-4-6" },
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Virtual keys
|
|
96
|
+
|
|
97
|
+
Create a dedicated key for Durar with spend limits:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
curl -X POST "http://localhost:4000/key/generate" \
|
|
101
|
+
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
|
|
102
|
+
-H "Content-Type: application/json" \
|
|
103
|
+
-d '{
|
|
104
|
+
"key_alias": "Durar",
|
|
105
|
+
"max_budget": 50.00,
|
|
106
|
+
"budget_duration": "monthly"
|
|
107
|
+
}'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Use the generated key as `LITELLM_API_KEY`.
|
|
111
|
+
|
|
112
|
+
## Model routing
|
|
113
|
+
|
|
114
|
+
LiteLLM can route model requests to different backends. Configure in your LiteLLM `config.yaml`:
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
model_list:
|
|
118
|
+
- model_name: claude-opus-4-6
|
|
119
|
+
litellm_params:
|
|
120
|
+
model: claude-opus-4-6
|
|
121
|
+
api_key: os.environ/ANTHROPIC_API_KEY
|
|
122
|
+
|
|
123
|
+
- model_name: gpt-4o
|
|
124
|
+
litellm_params:
|
|
125
|
+
model: gpt-4o
|
|
126
|
+
api_key: os.environ/OPENAI_API_KEY
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Durar keeps requesting `claude-opus-4-6` — LiteLLM handles the routing.
|
|
130
|
+
|
|
131
|
+
## Viewing usage
|
|
132
|
+
|
|
133
|
+
Check LiteLLM's dashboard or API:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Key info
|
|
137
|
+
curl "http://localhost:4000/key/info" \
|
|
138
|
+
-H "Authorization: Bearer sk-litellm-key"
|
|
139
|
+
|
|
140
|
+
# Spend logs
|
|
141
|
+
curl "http://localhost:4000/spend/logs" \
|
|
142
|
+
-H "Authorization: Bearer $LITELLM_MASTER_KEY"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Notes
|
|
146
|
+
|
|
147
|
+
- LiteLLM runs on `http://localhost:4000` by default
|
|
148
|
+
- Durar connects through LiteLLM's proxy-style OpenAI-compatible `/v1`
|
|
149
|
+
endpoint
|
|
150
|
+
- Native OpenAI-only request shaping does not apply through LiteLLM:
|
|
151
|
+
no `service_tier`, no Responses `store`, no prompt-cache hints, and no
|
|
152
|
+
OpenAI reasoning-compat payload shaping
|
|
153
|
+
- Hidden Durar attribution headers (`originator`, `version`, `User-Agent`)
|
|
154
|
+
are not injected on custom LiteLLM base URLs
|
|
155
|
+
|
|
156
|
+
## See also
|
|
157
|
+
|
|
158
|
+
- [LiteLLM Docs](https://docs.litellm.ai)
|
|
159
|
+
- [Model Providers](/concepts/model-providers)
|