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,273 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Use Amazon Bedrock (Converse API) models with Durar"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to use Amazon Bedrock models with Durar
|
|
5
|
+
- You need AWS credential/region setup for model calls
|
|
6
|
+
title: "Amazon Bedrock"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Amazon Bedrock
|
|
10
|
+
|
|
11
|
+
Durar can use **Amazon Bedrock** models via pi‑ai’s **Bedrock Converse**
|
|
12
|
+
streaming provider. Bedrock auth uses the **AWS SDK default credential chain**,
|
|
13
|
+
not an API key.
|
|
14
|
+
|
|
15
|
+
## What pi-ai supports
|
|
16
|
+
|
|
17
|
+
- Provider: `amazon-bedrock`
|
|
18
|
+
- API: `bedrock-converse-stream`
|
|
19
|
+
- Auth: AWS credentials (env vars, shared config, or instance role)
|
|
20
|
+
- Region: `AWS_REGION` or `AWS_DEFAULT_REGION` (default: `us-east-1`)
|
|
21
|
+
|
|
22
|
+
## Automatic model discovery
|
|
23
|
+
|
|
24
|
+
Durar can automatically discover Bedrock models that support **streaming**
|
|
25
|
+
and **text output**. Discovery uses `bedrock:ListFoundationModels` and
|
|
26
|
+
`bedrock:ListInferenceProfiles`, and results are cached (default: 1 hour).
|
|
27
|
+
|
|
28
|
+
How the implicit provider is enabled:
|
|
29
|
+
|
|
30
|
+
- If `plugins.entries.amazon-bedrock.config.discovery.enabled` is `true`,
|
|
31
|
+
Durar will try discovery even when no AWS env marker is present.
|
|
32
|
+
- If `plugins.entries.amazon-bedrock.config.discovery.enabled` is unset,
|
|
33
|
+
Durar only auto-adds the
|
|
34
|
+
implicit Bedrock provider when it sees one of these AWS auth markers:
|
|
35
|
+
`AWS_BEARER_TOKEN_BEDROCK`, `AWS_ACCESS_KEY_ID` +
|
|
36
|
+
`AWS_SECRET_ACCESS_KEY`, or `AWS_PROFILE`.
|
|
37
|
+
- The actual Bedrock runtime auth path still uses the AWS SDK default chain, so
|
|
38
|
+
shared config, SSO, and IMDS instance-role auth can work even when discovery
|
|
39
|
+
needed `enabled: true` to opt in.
|
|
40
|
+
|
|
41
|
+
Config options live under `plugins.entries.amazon-bedrock.config.discovery`:
|
|
42
|
+
|
|
43
|
+
```json5
|
|
44
|
+
{
|
|
45
|
+
plugins: {
|
|
46
|
+
entries: {
|
|
47
|
+
"amazon-bedrock": {
|
|
48
|
+
config: {
|
|
49
|
+
discovery: {
|
|
50
|
+
enabled: true,
|
|
51
|
+
region: "us-east-1",
|
|
52
|
+
providerFilter: ["anthropic", "amazon"],
|
|
53
|
+
refreshInterval: 3600,
|
|
54
|
+
defaultContextWindow: 32000,
|
|
55
|
+
defaultMaxTokens: 4096,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Notes:
|
|
65
|
+
|
|
66
|
+
- `enabled` defaults to auto mode. In auto mode, Durar only enables the
|
|
67
|
+
implicit Bedrock provider when it sees a supported AWS env marker.
|
|
68
|
+
- `region` defaults to `AWS_REGION` or `AWS_DEFAULT_REGION`, then `us-east-1`.
|
|
69
|
+
- `providerFilter` matches Bedrock provider names (for example `anthropic`).
|
|
70
|
+
- `refreshInterval` is seconds; set to `0` to disable caching.
|
|
71
|
+
- `defaultContextWindow` (default: `32000`) and `defaultMaxTokens` (default: `4096`)
|
|
72
|
+
are used for discovered models (override if you know your model limits).
|
|
73
|
+
- For explicit `models.providers["amazon-bedrock"]` entries, Durar can still
|
|
74
|
+
resolve Bedrock env-marker auth early from AWS env markers such as
|
|
75
|
+
`AWS_BEARER_TOKEN_BEDROCK` without forcing full runtime auth loading. The
|
|
76
|
+
actual model-call auth path still uses the AWS SDK default chain.
|
|
77
|
+
|
|
78
|
+
## Onboarding
|
|
79
|
+
|
|
80
|
+
1. Ensure AWS credentials are available on the **gateway host**:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
export AWS_ACCESS_KEY_ID="AKIA..."
|
|
84
|
+
export AWS_SECRET_ACCESS_KEY="..."
|
|
85
|
+
export AWS_REGION="us-east-1"
|
|
86
|
+
# Optional:
|
|
87
|
+
export AWS_SESSION_TOKEN="..."
|
|
88
|
+
export AWS_PROFILE="your-profile"
|
|
89
|
+
# Optional (Bedrock API key/bearer token):
|
|
90
|
+
export AWS_BEARER_TOKEN_BEDROCK="..."
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
2. Add a Bedrock provider and model to your config (no `apiKey` required):
|
|
94
|
+
|
|
95
|
+
```json5
|
|
96
|
+
{
|
|
97
|
+
models: {
|
|
98
|
+
providers: {
|
|
99
|
+
"amazon-bedrock": {
|
|
100
|
+
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
|
|
101
|
+
api: "bedrock-converse-stream",
|
|
102
|
+
auth: "aws-sdk",
|
|
103
|
+
models: [
|
|
104
|
+
{
|
|
105
|
+
id: "us.anthropic.claude-opus-4-6-v1:0",
|
|
106
|
+
name: "Claude Opus 4.6 (Bedrock)",
|
|
107
|
+
reasoning: true,
|
|
108
|
+
input: ["text", "image"],
|
|
109
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
110
|
+
contextWindow: 200000,
|
|
111
|
+
maxTokens: 8192,
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
agents: {
|
|
118
|
+
defaults: {
|
|
119
|
+
model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## EC2 Instance Roles
|
|
126
|
+
|
|
127
|
+
When running Durar on an EC2 instance with an IAM role attached, the AWS SDK
|
|
128
|
+
can use the instance metadata service (IMDS) for authentication. For Bedrock
|
|
129
|
+
model discovery, Durar only auto-enables the implicit provider from AWS env
|
|
130
|
+
markers unless you explicitly set
|
|
131
|
+
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
|
132
|
+
|
|
133
|
+
Recommended setup for IMDS-backed hosts:
|
|
134
|
+
|
|
135
|
+
- Set `plugins.entries.amazon-bedrock.config.discovery.enabled` to `true`.
|
|
136
|
+
- Set `plugins.entries.amazon-bedrock.config.discovery.region` (or export `AWS_REGION`).
|
|
137
|
+
- You do **not** need a fake API key.
|
|
138
|
+
- You only need `AWS_PROFILE=default` if you specifically want an env marker
|
|
139
|
+
for auto mode or status surfaces.
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Recommended: explicit discovery enable + region
|
|
143
|
+
Durar config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
|
144
|
+
Durar config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
|
145
|
+
|
|
146
|
+
# Optional: add an env marker if you want auto mode without explicit enable
|
|
147
|
+
export AWS_PROFILE=default
|
|
148
|
+
export AWS_REGION=us-east-1
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Required IAM permissions** for the EC2 instance role:
|
|
152
|
+
|
|
153
|
+
- `bedrock:InvokeModel`
|
|
154
|
+
- `bedrock:InvokeModelWithResponseStream`
|
|
155
|
+
- `bedrock:ListFoundationModels` (for automatic discovery)
|
|
156
|
+
- `bedrock:ListInferenceProfiles` (for inference profile discovery)
|
|
157
|
+
|
|
158
|
+
Or attach the managed policy `AmazonBedrockFullAccess`.
|
|
159
|
+
|
|
160
|
+
## Quick setup (AWS path)
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# 1. Create IAM role and instance profile
|
|
164
|
+
aws iam create-role --role-name EC2-Bedrock-Access \
|
|
165
|
+
--assume-role-policy-document '{
|
|
166
|
+
"Version": "2012-10-17",
|
|
167
|
+
"Statement": [{
|
|
168
|
+
"Effect": "Allow",
|
|
169
|
+
"Principal": {"Service": "ec2.amazonaws.com"},
|
|
170
|
+
"Action": "sts:AssumeRole"
|
|
171
|
+
}]
|
|
172
|
+
}'
|
|
173
|
+
|
|
174
|
+
aws iam attach-role-policy --role-name EC2-Bedrock-Access \
|
|
175
|
+
--policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess
|
|
176
|
+
|
|
177
|
+
aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
|
|
178
|
+
aws iam add-role-to-instance-profile \
|
|
179
|
+
--instance-profile-name EC2-Bedrock-Access \
|
|
180
|
+
--role-name EC2-Bedrock-Access
|
|
181
|
+
|
|
182
|
+
# 2. Attach to your EC2 instance
|
|
183
|
+
aws ec2 associate-iam-instance-profile \
|
|
184
|
+
--instance-id i-xxxxx \
|
|
185
|
+
--iam-instance-profile Name=EC2-Bedrock-Access
|
|
186
|
+
|
|
187
|
+
# 3. On the EC2 instance, enable discovery explicitly
|
|
188
|
+
Durar config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
|
189
|
+
Durar config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
|
190
|
+
|
|
191
|
+
# 4. Optional: add an env marker if you want auto mode without explicit enable
|
|
192
|
+
echo 'export AWS_PROFILE=default' >> ~/.bashrc
|
|
193
|
+
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
|
|
194
|
+
source ~/.bashrc
|
|
195
|
+
|
|
196
|
+
# 5. Verify models are discovered
|
|
197
|
+
Durar models list
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Inference profiles
|
|
201
|
+
|
|
202
|
+
Durar discovers **regional and global inference profiles** alongside
|
|
203
|
+
foundation models. When a profile maps to a known foundation model, the
|
|
204
|
+
profile inherits that model's capabilities (context window, max tokens,
|
|
205
|
+
reasoning, vision) and the correct Bedrock request region is injected
|
|
206
|
+
automatically. This means cross-region Claude profiles work without manual
|
|
207
|
+
provider overrides.
|
|
208
|
+
|
|
209
|
+
Inference profile IDs look like `us.anthropic.claude-opus-4-6-v1:0` (regional)
|
|
210
|
+
or `anthropic.claude-opus-4-6-v1:0` (global). If the backing model is already
|
|
211
|
+
in the discovery results, the profile inherits its full capability set;
|
|
212
|
+
otherwise safe defaults apply.
|
|
213
|
+
|
|
214
|
+
No extra configuration is needed. As long as discovery is enabled and the IAM
|
|
215
|
+
principal has `bedrock:ListInferenceProfiles`, profiles appear alongside
|
|
216
|
+
foundation models in `Durar models list`.
|
|
217
|
+
|
|
218
|
+
## Notes
|
|
219
|
+
|
|
220
|
+
- Bedrock requires **model access** enabled in your AWS account/region.
|
|
221
|
+
- Automatic discovery needs the `bedrock:ListFoundationModels` and
|
|
222
|
+
`bedrock:ListInferenceProfiles` permissions.
|
|
223
|
+
- If you rely on auto mode, set one of the supported AWS auth env markers on the
|
|
224
|
+
gateway host. If you prefer IMDS/shared-config auth without env markers, set
|
|
225
|
+
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
|
226
|
+
- Durar surfaces the credential source in this order: `AWS_BEARER_TOKEN_BEDROCK`,
|
|
227
|
+
then `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, then `AWS_PROFILE`, then the
|
|
228
|
+
default AWS SDK chain.
|
|
229
|
+
- Reasoning support depends on the model; check the Bedrock model card for
|
|
230
|
+
current capabilities.
|
|
231
|
+
- If you prefer a managed key flow, you can also place an OpenAI‑compatible
|
|
232
|
+
proxy in front of Bedrock and configure it as an OpenAI provider instead.
|
|
233
|
+
|
|
234
|
+
## Guardrails
|
|
235
|
+
|
|
236
|
+
You can apply [Amazon Bedrock Guardrails](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html)
|
|
237
|
+
to all Bedrock model invocations by adding a `guardrail` object to the
|
|
238
|
+
`amazon-bedrock` plugin config. Guardrails let you enforce content filtering,
|
|
239
|
+
topic denial, word filters, sensitive information filters, and contextual
|
|
240
|
+
grounding checks.
|
|
241
|
+
|
|
242
|
+
```json5
|
|
243
|
+
{
|
|
244
|
+
plugins: {
|
|
245
|
+
entries: {
|
|
246
|
+
"amazon-bedrock": {
|
|
247
|
+
config: {
|
|
248
|
+
guardrail: {
|
|
249
|
+
guardrailIdentifier: "abc123", // guardrail ID or full ARN
|
|
250
|
+
guardrailVersion: "1", // version number or "DRAFT"
|
|
251
|
+
streamProcessingMode: "sync", // optional: "sync" or "async"
|
|
252
|
+
trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
- `guardrailIdentifier` (required) accepts a guardrail ID (e.g. `abc123`) or a
|
|
262
|
+
full ARN (e.g. `arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123`).
|
|
263
|
+
- `guardrailVersion` (required) specifies which published version to use, or
|
|
264
|
+
`"DRAFT"` for the working draft.
|
|
265
|
+
- `streamProcessingMode` (optional) controls whether guardrail evaluation runs
|
|
266
|
+
synchronously (`"sync"`) or asynchronously (`"async"`) during streaming. If
|
|
267
|
+
omitted, Bedrock uses its default behavior.
|
|
268
|
+
- `trace` (optional) enables guardrail trace output in the API response. Set to
|
|
269
|
+
`"enabled"` or `"enabled_full"` for debugging; omit or set `"disabled"` for
|
|
270
|
+
production.
|
|
271
|
+
|
|
272
|
+
The IAM principal used by the gateway must have the `bedrock:ApplyGuardrail`
|
|
273
|
+
permission in addition to the standard invoke permissions.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Chutes"
|
|
3
|
+
summary: "Chutes setup (OAuth or API key, model discovery, aliases)"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to use Chutes with Durar
|
|
6
|
+
- You need the OAuth or API key setup path
|
|
7
|
+
- You want the default model, aliases, or discovery behavior
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Chutes
|
|
11
|
+
|
|
12
|
+
[Chutes](https://chutes.ai) exposes open-source model catalogs through an
|
|
13
|
+
OpenAI-compatible API. Durar supports both browser OAuth and direct API-key
|
|
14
|
+
auth for the bundled `chutes` provider.
|
|
15
|
+
|
|
16
|
+
- Provider: `chutes`
|
|
17
|
+
- API: OpenAI-compatible
|
|
18
|
+
- Base URL: `https://llm.chutes.ai/v1`
|
|
19
|
+
- Auth:
|
|
20
|
+
- OAuth via `Durar onboard --auth-choice chutes`
|
|
21
|
+
- API key via `Durar onboard --auth-choice chutes-api-key`
|
|
22
|
+
- Runtime env vars: `CHUTES_API_KEY`, `CHUTES_OAUTH_TOKEN`
|
|
23
|
+
|
|
24
|
+
## Quick start
|
|
25
|
+
|
|
26
|
+
### OAuth
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
Durar onboard --auth-choice chutes
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Durar launches the browser flow locally, or shows a URL + redirect-paste
|
|
33
|
+
flow on remote/headless hosts. OAuth tokens auto-refresh through Durar auth
|
|
34
|
+
profiles.
|
|
35
|
+
|
|
36
|
+
Optional OAuth overrides:
|
|
37
|
+
|
|
38
|
+
- `CHUTES_CLIENT_ID`
|
|
39
|
+
- `CHUTES_CLIENT_SECRET`
|
|
40
|
+
- `CHUTES_OAUTH_REDIRECT_URI`
|
|
41
|
+
- `CHUTES_OAUTH_SCOPES`
|
|
42
|
+
|
|
43
|
+
### API key
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
Durar onboard --auth-choice chutes-api-key
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Get your key at
|
|
50
|
+
[chutes.ai/settings/api-keys](https://chutes.ai/settings/api-keys).
|
|
51
|
+
|
|
52
|
+
Both auth paths register the bundled Chutes catalog and set the default model
|
|
53
|
+
to `chutes/zai-org/GLM-4.7-TEE`.
|
|
54
|
+
|
|
55
|
+
## Discovery behavior
|
|
56
|
+
|
|
57
|
+
When Chutes auth is available, Durar queries the Chutes catalog with that
|
|
58
|
+
credential and uses the discovered models. If discovery fails, Durar falls
|
|
59
|
+
back to a bundled static catalog so onboarding and startup still work.
|
|
60
|
+
|
|
61
|
+
## Default aliases
|
|
62
|
+
|
|
63
|
+
Durar also registers three convenience aliases for the bundled Chutes
|
|
64
|
+
catalog:
|
|
65
|
+
|
|
66
|
+
- `chutes-fast` -> `chutes/zai-org/GLM-4.7-FP8`
|
|
67
|
+
- `chutes-pro` -> `chutes/deepseek-ai/DeepSeek-V3.2-TEE`
|
|
68
|
+
- `chutes-vision` -> `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506`
|
|
69
|
+
|
|
70
|
+
## Built-in starter catalog
|
|
71
|
+
|
|
72
|
+
The bundled fallback catalog includes current Chutes refs such as:
|
|
73
|
+
|
|
74
|
+
- `chutes/zai-org/GLM-4.7-TEE`
|
|
75
|
+
- `chutes/zai-org/GLM-5-TEE`
|
|
76
|
+
- `chutes/deepseek-ai/DeepSeek-V3.2-TEE`
|
|
77
|
+
- `chutes/deepseek-ai/DeepSeek-R1-0528-TEE`
|
|
78
|
+
- `chutes/moonshotai/Kimi-K2.5-TEE`
|
|
79
|
+
- `chutes/chutesai/Mistral-Small-3.2-24B-Instruct-2506`
|
|
80
|
+
- `chutes/Qwen/Qwen3-Coder-Next-TEE`
|
|
81
|
+
- `chutes/openai/gpt-oss-120b-TEE`
|
|
82
|
+
|
|
83
|
+
## Config example
|
|
84
|
+
|
|
85
|
+
```json5
|
|
86
|
+
{
|
|
87
|
+
agents: {
|
|
88
|
+
defaults: {
|
|
89
|
+
model: { primary: "chutes/zai-org/GLM-4.7-TEE" },
|
|
90
|
+
models: {
|
|
91
|
+
"chutes/zai-org/GLM-4.7-TEE": { alias: "Chutes GLM 4.7" },
|
|
92
|
+
"chutes/deepseek-ai/DeepSeek-V3.2-TEE": { alias: "Chutes DeepSeek V3.2" },
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Notes
|
|
100
|
+
|
|
101
|
+
- OAuth help and redirect-app requirements: [Chutes OAuth docs](https://chutes.ai/docs/sign-in-with-chutes/overview)
|
|
102
|
+
- API-key and OAuth discovery both use the same `chutes` provider id.
|
|
103
|
+
- Chutes models are registered as `chutes/<model-id>`.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Community proxy to expose Claude subscription credentials as an OpenAI-compatible endpoint"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to use Claude Max subscription with OpenAI-compatible tools
|
|
5
|
+
- You want a local API server that wraps Claude Code CLI
|
|
6
|
+
- You want to evaluate subscription-based vs API-key-based Anthropic access
|
|
7
|
+
title: "Claude Max API Proxy"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Claude Max API Proxy
|
|
11
|
+
|
|
12
|
+
**claude-max-api-proxy** is a community tool that exposes your Claude Max/Pro subscription as an OpenAI-compatible API endpoint. This allows you to use your subscription with any tool that supports the OpenAI API format.
|
|
13
|
+
|
|
14
|
+
<Warning>
|
|
15
|
+
This path is technical compatibility only. Anthropic has blocked some subscription
|
|
16
|
+
usage outside Claude Code in the past. You must decide for yourself whether to use
|
|
17
|
+
it and verify Anthropic's current terms before relying on it.
|
|
18
|
+
</Warning>
|
|
19
|
+
|
|
20
|
+
## Why Use This?
|
|
21
|
+
|
|
22
|
+
| Approach | Cost | Best For |
|
|
23
|
+
| ----------------------- | --------------------------------------------------- | ------------------------------------------ |
|
|
24
|
+
| Anthropic API | Pay per token (~$15/M input, $75/M output for Opus) | Production apps, high volume |
|
|
25
|
+
| Claude Max subscription | $200/month flat | Personal use, development, unlimited usage |
|
|
26
|
+
|
|
27
|
+
If you have a Claude Max subscription and want to use it with OpenAI-compatible tools, this proxy may reduce cost for some workflows. API keys remain the clearer policy path for production use.
|
|
28
|
+
|
|
29
|
+
## How It Works
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Your App → claude-max-api-proxy → Claude Code CLI → Anthropic (via subscription)
|
|
33
|
+
(OpenAI format) (converts format) (uses your login)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The proxy:
|
|
37
|
+
|
|
38
|
+
1. Accepts OpenAI-format requests at `http://localhost:3456/v1/chat/completions`
|
|
39
|
+
2. Converts them to Claude Code CLI commands
|
|
40
|
+
3. Returns responses in OpenAI format (streaming supported)
|
|
41
|
+
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Requires Node.js 20+ and Claude Code CLI
|
|
46
|
+
npm install -g claude-max-api-proxy
|
|
47
|
+
|
|
48
|
+
# Verify Claude CLI is authenticated
|
|
49
|
+
claude --version
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Usage
|
|
53
|
+
|
|
54
|
+
### Start the server
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
claude-max-api
|
|
58
|
+
# Server runs at http://localhost:3456
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Test it
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Health check
|
|
65
|
+
curl http://localhost:3456/health
|
|
66
|
+
|
|
67
|
+
# List models
|
|
68
|
+
curl http://localhost:3456/v1/models
|
|
69
|
+
|
|
70
|
+
# Chat completion
|
|
71
|
+
curl http://localhost:3456/v1/chat/completions \
|
|
72
|
+
-H "Content-Type: application/json" \
|
|
73
|
+
-d '{
|
|
74
|
+
"model": "claude-opus-4",
|
|
75
|
+
"messages": [{"role": "user", "content": "Hello!"}]
|
|
76
|
+
}'
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### With Durar
|
|
80
|
+
|
|
81
|
+
You can point Durar at the proxy as a custom OpenAI-compatible endpoint:
|
|
82
|
+
|
|
83
|
+
```json5
|
|
84
|
+
{
|
|
85
|
+
env: {
|
|
86
|
+
OPENAI_API_KEY: "not-needed",
|
|
87
|
+
OPENAI_BASE_URL: "http://localhost:3456/v1",
|
|
88
|
+
},
|
|
89
|
+
agents: {
|
|
90
|
+
defaults: {
|
|
91
|
+
model: { primary: "openai/claude-opus-4" },
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
This path uses the same proxy-style OpenAI-compatible route as other custom
|
|
98
|
+
`/v1` backends:
|
|
99
|
+
|
|
100
|
+
- native OpenAI-only request shaping does not apply
|
|
101
|
+
- no `service_tier`, no Responses `store`, no prompt-cache hints, and no
|
|
102
|
+
OpenAI reasoning-compat payload shaping
|
|
103
|
+
- hidden Durar attribution headers (`originator`, `version`, `User-Agent`)
|
|
104
|
+
are not injected on the proxy URL
|
|
105
|
+
|
|
106
|
+
## Available Models
|
|
107
|
+
|
|
108
|
+
| Model ID | Maps To |
|
|
109
|
+
| ----------------- | --------------- |
|
|
110
|
+
| `claude-opus-4` | Claude Opus 4 |
|
|
111
|
+
| `claude-sonnet-4` | Claude Sonnet 4 |
|
|
112
|
+
| `claude-haiku-4` | Claude Haiku 4 |
|
|
113
|
+
|
|
114
|
+
## Auto-Start on macOS
|
|
115
|
+
|
|
116
|
+
Create a LaunchAgent to run the proxy automatically:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
cat > ~/Library/LaunchAgents/com.claude-max-api.plist << 'EOF'
|
|
120
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
121
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
122
|
+
<plist version="1.0">
|
|
123
|
+
<dict>
|
|
124
|
+
<key>Label</key>
|
|
125
|
+
<string>com.claude-max-api</string>
|
|
126
|
+
<key>RunAtLoad</key>
|
|
127
|
+
<true/>
|
|
128
|
+
<key>KeepAlive</key>
|
|
129
|
+
<true/>
|
|
130
|
+
<key>ProgramArguments</key>
|
|
131
|
+
<array>
|
|
132
|
+
<string>/usr/local/bin/node</string>
|
|
133
|
+
<string>/usr/local/lib/node_modules/claude-max-api-proxy/dist/server/standalone.js</string>
|
|
134
|
+
</array>
|
|
135
|
+
<key>EnvironmentVariables</key>
|
|
136
|
+
<dict>
|
|
137
|
+
<key>PATH</key>
|
|
138
|
+
<string>/usr/local/bin:/opt/homebrew/bin:~/.local/bin:/usr/bin:/bin</string>
|
|
139
|
+
</dict>
|
|
140
|
+
</dict>
|
|
141
|
+
</plist>
|
|
142
|
+
EOF
|
|
143
|
+
|
|
144
|
+
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.claude-max-api.plist
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Links
|
|
148
|
+
|
|
149
|
+
- **npm:** [https://www.npmjs.com/package/claude-max-api-proxy](https://www.npmjs.com/package/claude-max-api-proxy)
|
|
150
|
+
- **GitHub:** [https://github.com/atalovesyou/claude-max-api-proxy](https://github.com/atalovesyou/claude-max-api-proxy)
|
|
151
|
+
- **Issues:** [https://github.com/atalovesyou/claude-max-api-proxy/issues](https://github.com/atalovesyou/claude-max-api-proxy/issues)
|
|
152
|
+
|
|
153
|
+
## Notes
|
|
154
|
+
|
|
155
|
+
- This is a **community tool**, not officially supported by Anthropic or Durar
|
|
156
|
+
- Requires an active Claude Max/Pro subscription with Claude Code CLI authenticated
|
|
157
|
+
- The proxy runs locally and does not send data to any third-party servers
|
|
158
|
+
- Streaming responses are fully supported
|
|
159
|
+
|
|
160
|
+
## See Also
|
|
161
|
+
|
|
162
|
+
- [Anthropic provider](/providers/anthropic) - Native Durar integration with Claude CLI or API keys
|
|
163
|
+
- [OpenAI provider](/providers/openai) - For OpenAI/Codex subscriptions
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Cloudflare AI Gateway"
|
|
3
|
+
summary: "Cloudflare AI Gateway setup (auth + model selection)"
|
|
4
|
+
read_when:
|
|
5
|
+
- You want to use Cloudflare AI Gateway with Durar
|
|
6
|
+
- You need the account ID, gateway ID, or API key env var
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Cloudflare AI Gateway
|
|
10
|
+
|
|
11
|
+
Cloudflare AI Gateway sits in front of provider APIs and lets you add analytics, caching, and controls. For Anthropic, Durar uses the Anthropic Messages API through your Gateway endpoint.
|
|
12
|
+
|
|
13
|
+
- Provider: `cloudflare-ai-gateway`
|
|
14
|
+
- Base URL: `https://gateway.ai.cloudflare.com/v1/<account_id>/<gateway_id>/anthropic`
|
|
15
|
+
- Default model: `cloudflare-ai-gateway/claude-sonnet-4-5`
|
|
16
|
+
- API key: `CLOUDFLARE_AI_GATEWAY_API_KEY` (your provider API key for requests through the Gateway)
|
|
17
|
+
|
|
18
|
+
For Anthropic models, use your Anthropic API key.
|
|
19
|
+
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
1. Set the provider API key and Gateway details:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
Durar onboard --auth-choice cloudflare-ai-gateway-api-key
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
2. Set a default model:
|
|
29
|
+
|
|
30
|
+
```json5
|
|
31
|
+
{
|
|
32
|
+
agents: {
|
|
33
|
+
defaults: {
|
|
34
|
+
model: { primary: "cloudflare-ai-gateway/claude-sonnet-4-5" },
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Non-interactive example
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
Durar onboard --non-interactive \
|
|
44
|
+
--mode local \
|
|
45
|
+
--auth-choice cloudflare-ai-gateway-api-key \
|
|
46
|
+
--cloudflare-ai-gateway-account-id "your-account-id" \
|
|
47
|
+
--cloudflare-ai-gateway-gateway-id "your-gateway-id" \
|
|
48
|
+
--cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Authenticated gateways
|
|
52
|
+
|
|
53
|
+
If you enabled Gateway authentication in Cloudflare, add the `cf-aig-authorization` header (this is in addition to your provider API key).
|
|
54
|
+
|
|
55
|
+
```json5
|
|
56
|
+
{
|
|
57
|
+
models: {
|
|
58
|
+
providers: {
|
|
59
|
+
"cloudflare-ai-gateway": {
|
|
60
|
+
headers: {
|
|
61
|
+
"cf-aig-authorization": "Bearer <cloudflare-ai-gateway-token>",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Environment note
|
|
70
|
+
|
|
71
|
+
If the Gateway runs as a daemon (launchd/systemd), make sure `CLOUDFLARE_AI_GATEWAY_API_KEY` is available to that process (for example, in `~/.Durar/.env` or via `env.shellEnv`).
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Deepgram transcription for inbound voice notes"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want Deepgram speech-to-text for audio attachments
|
|
5
|
+
- You need a quick Deepgram config example
|
|
6
|
+
title: "Deepgram"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Deepgram (Audio Transcription)
|
|
10
|
+
|
|
11
|
+
Deepgram is a speech-to-text API. In Durar it is used for **inbound audio/voice note
|
|
12
|
+
transcription** via `tools.media.audio`.
|
|
13
|
+
|
|
14
|
+
When enabled, Durar uploads the audio file to Deepgram and injects the transcript
|
|
15
|
+
into the reply pipeline (`{{Transcript}}` + `[Audio]` block). This is **not streaming**;
|
|
16
|
+
it uses the pre-recorded transcription endpoint.
|
|
17
|
+
|
|
18
|
+
Website: [https://deepgram.com](https://deepgram.com)
|
|
19
|
+
Docs: [https://developers.deepgram.com](https://developers.deepgram.com)
|
|
20
|
+
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
1. Set your API key:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
DEEPGRAM_API_KEY=dg_...
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
2. Enable the provider:
|
|
30
|
+
|
|
31
|
+
```json5
|
|
32
|
+
{
|
|
33
|
+
tools: {
|
|
34
|
+
media: {
|
|
35
|
+
audio: {
|
|
36
|
+
enabled: true,
|
|
37
|
+
models: [{ provider: "deepgram", model: "nova-3" }],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Options
|
|
45
|
+
|
|
46
|
+
- `model`: Deepgram model id (default: `nova-3`)
|
|
47
|
+
- `language`: language hint (optional)
|
|
48
|
+
- `tools.media.audio.providerOptions.deepgram.detect_language`: enable language detection (optional)
|
|
49
|
+
- `tools.media.audio.providerOptions.deepgram.punctuate`: enable punctuation (optional)
|
|
50
|
+
- `tools.media.audio.providerOptions.deepgram.smart_format`: enable smart formatting (optional)
|
|
51
|
+
|
|
52
|
+
Example with language:
|
|
53
|
+
|
|
54
|
+
```json5
|
|
55
|
+
{
|
|
56
|
+
tools: {
|
|
57
|
+
media: {
|
|
58
|
+
audio: {
|
|
59
|
+
enabled: true,
|
|
60
|
+
models: [{ provider: "deepgram", model: "nova-3", language: "en" }],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Example with Deepgram options:
|
|
68
|
+
|
|
69
|
+
```json5
|
|
70
|
+
{
|
|
71
|
+
tools: {
|
|
72
|
+
media: {
|
|
73
|
+
audio: {
|
|
74
|
+
enabled: true,
|
|
75
|
+
providerOptions: {
|
|
76
|
+
deepgram: {
|
|
77
|
+
detect_language: true,
|
|
78
|
+
punctuate: true,
|
|
79
|
+
smart_format: true,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
models: [{ provider: "deepgram", model: "nova-3" }],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Notes
|
|
90
|
+
|
|
91
|
+
- Authentication follows the standard provider auth order; `DEEPGRAM_API_KEY` is the simplest path.
|
|
92
|
+
- Override endpoints or headers with `tools.media.audio.baseUrl` and `tools.media.audio.headers` when using a proxy.
|
|
93
|
+
- Output follows the same audio rules as other providers (size caps, timeouts, transcript injection).
|