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.
Files changed (571) hide show
  1. package/CHANGELOG.md +5497 -0
  2. package/LICENSE +21 -0
  3. package/README.md +614 -0
  4. package/assets/avatar-placeholder.svg +19 -0
  5. package/assets/chrome-extension/icons/icon128.png +0 -0
  6. package/assets/chrome-extension/icons/icon16.png +0 -0
  7. package/assets/chrome-extension/icons/icon32.png +0 -0
  8. package/assets/chrome-extension/icons/icon48.png +0 -0
  9. package/assets/dmg-background-small.png +0 -0
  10. package/assets/dmg-background.png +0 -0
  11. package/docs/.i18n/README.md +72 -0
  12. package/docs/.i18n/ar-navigation.json +18 -0
  13. package/docs/.i18n/de-navigation.json +18 -0
  14. package/docs/.i18n/es-navigation.json +18 -0
  15. package/docs/.i18n/fr-navigation.json +18 -0
  16. package/docs/.i18n/glossary.ar.json +5 -0
  17. package/docs/.i18n/glossary.de.json +5 -0
  18. package/docs/.i18n/glossary.es.json +5 -0
  19. package/docs/.i18n/glossary.fr.json +5 -0
  20. package/docs/.i18n/glossary.id.json +5 -0
  21. package/docs/.i18n/glossary.it.json +5 -0
  22. package/docs/.i18n/glossary.ja-JP.json +14 -0
  23. package/docs/.i18n/glossary.ko.json +5 -0
  24. package/docs/.i18n/glossary.pl.json +5 -0
  25. package/docs/.i18n/glossary.pt-BR.json +5 -0
  26. package/docs/.i18n/glossary.tr.json +5 -0
  27. package/docs/.i18n/glossary.zh-CN.json +358 -0
  28. package/docs/.i18n/id-navigation.json +18 -0
  29. package/docs/.i18n/it-navigation.json +18 -0
  30. package/docs/.i18n/ja-navigation.json +18 -0
  31. package/docs/.i18n/ko-navigation.json +18 -0
  32. package/docs/.i18n/pl-navigation.json +18 -0
  33. package/docs/.i18n/pt-BR-navigation.json +18 -0
  34. package/docs/.i18n/tr-navigation.json +18 -0
  35. package/docs/.i18n/zh-Hans-navigation.json +544 -0
  36. package/docs/assets/install-script.svg +1 -0
  37. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  38. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  39. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  40. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  41. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  42. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  43. package/docs/assets/openclaw-logo-text-dark.svg +418 -0
  44. package/docs/assets/openclaw-logo-text.png +0 -0
  45. package/docs/assets/openclaw-logo-text.svg +418 -0
  46. package/docs/assets/pixel-lobster.svg +60 -0
  47. package/docs/assets/showcase/agents-ui.jpg +0 -0
  48. package/docs/assets/showcase/bambu-cli.png +0 -0
  49. package/docs/assets/showcase/codexmonitor.png +0 -0
  50. package/docs/assets/showcase/gohome-grafana.png +0 -0
  51. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  52. package/docs/assets/showcase/oura-health.png +0 -0
  53. package/docs/assets/showcase/padel-cli.svg +11 -0
  54. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  55. package/docs/assets/showcase/papla-tts.jpg +0 -0
  56. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  57. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  58. package/docs/assets/showcase/roborock-status.svg +13 -0
  59. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  60. package/docs/assets/showcase/snag.png +0 -0
  61. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  62. package/docs/assets/showcase/wienerlinien.png +0 -0
  63. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  64. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  65. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  66. package/docs/assets/sponsors/blacksmith-light.svg +14 -0
  67. package/docs/assets/sponsors/blacksmith.svg +14 -0
  68. package/docs/assets/sponsors/convex-light.svg +16 -0
  69. package/docs/assets/sponsors/convex.svg +16 -0
  70. package/docs/assets/sponsors/github-light.svg +3 -0
  71. package/docs/assets/sponsors/github.svg +3 -0
  72. package/docs/assets/sponsors/nvidia-dark.svg +9 -0
  73. package/docs/assets/sponsors/nvidia.svg +9 -0
  74. package/docs/assets/sponsors/openai-light.svg +3 -0
  75. package/docs/assets/sponsors/openai.svg +3 -0
  76. package/docs/assets/sponsors/vercel-light.svg +5 -0
  77. package/docs/assets/sponsors/vercel.svg +5 -0
  78. package/docs/auth-credential-semantics.md +80 -0
  79. package/docs/automation/auth-monitoring.md +8 -0
  80. package/docs/automation/clawflow.md +8 -0
  81. package/docs/automation/cron-jobs.md +410 -0
  82. package/docs/automation/cron-vs-heartbeat.md +8 -0
  83. package/docs/automation/gmail-pubsub.md +8 -0
  84. package/docs/automation/hooks.md +303 -0
  85. package/docs/automation/index.md +115 -0
  86. package/docs/automation/poll.md +8 -0
  87. package/docs/automation/standing-orders.md +254 -0
  88. package/docs/automation/taskflow.md +82 -0
  89. package/docs/automation/tasks.md +323 -0
  90. package/docs/automation/troubleshooting.md +8 -0
  91. package/docs/automation/webhook.md +8 -0
  92. package/docs/brave-search.md +103 -0
  93. package/docs/channels/bluebubbles.md +435 -0
  94. package/docs/channels/broadcast-groups.md +442 -0
  95. package/docs/channels/channel-routing.md +139 -0
  96. package/docs/channels/discord.md +1254 -0
  97. package/docs/channels/feishu.md +793 -0
  98. package/docs/channels/googlechat.md +270 -0
  99. package/docs/channels/group-messages.md +84 -0
  100. package/docs/channels/groups.md +410 -0
  101. package/docs/channels/imessage.md +427 -0
  102. package/docs/channels/index.md +50 -0
  103. package/docs/channels/irc.md +252 -0
  104. package/docs/channels/line.md +225 -0
  105. package/docs/channels/location.md +56 -0
  106. package/docs/channels/matrix.md +869 -0
  107. package/docs/channels/mattermost.md +472 -0
  108. package/docs/channels/msteams.md +805 -0
  109. package/docs/channels/nextcloud-talk.md +149 -0
  110. package/docs/channels/nostr.md +252 -0
  111. package/docs/channels/pairing.md +129 -0
  112. package/docs/channels/qqbot.md +193 -0
  113. package/docs/channels/signal.md +337 -0
  114. package/docs/channels/slack.md +681 -0
  115. package/docs/channels/synology-chat.md +185 -0
  116. package/docs/channels/telegram.md +1072 -0
  117. package/docs/channels/tlon.md +290 -0
  118. package/docs/channels/troubleshooting.md +133 -0
  119. package/docs/channels/twitch.md +394 -0
  120. package/docs/channels/whatsapp.md +488 -0
  121. package/docs/channels/zalo.md +254 -0
  122. package/docs/channels/zalouser.md +195 -0
  123. package/docs/ci.md +66 -0
  124. package/docs/cli/acp.md +316 -0
  125. package/docs/cli/agent.md +57 -0
  126. package/docs/cli/agents.md +220 -0
  127. package/docs/cli/approvals.md +136 -0
  128. package/docs/cli/backup.md +84 -0
  129. package/docs/cli/browser.md +233 -0
  130. package/docs/cli/channels.md +131 -0
  131. package/docs/cli/clawbot.md +21 -0
  132. package/docs/cli/completion.md +35 -0
  133. package/docs/cli/config.md +353 -0
  134. package/docs/cli/configure.md +70 -0
  135. package/docs/cli/cron.md +167 -0
  136. package/docs/cli/daemon.md +57 -0
  137. package/docs/cli/dashboard.md +22 -0
  138. package/docs/cli/devices.md +171 -0
  139. package/docs/cli/directory.md +63 -0
  140. package/docs/cli/dns.md +48 -0
  141. package/docs/cli/docs.md +28 -0
  142. package/docs/cli/doctor.md +63 -0
  143. package/docs/cli/flows.md +18 -0
  144. package/docs/cli/gateway.md +307 -0
  145. package/docs/cli/health.md +36 -0
  146. package/docs/cli/hooks.md +337 -0
  147. package/docs/cli/index.md +1836 -0
  148. package/docs/cli/logs.md +59 -0
  149. package/docs/cli/mcp.md +505 -0
  150. package/docs/cli/memory.md +139 -0
  151. package/docs/cli/message.md +300 -0
  152. package/docs/cli/models.md +136 -0
  153. package/docs/cli/node.md +137 -0
  154. package/docs/cli/nodes.md +66 -0
  155. package/docs/cli/onboard.md +171 -0
  156. package/docs/cli/pairing.md +65 -0
  157. package/docs/cli/plugins.md +305 -0
  158. package/docs/cli/qr.md +52 -0
  159. package/docs/cli/reset.md +35 -0
  160. package/docs/cli/sandbox.md +197 -0
  161. package/docs/cli/secrets.md +197 -0
  162. package/docs/cli/security.md +86 -0
  163. package/docs/cli/sessions.md +113 -0
  164. package/docs/cli/setup.md +45 -0
  165. package/docs/cli/skills.md +59 -0
  166. package/docs/cli/status.md +35 -0
  167. package/docs/cli/system.md +71 -0
  168. package/docs/cli/tui.md +30 -0
  169. package/docs/cli/uninstall.md +39 -0
  170. package/docs/cli/update.md +113 -0
  171. package/docs/cli/voicecall.md +34 -0
  172. package/docs/cli/webhooks.md +91 -0
  173. package/docs/concepts/agent-loop.md +168 -0
  174. package/docs/concepts/agent-workspace.md +246 -0
  175. package/docs/concepts/agent.md +129 -0
  176. package/docs/concepts/architecture.md +156 -0
  177. package/docs/concepts/compaction.md +122 -0
  178. package/docs/concepts/context-engine.md +274 -0
  179. package/docs/concepts/context.md +179 -0
  180. package/docs/concepts/delegate-architecture.md +307 -0
  181. package/docs/concepts/dreaming.md +173 -0
  182. package/docs/concepts/features.md +76 -0
  183. package/docs/concepts/markdown-formatting.md +130 -0
  184. package/docs/concepts/memory-builtin.md +105 -0
  185. package/docs/concepts/memory-honcho.md +140 -0
  186. package/docs/concepts/memory-qmd.md +163 -0
  187. package/docs/concepts/memory-search.md +141 -0
  188. package/docs/concepts/memory.md +121 -0
  189. package/docs/concepts/messages.md +161 -0
  190. package/docs/concepts/model-failover.md +349 -0
  191. package/docs/concepts/model-providers.md +799 -0
  192. package/docs/concepts/models.md +255 -0
  193. package/docs/concepts/multi-agent.md +615 -0
  194. package/docs/concepts/oauth.md +225 -0
  195. package/docs/concepts/presence.md +102 -0
  196. package/docs/concepts/queue.md +89 -0
  197. package/docs/concepts/retry.md +69 -0
  198. package/docs/concepts/session-pruning.md +92 -0
  199. package/docs/concepts/session-tool.md +141 -0
  200. package/docs/concepts/session.md +116 -0
  201. package/docs/concepts/soul.md +110 -0
  202. package/docs/concepts/streaming.md +161 -0
  203. package/docs/concepts/system-prompt.md +182 -0
  204. package/docs/concepts/timezone.md +97 -0
  205. package/docs/concepts/typebox.md +307 -0
  206. package/docs/concepts/typing-indicators.md +69 -0
  207. package/docs/concepts/usage-tracking.md +59 -0
  208. package/docs/date-time.md +128 -0
  209. package/docs/debug/node-issue.md +85 -0
  210. package/docs/diagnostics/flags.md +91 -0
  211. package/docs/docs.json +1601 -0
  212. package/docs/gateway/authentication.md +218 -0
  213. package/docs/gateway/background-process.md +131 -0
  214. package/docs/gateway/bonjour.md +179 -0
  215. package/docs/gateway/bridge-protocol.md +89 -0
  216. package/docs/gateway/cli-backends.md +310 -0
  217. package/docs/gateway/configuration-examples.md +631 -0
  218. package/docs/gateway/configuration-reference.md +3618 -0
  219. package/docs/gateway/configuration.md +698 -0
  220. package/docs/gateway/discovery.md +141 -0
  221. package/docs/gateway/doctor.md +494 -0
  222. package/docs/gateway/gateway-lock.md +37 -0
  223. package/docs/gateway/health.md +61 -0
  224. package/docs/gateway/heartbeat.md +443 -0
  225. package/docs/gateway/index.md +367 -0
  226. package/docs/gateway/local-models.md +163 -0
  227. package/docs/gateway/logging.md +113 -0
  228. package/docs/gateway/multiple-gateways.md +120 -0
  229. package/docs/gateway/network-model.md +25 -0
  230. package/docs/gateway/openai-http-api.md +280 -0
  231. package/docs/gateway/openresponses-http-api.md +340 -0
  232. package/docs/gateway/openshell.md +307 -0
  233. package/docs/gateway/pairing.md +138 -0
  234. package/docs/gateway/protocol.md +588 -0
  235. package/docs/gateway/remote-gateway-readme.md +164 -0
  236. package/docs/gateway/remote.md +251 -0
  237. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +141 -0
  238. package/docs/gateway/sandboxing.md +473 -0
  239. package/docs/gateway/secrets-plan-contract.md +116 -0
  240. package/docs/gateway/secrets.md +541 -0
  241. package/docs/gateway/security/index.md +1362 -0
  242. package/docs/gateway/tailscale.md +136 -0
  243. package/docs/gateway/tools-invoke-http-api.md +161 -0
  244. package/docs/gateway/troubleshooting.md +451 -0
  245. package/docs/gateway/trusted-proxy-auth.md +399 -0
  246. package/docs/help/debugging.md +168 -0
  247. package/docs/help/environment.md +165 -0
  248. package/docs/help/faq.md +3244 -0
  249. package/docs/help/index.md +28 -0
  250. package/docs/help/scripts.md +27 -0
  251. package/docs/help/testing.md +640 -0
  252. package/docs/help/troubleshooting.md +372 -0
  253. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  254. package/docs/images/feishu-step2-create-app.png +0 -0
  255. package/docs/images/feishu-step3-credentials.png +0 -0
  256. package/docs/images/feishu-step4-permissions.png +0 -0
  257. package/docs/images/feishu-step5-bot-capability.png +0 -0
  258. package/docs/images/feishu-step6-event-subscription.png +0 -0
  259. package/docs/images/feishu-verification-token.png +0 -0
  260. package/docs/images/groups-flow.svg +52 -0
  261. package/docs/images/mobile-ui-screenshot.png +0 -0
  262. package/docs/index.md +196 -0
  263. package/docs/install/ansible.md +230 -0
  264. package/docs/install/azure.md +311 -0
  265. package/docs/install/bun.md +55 -0
  266. package/docs/install/clawdock.md +106 -0
  267. package/docs/install/development-channels.md +131 -0
  268. package/docs/install/digitalocean.md +129 -0
  269. package/docs/install/docker-vm-runtime.md +142 -0
  270. package/docs/install/docker.md +412 -0
  271. package/docs/install/exe-dev.md +133 -0
  272. package/docs/install/fly.md +504 -0
  273. package/docs/install/gcp.md +412 -0
  274. package/docs/install/hetzner.md +259 -0
  275. package/docs/install/index.md +212 -0
  276. package/docs/install/installer.md +443 -0
  277. package/docs/install/kubernetes.md +192 -0
  278. package/docs/install/macos-vm.md +281 -0
  279. package/docs/install/migrating-matrix.md +349 -0
  280. package/docs/install/migrating.md +112 -0
  281. package/docs/install/nix.md +89 -0
  282. package/docs/install/node.md +144 -0
  283. package/docs/install/northflank.mdx +42 -0
  284. package/docs/install/oracle.md +158 -0
  285. package/docs/install/podman.md +210 -0
  286. package/docs/install/railway.mdx +90 -0
  287. package/docs/install/raspberry-pi.md +159 -0
  288. package/docs/install/render.mdx +165 -0
  289. package/docs/install/uninstall.md +128 -0
  290. package/docs/install/updating.md +142 -0
  291. package/docs/logging.md +389 -0
  292. package/docs/nav-tabs-underline.js +100 -0
  293. package/docs/network.md +69 -0
  294. package/docs/nodes/audio.md +191 -0
  295. package/docs/nodes/camera.md +162 -0
  296. package/docs/nodes/images.md +73 -0
  297. package/docs/nodes/index.md +408 -0
  298. package/docs/nodes/location-command.md +98 -0
  299. package/docs/nodes/media-understanding.md +432 -0
  300. package/docs/nodes/talk.md +92 -0
  301. package/docs/nodes/troubleshooting.md +123 -0
  302. package/docs/nodes/voicewake.md +66 -0
  303. package/docs/perplexity.md +181 -0
  304. package/docs/pi-dev.md +80 -0
  305. package/docs/pi.md +570 -0
  306. package/docs/platforms/android.md +244 -0
  307. package/docs/platforms/digitalocean.md +266 -0
  308. package/docs/platforms/index.md +55 -0
  309. package/docs/platforms/ios.md +223 -0
  310. package/docs/platforms/linux.md +100 -0
  311. package/docs/platforms/mac/bundled-gateway.md +75 -0
  312. package/docs/platforms/mac/canvas.md +125 -0
  313. package/docs/platforms/mac/child-process.md +69 -0
  314. package/docs/platforms/mac/dev-setup.md +107 -0
  315. package/docs/platforms/mac/health.md +34 -0
  316. package/docs/platforms/mac/icon.md +31 -0
  317. package/docs/platforms/mac/logging.md +57 -0
  318. package/docs/platforms/mac/menu-bar.md +81 -0
  319. package/docs/platforms/mac/peekaboo.md +65 -0
  320. package/docs/platforms/mac/permissions.md +50 -0
  321. package/docs/platforms/mac/remote.md +84 -0
  322. package/docs/platforms/mac/signing.md +47 -0
  323. package/docs/platforms/mac/skills.md +40 -0
  324. package/docs/platforms/mac/voice-overlay.md +60 -0
  325. package/docs/platforms/mac/voicewake.md +67 -0
  326. package/docs/platforms/mac/webchat.md +51 -0
  327. package/docs/platforms/mac/xpc.md +61 -0
  328. package/docs/platforms/macos.md +229 -0
  329. package/docs/platforms/oracle.md +305 -0
  330. package/docs/platforms/raspberry-pi.md +420 -0
  331. package/docs/platforms/windows.md +241 -0
  332. package/docs/plugins/agent-tools.md +10 -0
  333. package/docs/plugins/architecture.md +1609 -0
  334. package/docs/plugins/building-extensions.md +10 -0
  335. package/docs/plugins/building-plugins.md +319 -0
  336. package/docs/plugins/bundles.md +292 -0
  337. package/docs/plugins/community.md +149 -0
  338. package/docs/plugins/manifest.md +412 -0
  339. package/docs/plugins/sdk-channel-plugins.md +508 -0
  340. package/docs/plugins/sdk-entrypoints.md +210 -0
  341. package/docs/plugins/sdk-migration.md +359 -0
  342. package/docs/plugins/sdk-overview.md +475 -0
  343. package/docs/plugins/sdk-provider-plugins.md +712 -0
  344. package/docs/plugins/sdk-runtime.md +381 -0
  345. package/docs/plugins/sdk-setup.md +516 -0
  346. package/docs/plugins/sdk-testing.md +263 -0
  347. package/docs/plugins/voice-call.md +466 -0
  348. package/docs/plugins/zalouser.md +78 -0
  349. package/docs/prose.md +134 -0
  350. package/docs/providers/anthropic.md +402 -0
  351. package/docs/providers/bedrock-mantle.md +91 -0
  352. package/docs/providers/bedrock.md +273 -0
  353. package/docs/providers/chutes.md +103 -0
  354. package/docs/providers/claude-max-api-proxy.md +163 -0
  355. package/docs/providers/cloudflare-ai-gateway.md +71 -0
  356. package/docs/providers/deepgram.md +93 -0
  357. package/docs/providers/deepseek.md +53 -0
  358. package/docs/providers/fireworks.md +69 -0
  359. package/docs/providers/github-copilot.md +80 -0
  360. package/docs/providers/glm.md +68 -0
  361. package/docs/providers/google.md +149 -0
  362. package/docs/providers/groq.md +105 -0
  363. package/docs/providers/huggingface.md +193 -0
  364. package/docs/providers/index.md +81 -0
  365. package/docs/providers/kilocode.md +89 -0
  366. package/docs/providers/litellm.md +159 -0
  367. package/docs/providers/minimax.md +281 -0
  368. package/docs/providers/mistral.md +68 -0
  369. package/docs/providers/models.md +56 -0
  370. package/docs/providers/moonshot.md +224 -0
  371. package/docs/providers/nvidia.md +58 -0
  372. package/docs/providers/ollama.md +379 -0
  373. package/docs/providers/openai.md +472 -0
  374. package/docs/providers/opencode-go.md +45 -0
  375. package/docs/providers/opencode.md +68 -0
  376. package/docs/providers/openrouter.md +59 -0
  377. package/docs/providers/perplexity-provider.md +62 -0
  378. package/docs/providers/qianfan.md +90 -0
  379. package/docs/providers/qwen.md +128 -0
  380. package/docs/providers/qwen_modelstudio.md +137 -0
  381. package/docs/providers/sglang.md +115 -0
  382. package/docs/providers/stepfun.md +152 -0
  383. package/docs/providers/synthetic.md +101 -0
  384. package/docs/providers/together.md +70 -0
  385. package/docs/providers/venice.md +282 -0
  386. package/docs/providers/vercel-ai-gateway.md +60 -0
  387. package/docs/providers/vllm.md +103 -0
  388. package/docs/providers/volcengine.md +94 -0
  389. package/docs/providers/xai.md +94 -0
  390. package/docs/providers/xiaomi.md +89 -0
  391. package/docs/providers/zai.md +75 -0
  392. package/docs/reference/AGENTS.default.md +126 -0
  393. package/docs/reference/RELEASING.md +138 -0
  394. package/docs/reference/api-usage-costs.md +198 -0
  395. package/docs/reference/credits.md +30 -0
  396. package/docs/reference/device-models.md +47 -0
  397. package/docs/reference/memory-config.md +421 -0
  398. package/docs/reference/prompt-caching.md +344 -0
  399. package/docs/reference/rpc.md +43 -0
  400. package/docs/reference/secretref-credential-surface.md +148 -0
  401. package/docs/reference/secretref-user-supplied-credentials-matrix.json +607 -0
  402. package/docs/reference/session-management-compaction.md +352 -0
  403. package/docs/reference/templates/AGENTS.dev.md +84 -0
  404. package/docs/reference/templates/AGENTS.md +219 -0
  405. package/docs/reference/templates/BOOT.md +12 -0
  406. package/docs/reference/templates/BOOTSTRAP.md +62 -0
  407. package/docs/reference/templates/CLAUDE.md +1 -0
  408. package/docs/reference/templates/HEARTBEAT.md +14 -0
  409. package/docs/reference/templates/IDENTITY.dev.md +48 -0
  410. package/docs/reference/templates/IDENTITY.md +30 -0
  411. package/docs/reference/templates/SOUL.dev.md +77 -0
  412. package/docs/reference/templates/SOUL.md +45 -0
  413. package/docs/reference/templates/TOOLS.dev.md +25 -0
  414. package/docs/reference/templates/TOOLS.md +47 -0
  415. package/docs/reference/templates/USER.dev.md +19 -0
  416. package/docs/reference/templates/USER.md +24 -0
  417. package/docs/reference/test.md +119 -0
  418. package/docs/reference/token-use.md +197 -0
  419. package/docs/reference/transcript-hygiene.md +151 -0
  420. package/docs/reference/wizard.md +245 -0
  421. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
  422. package/docs/security/THREAT-MODEL-ATLAS.md +608 -0
  423. package/docs/security/formal-verification.md +167 -0
  424. package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +9 -0
  425. package/docs/snippets/plugin-publish/minimal-package.json +16 -0
  426. package/docs/start/bootstrapping.md +41 -0
  427. package/docs/start/docs-directory.md +67 -0
  428. package/docs/start/getting-started.md +148 -0
  429. package/docs/start/hubs.md +199 -0
  430. package/docs/start/lore.md +219 -0
  431. package/docs/start/onboarding-overview.md +69 -0
  432. package/docs/start/onboarding.md +92 -0
  433. package/docs/start/openclaw.md +225 -0
  434. package/docs/start/quickstart.md +22 -0
  435. package/docs/start/setup.md +172 -0
  436. package/docs/start/showcase.md +418 -0
  437. package/docs/start/wizard-cli-automation.md +233 -0
  438. package/docs/start/wizard-cli-reference.md +324 -0
  439. package/docs/start/wizard.md +127 -0
  440. package/docs/style.css +37 -0
  441. package/docs/tools/acp-agents.md +837 -0
  442. package/docs/tools/agent-send.md +100 -0
  443. package/docs/tools/apply-patch.md +52 -0
  444. package/docs/tools/brave-search.md +107 -0
  445. package/docs/tools/browser-linux-troubleshooting.md +145 -0
  446. package/docs/tools/browser-login.md +73 -0
  447. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +221 -0
  448. package/docs/tools/browser.md +890 -0
  449. package/docs/tools/btw.md +142 -0
  450. package/docs/tools/capability-cookbook.md +119 -0
  451. package/docs/tools/clawhub.md +348 -0
  452. package/docs/tools/code-execution.md +90 -0
  453. package/docs/tools/creating-skills.md +119 -0
  454. package/docs/tools/diffs.md +434 -0
  455. package/docs/tools/duckduckgo-search.md +102 -0
  456. package/docs/tools/elevated.md +116 -0
  457. package/docs/tools/exa-search.md +127 -0
  458. package/docs/tools/exec-approvals.md +635 -0
  459. package/docs/tools/exec.md +237 -0
  460. package/docs/tools/firecrawl.md +147 -0
  461. package/docs/tools/gemini-search.md +98 -0
  462. package/docs/tools/grok-search.md +102 -0
  463. package/docs/tools/image-generation.md +139 -0
  464. package/docs/tools/index.md +174 -0
  465. package/docs/tools/kimi-search.md +98 -0
  466. package/docs/tools/llm-task.md +119 -0
  467. package/docs/tools/lobster.md +348 -0
  468. package/docs/tools/loop-detection.md +100 -0
  469. package/docs/tools/minimax-search.md +99 -0
  470. package/docs/tools/multi-agent-sandbox-tools.md +373 -0
  471. package/docs/tools/ollama-search.md +100 -0
  472. package/docs/tools/pdf.md +176 -0
  473. package/docs/tools/perplexity-search.md +185 -0
  474. package/docs/tools/plugin.md +348 -0
  475. package/docs/tools/reactions.md +78 -0
  476. package/docs/tools/searxng-search.md +132 -0
  477. package/docs/tools/skills-config.md +133 -0
  478. package/docs/tools/skills.md +377 -0
  479. package/docs/tools/slash-commands.md +322 -0
  480. package/docs/tools/subagents.md +341 -0
  481. package/docs/tools/tavily.md +129 -0
  482. package/docs/tools/thinking.md +102 -0
  483. package/docs/tools/tts.md +452 -0
  484. package/docs/tools/web-fetch.md +159 -0
  485. package/docs/tools/web.md +417 -0
  486. package/docs/tts.md +452 -0
  487. package/docs/vps.md +115 -0
  488. package/docs/web/control-ui.md +318 -0
  489. package/docs/web/dashboard.md +93 -0
  490. package/docs/web/index.md +126 -0
  491. package/docs/web/tui.md +176 -0
  492. package/docs/web/webchat.md +77 -0
  493. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  494. package/docs/whatsapp-openclaw.jpg +0 -0
  495. package/durar.mjs +180 -0
  496. package/package.json +1259 -0
  497. package/scripts/npm-runner.mjs +111 -0
  498. package/scripts/postinstall-bundled-plugins.mjs +188 -0
  499. package/skills/1password/SKILL.md +70 -0
  500. package/skills/1password/references/cli-examples.md +29 -0
  501. package/skills/1password/references/get-started.md +17 -0
  502. package/skills/apple-notes/SKILL.md +77 -0
  503. package/skills/apple-reminders/SKILL.md +118 -0
  504. package/skills/bear-notes/SKILL.md +107 -0
  505. package/skills/blogwatcher/SKILL.md +69 -0
  506. package/skills/blucli/SKILL.md +47 -0
  507. package/skills/bluebubbles/SKILL.md +131 -0
  508. package/skills/camsnap/SKILL.md +45 -0
  509. package/skills/canvas/SKILL.md +199 -0
  510. package/skills/clawhub/SKILL.md +77 -0
  511. package/skills/coding-agent/SKILL.md +316 -0
  512. package/skills/discord/SKILL.md +197 -0
  513. package/skills/eightctl/SKILL.md +50 -0
  514. package/skills/gemini/SKILL.md +43 -0
  515. package/skills/gh-issues/SKILL.md +885 -0
  516. package/skills/gifgrep/SKILL.md +79 -0
  517. package/skills/github/SKILL.md +163 -0
  518. package/skills/gog/SKILL.md +116 -0
  519. package/skills/goplaces/SKILL.md +52 -0
  520. package/skills/healthcheck/SKILL.md +245 -0
  521. package/skills/himalaya/SKILL.md +257 -0
  522. package/skills/himalaya/references/configuration.md +184 -0
  523. package/skills/himalaya/references/message-composition.md +199 -0
  524. package/skills/imsg/SKILL.md +122 -0
  525. package/skills/mcporter/SKILL.md +61 -0
  526. package/skills/model-usage/SKILL.md +69 -0
  527. package/skills/model-usage/references/codexbar-cli.md +33 -0
  528. package/skills/model-usage/scripts/model_usage.py +320 -0
  529. package/skills/model-usage/scripts/test_model_usage.py +40 -0
  530. package/skills/nano-pdf/SKILL.md +38 -0
  531. package/skills/node-connect/SKILL.md +142 -0
  532. package/skills/notion/SKILL.md +174 -0
  533. package/skills/obsidian/SKILL.md +81 -0
  534. package/skills/openai-whisper/SKILL.md +38 -0
  535. package/skills/openai-whisper-api/SKILL.md +62 -0
  536. package/skills/openai-whisper-api/scripts/transcribe.sh +88 -0
  537. package/skills/openhue/SKILL.md +112 -0
  538. package/skills/oracle/SKILL.md +125 -0
  539. package/skills/ordercli/SKILL.md +78 -0
  540. package/skills/peekaboo/SKILL.md +190 -0
  541. package/skills/sag/SKILL.md +87 -0
  542. package/skills/session-logs/SKILL.md +151 -0
  543. package/skills/sherpa-onnx-tts/SKILL.md +109 -0
  544. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  545. package/skills/skill-creator/SKILL.md +372 -0
  546. package/skills/skill-creator/license.txt +202 -0
  547. package/skills/skill-creator/scripts/init_skill.py +378 -0
  548. package/skills/skill-creator/scripts/package_skill.py +139 -0
  549. package/skills/skill-creator/scripts/quick_validate.py +159 -0
  550. package/skills/skill-creator/scripts/test_package_skill.py +160 -0
  551. package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
  552. package/skills/slack/SKILL.md +144 -0
  553. package/skills/songsee/SKILL.md +49 -0
  554. package/skills/sonoscli/SKILL.md +65 -0
  555. package/skills/spotify-player/SKILL.md +64 -0
  556. package/skills/summarize/SKILL.md +87 -0
  557. package/skills/taskflow/SKILL.md +149 -0
  558. package/skills/taskflow/examples/inbox-triage.lobster +33 -0
  559. package/skills/taskflow/examples/pr-intake.lobster +32 -0
  560. package/skills/taskflow-inbox-triage/SKILL.md +119 -0
  561. package/skills/things-mac/SKILL.md +86 -0
  562. package/skills/tmux/SKILL.md +170 -0
  563. package/skills/tmux/scripts/find-sessions.sh +112 -0
  564. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  565. package/skills/trello/SKILL.md +108 -0
  566. package/skills/video-frames/SKILL.md +46 -0
  567. package/skills/video-frames/scripts/frame.sh +81 -0
  568. package/skills/voice-call/SKILL.md +45 -0
  569. package/skills/wacli/SKILL.md +72 -0
  570. package/skills/weather/SKILL.md +129 -0
  571. 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)