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,142 @@
1
+ ---
2
+ name: node-connect
3
+ description: Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale, or plugins.entries.device-pair.config.publicUrl.
4
+ ---
5
+
6
+ # Node Connect
7
+
8
+ Goal: find the one real route from node -> gateway, verify OpenClaw is advertising that route, then fix pairing/auth.
9
+
10
+ ## Topology first
11
+
12
+ Decide which case you are in before proposing fixes:
13
+
14
+ - same machine / emulator / USB tunnel
15
+ - same LAN / local Wi-Fi
16
+ - same Tailscale tailnet
17
+ - public URL / reverse proxy
18
+
19
+ Do not mix them.
20
+
21
+ - Local Wi-Fi problem: do not switch to Tailscale unless remote access is actually needed.
22
+ - VPS / remote gateway problem: do not keep debugging `localhost` or LAN IPs.
23
+
24
+ ## If ambiguous, ask first
25
+
26
+ If the setup is unclear or the failure report is vague, ask short clarifying questions before diagnosing.
27
+
28
+ Ask for:
29
+
30
+ - which route they intend: same machine, same LAN, Tailscale tailnet, or public URL
31
+ - whether they used QR/setup code or manual host/port
32
+ - the exact app text/status/error, quoted exactly if possible
33
+ - whether `openclaw devices list` shows a pending pairing request
34
+
35
+ Do not guess from `can't connect`.
36
+
37
+ ## Canonical checks
38
+
39
+ Prefer `openclaw qr --json`. It uses the same setup-code payload Android scans.
40
+
41
+ ```bash
42
+ openclaw config get gateway.mode
43
+ openclaw config get gateway.bind
44
+ openclaw config get gateway.tailscale.mode
45
+ openclaw config get gateway.remote.url
46
+ openclaw config get gateway.auth.mode
47
+ openclaw config get gateway.auth.allowTailscale
48
+ openclaw config get plugins.entries.device-pair.config.publicUrl
49
+ openclaw qr --json
50
+ openclaw devices list
51
+ openclaw nodes status
52
+ ```
53
+
54
+ If this OpenClaw instance is pointed at a remote gateway, also run:
55
+
56
+ ```bash
57
+ openclaw qr --remote --json
58
+ ```
59
+
60
+ If Tailscale is part of the story:
61
+
62
+ ```bash
63
+ tailscale status --json
64
+ ```
65
+
66
+ ## Read the result, not guesses
67
+
68
+ `openclaw qr --json` success means:
69
+
70
+ - `gatewayUrl`: this is the actual endpoint the app should use.
71
+ - `urlSource`: this tells you which config path won.
72
+
73
+ Common good sources:
74
+
75
+ - `gateway.bind=lan`: same Wi-Fi / LAN only
76
+ - `gateway.bind=tailnet`: direct tailnet access
77
+ - `gateway.tailscale.mode=serve` or `gateway.tailscale.mode=funnel`: Tailscale route
78
+ - `plugins.entries.device-pair.config.publicUrl`: explicit public/reverse-proxy route
79
+ - `gateway.remote.url`: remote gateway route
80
+
81
+ ## Root-cause map
82
+
83
+ If `openclaw qr --json` says `Gateway is only bound to loopback`:
84
+
85
+ - remote node cannot connect yet
86
+ - fix the route, then generate a fresh setup code
87
+ - `gateway.bind=auto` is not enough if the effective QR route is still loopback
88
+ - same LAN: use `gateway.bind=lan`
89
+ - same tailnet: prefer `gateway.tailscale.mode=serve` or use `gateway.bind=tailnet`
90
+ - public internet: set a real `plugins.entries.device-pair.config.publicUrl` or `gateway.remote.url`
91
+
92
+ If `gateway.bind=tailnet set, but no tailnet IP was found`:
93
+
94
+ - gateway host is not actually on Tailscale
95
+
96
+ If `qr --remote requires gateway.remote.url`:
97
+
98
+ - remote-mode config is incomplete
99
+
100
+ If the app says `pairing required`:
101
+
102
+ - network route and auth worked
103
+ - approve the pending device
104
+
105
+ ```bash
106
+ openclaw devices list
107
+ openclaw devices approve --latest
108
+ ```
109
+
110
+ If the app says `bootstrap token invalid or expired`:
111
+
112
+ - old setup code
113
+ - generate a fresh one and rescan
114
+ - do this after any URL/auth fix too
115
+
116
+ If the app says `unauthorized`:
117
+
118
+ - wrong token/password, or wrong Tailscale expectation
119
+ - for Tailscale Serve, `gateway.auth.allowTailscale` must match the intended flow
120
+ - otherwise use explicit token/password
121
+
122
+ ## Fast heuristics
123
+
124
+ - Same Wi-Fi setup + gateway advertises `127.0.0.1`, `localhost`, or loopback-only config: wrong.
125
+ - Remote setup + setup/manual uses private LAN IP: wrong.
126
+ - Tailnet setup + gateway advertises LAN IP instead of MagicDNS / tailnet route: wrong.
127
+ - Public URL set but QR still advertises something else: inspect `urlSource`; config is not what you think.
128
+ - `openclaw devices list` shows pending requests: stop changing network config and approve first.
129
+
130
+ ## Fix style
131
+
132
+ Reply with one concrete diagnosis and one route.
133
+
134
+ If there is not enough signal yet, ask for setup + exact app text instead of guessing.
135
+
136
+ Good:
137
+
138
+ - `The gateway is still loopback-only, so a node on another network can never reach it. Enable Tailscale Serve, restart the gateway, run openclaw qr again, rescan, then approve the pending device pairing.`
139
+
140
+ Bad:
141
+
142
+ - `Maybe LAN, maybe Tailscale, maybe port forwarding, maybe public URL.`
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: notion
3
+ description: Notion API for creating and managing pages, databases, and blocks.
4
+ homepage: https://developers.notion.com
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ { "emoji": "📝", "requires": { "env": ["NOTION_API_KEY"] }, "primaryEnv": "NOTION_API_KEY" },
9
+ }
10
+ ---
11
+
12
+ # notion
13
+
14
+ Use the Notion API to create/read/update pages, data sources (databases), and blocks.
15
+
16
+ ## Setup
17
+
18
+ 1. Create an integration at https://notion.so/my-integrations
19
+ 2. Copy the API key (starts with `ntn_` or `secret_`)
20
+ 3. Store it:
21
+
22
+ ```bash
23
+ mkdir -p ~/.config/notion
24
+ echo "ntn_your_key_here" > ~/.config/notion/api_key
25
+ ```
26
+
27
+ 4. Share target pages/databases with your integration (click "..." → "Connect to" → your integration name)
28
+
29
+ ## API Basics
30
+
31
+ All requests need:
32
+
33
+ ```bash
34
+ NOTION_KEY=$(cat ~/.config/notion/api_key)
35
+ curl -X GET "https://api.notion.com/v1/..." \
36
+ -H "Authorization: Bearer $NOTION_KEY" \
37
+ -H "Notion-Version: 2025-09-03" \
38
+ -H "Content-Type: application/json"
39
+ ```
40
+
41
+ > **Note:** The `Notion-Version` header is required. This skill uses `2025-09-03` (latest). In this version, databases are called "data sources" in the API.
42
+
43
+ ## Common Operations
44
+
45
+ **Search for pages and data sources:**
46
+
47
+ ```bash
48
+ curl -X POST "https://api.notion.com/v1/search" \
49
+ -H "Authorization: Bearer $NOTION_KEY" \
50
+ -H "Notion-Version: 2025-09-03" \
51
+ -H "Content-Type: application/json" \
52
+ -d '{"query": "page title"}'
53
+ ```
54
+
55
+ **Get page:**
56
+
57
+ ```bash
58
+ curl "https://api.notion.com/v1/pages/{page_id}" \
59
+ -H "Authorization: Bearer $NOTION_KEY" \
60
+ -H "Notion-Version: 2025-09-03"
61
+ ```
62
+
63
+ **Get page content (blocks):**
64
+
65
+ ```bash
66
+ curl "https://api.notion.com/v1/blocks/{page_id}/children" \
67
+ -H "Authorization: Bearer $NOTION_KEY" \
68
+ -H "Notion-Version: 2025-09-03"
69
+ ```
70
+
71
+ **Create page in a data source:**
72
+
73
+ ```bash
74
+ curl -X POST "https://api.notion.com/v1/pages" \
75
+ -H "Authorization: Bearer $NOTION_KEY" \
76
+ -H "Notion-Version: 2025-09-03" \
77
+ -H "Content-Type: application/json" \
78
+ -d '{
79
+ "parent": {"database_id": "xxx"},
80
+ "properties": {
81
+ "Name": {"title": [{"text": {"content": "New Item"}}]},
82
+ "Status": {"select": {"name": "Todo"}}
83
+ }
84
+ }'
85
+ ```
86
+
87
+ **Query a data source (database):**
88
+
89
+ ```bash
90
+ curl -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
91
+ -H "Authorization: Bearer $NOTION_KEY" \
92
+ -H "Notion-Version: 2025-09-03" \
93
+ -H "Content-Type: application/json" \
94
+ -d '{
95
+ "filter": {"property": "Status", "select": {"equals": "Active"}},
96
+ "sorts": [{"property": "Date", "direction": "descending"}]
97
+ }'
98
+ ```
99
+
100
+ **Create a data source (database):**
101
+
102
+ ```bash
103
+ curl -X POST "https://api.notion.com/v1/data_sources" \
104
+ -H "Authorization: Bearer $NOTION_KEY" \
105
+ -H "Notion-Version: 2025-09-03" \
106
+ -H "Content-Type: application/json" \
107
+ -d '{
108
+ "parent": {"page_id": "xxx"},
109
+ "title": [{"text": {"content": "My Database"}}],
110
+ "properties": {
111
+ "Name": {"title": {}},
112
+ "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
113
+ "Date": {"date": {}}
114
+ }
115
+ }'
116
+ ```
117
+
118
+ **Update page properties:**
119
+
120
+ ```bash
121
+ curl -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
122
+ -H "Authorization: Bearer $NOTION_KEY" \
123
+ -H "Notion-Version: 2025-09-03" \
124
+ -H "Content-Type: application/json" \
125
+ -d '{"properties": {"Status": {"select": {"name": "Done"}}}}'
126
+ ```
127
+
128
+ **Add blocks to page:**
129
+
130
+ ```bash
131
+ curl -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \
132
+ -H "Authorization: Bearer $NOTION_KEY" \
133
+ -H "Notion-Version: 2025-09-03" \
134
+ -H "Content-Type: application/json" \
135
+ -d '{
136
+ "children": [
137
+ {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
138
+ ]
139
+ }'
140
+ ```
141
+
142
+ ## Property Types
143
+
144
+ Common property formats for database items:
145
+
146
+ - **Title:** `{"title": [{"text": {"content": "..."}}]}`
147
+ - **Rich text:** `{"rich_text": [{"text": {"content": "..."}}]}`
148
+ - **Select:** `{"select": {"name": "Option"}}`
149
+ - **Multi-select:** `{"multi_select": [{"name": "A"}, {"name": "B"}]}`
150
+ - **Date:** `{"date": {"start": "2024-01-15", "end": "2024-01-16"}}`
151
+ - **Checkbox:** `{"checkbox": true}`
152
+ - **Number:** `{"number": 42}`
153
+ - **URL:** `{"url": "https://..."}`
154
+ - **Email:** `{"email": "a@b.com"}`
155
+ - **Relation:** `{"relation": [{"id": "page_id"}]}`
156
+
157
+ ## Key Differences in 2025-09-03
158
+
159
+ - **Databases → Data Sources:** Use `/data_sources/` endpoints for queries and retrieval
160
+ - **Two IDs:** Each database now has both a `database_id` and a `data_source_id`
161
+ - Use `database_id` when creating pages (`parent: {"database_id": "..."}`)
162
+ - Use `data_source_id` when querying (`POST /v1/data_sources/{id}/query`)
163
+ - **Search results:** Databases return as `"object": "data_source"` with their `data_source_id`
164
+ - **Parent in responses:** Pages show `parent.data_source_id` alongside `parent.database_id`
165
+ - **Finding the data_source_id:** Search for the database, or call `GET /v1/data_sources/{data_source_id}`
166
+
167
+ ## Notes
168
+
169
+ - Page/database IDs are UUIDs (with or without dashes)
170
+ - The API cannot set database view filters — that's UI-only
171
+ - Rate limit: ~3 requests/second average, with `429 rate_limited` responses using `Retry-After`
172
+ - Append block children: up to 100 children per request, up to two levels of nesting in a single append request
173
+ - Payload size limits: up to 1000 block elements and 500KB overall
174
+ - Use `is_inline: true` when creating data sources to embed them in pages
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: obsidian
3
+ description: Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
4
+ homepage: https://help.obsidian.md
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ {
9
+ "emoji": "💎",
10
+ "requires": { "bins": ["obsidian-cli"] },
11
+ "install":
12
+ [
13
+ {
14
+ "id": "brew",
15
+ "kind": "brew",
16
+ "formula": "yakitrak/yakitrak/obsidian-cli",
17
+ "bins": ["obsidian-cli"],
18
+ "label": "Install obsidian-cli (brew)",
19
+ },
20
+ ],
21
+ },
22
+ }
23
+ ---
24
+
25
+ # Obsidian
26
+
27
+ Obsidian vault = a normal folder on disk.
28
+
29
+ Vault structure (typical)
30
+
31
+ - Notes: `*.md` (plain text Markdown; edit with any editor)
32
+ - Config: `.obsidian/` (workspace + plugin settings; usually don’t touch from scripts)
33
+ - Canvases: `*.canvas` (JSON)
34
+ - Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)
35
+
36
+ ## Find the active vault(s)
37
+
38
+ Obsidian desktop tracks vaults here (source of truth):
39
+
40
+ - `~/Library/Application Support/obsidian/obsidian.json`
41
+
42
+ `obsidian-cli` resolves vaults from that file; vault name is typically the **folder name** (path suffix).
43
+
44
+ Fast “what vault is active / where are the notes?”
45
+
46
+ - If you’ve already set a default: `obsidian-cli print-default --path-only`
47
+ - Otherwise, read `~/Library/Application Support/obsidian/obsidian.json` and use the vault entry with `"open": true`.
48
+
49
+ Notes
50
+
51
+ - Multiple vaults common (iCloud vs `~/Documents`, work/personal, etc.). Don’t guess; read config.
52
+ - Avoid writing hardcoded vault paths into scripts; prefer reading the config or using `print-default`.
53
+
54
+ ## obsidian-cli quick start
55
+
56
+ Pick a default vault (once):
57
+
58
+ - `obsidian-cli set-default "<vault-folder-name>"`
59
+ - `obsidian-cli print-default` / `obsidian-cli print-default --path-only`
60
+
61
+ Search
62
+
63
+ - `obsidian-cli search "query"` (note names)
64
+ - `obsidian-cli search-content "query"` (inside notes; shows snippets + lines)
65
+
66
+ Create
67
+
68
+ - `obsidian-cli create "Folder/New note" --content "..." --open`
69
+ - Requires Obsidian URI handler (`obsidian://…`) working (Obsidian installed).
70
+ - Avoid creating notes under “hidden” dot-folders (e.g. `.something/...`) via URI; Obsidian may refuse.
71
+
72
+ Move/rename (safe refactor)
73
+
74
+ - `obsidian-cli move "old/path/note" "new/path/note"`
75
+ - Updates `[[wikilinks]]` and common Markdown links across the vault (this is the main win vs `mv`).
76
+
77
+ Delete
78
+
79
+ - `obsidian-cli delete "path/note"`
80
+
81
+ Prefer direct edits when appropriate: open the `.md` file and change it; Obsidian will pick it up.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: openai-whisper
3
+ description: Local speech-to-text with the Whisper CLI (no API key).
4
+ homepage: https://openai.com/research/whisper
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ {
9
+ "emoji": "🎤",
10
+ "requires": { "bins": ["whisper"] },
11
+ "install":
12
+ [
13
+ {
14
+ "id": "brew",
15
+ "kind": "brew",
16
+ "formula": "openai-whisper",
17
+ "bins": ["whisper"],
18
+ "label": "Install OpenAI Whisper (brew)",
19
+ },
20
+ ],
21
+ },
22
+ }
23
+ ---
24
+
25
+ # Whisper (CLI)
26
+
27
+ Use `whisper` to transcribe audio locally.
28
+
29
+ Quick start
30
+
31
+ - `whisper /path/audio.mp3 --model medium --output_format txt --output_dir .`
32
+ - `whisper /path/audio.m4a --task translate --output_format srt`
33
+
34
+ Notes
35
+
36
+ - Models download to `~/.cache/whisper` on first run.
37
+ - `--model` defaults to `turbo` on this install.
38
+ - Use smaller models for speed, larger for accuracy.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: openai-whisper-api
3
+ description: Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
4
+ homepage: https://platform.openai.com/docs/guides/speech-to-text
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ {
9
+ "emoji": "🌐",
10
+ "requires": { "bins": ["curl"], "env": ["OPENAI_API_KEY"] },
11
+ "primaryEnv": "OPENAI_API_KEY",
12
+ "install":
13
+ [
14
+ {
15
+ "id": "brew",
16
+ "kind": "brew",
17
+ "formula": "curl",
18
+ "bins": ["curl"],
19
+ "label": "Install curl (brew)",
20
+ },
21
+ ],
22
+ },
23
+ }
24
+ ---
25
+
26
+ # OpenAI Whisper API (curl)
27
+
28
+ Transcribe an audio file via OpenAI’s `/v1/audio/transcriptions` endpoint. Set `OPENAI_BASE_URL` to use an OpenAI-compatible proxy or local gateway.
29
+
30
+ ## Quick start
31
+
32
+ ```bash
33
+ {baseDir}/scripts/transcribe.sh /path/to/audio.m4a
34
+ ```
35
+
36
+ Defaults:
37
+
38
+ - Model: `whisper-1`
39
+ - Output: `<input>.txt`
40
+
41
+ ## Useful flags
42
+
43
+ ```bash
44
+ {baseDir}/scripts/transcribe.sh /path/to/audio.ogg --model whisper-1 --out /tmp/transcript.txt
45
+ {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --language en
46
+ {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --prompt "Speaker names: Peter, Daniel"
47
+ {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --json --out /tmp/transcript.json
48
+ ```
49
+
50
+ ## API key
51
+
52
+ Set `OPENAI_API_KEY`, or configure it in the active OpenClaw config file (`$OPENCLAW_CONFIG_PATH`, default `~/.openclaw/openclaw.json`). Optionally set `OPENAI_BASE_URL` (for example `http://127.0.0.1:51805/v1`) to use an OpenAI-compatible proxy or local gateway:
53
+
54
+ ```json5
55
+ {
56
+ skills: {
57
+ "openai-whisper-api": {
58
+ apiKey: "OPENAI_KEY_HERE",
59
+ },
60
+ },
61
+ }
62
+ ```
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ usage() {
5
+ cat >&2 <<'EOF'
6
+ Usage:
7
+ transcribe.sh <audio-file> [--model whisper-1] [--out /path/to/out.txt] [--language en] [--prompt "hint"] [--json]
8
+ EOF
9
+ exit 2
10
+ }
11
+
12
+ if [[ "${1:-}" == "" || "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
13
+ usage
14
+ fi
15
+
16
+ in="${1:-}"
17
+ shift || true
18
+
19
+ model="whisper-1"
20
+ out=""
21
+ language=""
22
+ prompt=""
23
+ response_format="text"
24
+
25
+ while [[ $# -gt 0 ]]; do
26
+ case "$1" in
27
+ --model)
28
+ model="${2:-}"
29
+ shift 2
30
+ ;;
31
+ --out)
32
+ out="${2:-}"
33
+ shift 2
34
+ ;;
35
+ --language)
36
+ language="${2:-}"
37
+ shift 2
38
+ ;;
39
+ --prompt)
40
+ prompt="${2:-}"
41
+ shift 2
42
+ ;;
43
+ --json)
44
+ response_format="json"
45
+ shift 1
46
+ ;;
47
+ *)
48
+ echo "Unknown arg: $1" >&2
49
+ usage
50
+ ;;
51
+ esac
52
+ done
53
+
54
+ if [[ ! -f "$in" ]]; then
55
+ echo "File not found: $in" >&2
56
+ exit 1
57
+ fi
58
+
59
+ if [[ "${OPENAI_API_KEY:-}" == "" ]]; then
60
+ echo "Missing OPENAI_API_KEY" >&2
61
+ exit 1
62
+ fi
63
+
64
+ if [[ "$out" == "" ]]; then
65
+ base="${in%.*}"
66
+ if [[ "$response_format" == "json" ]]; then
67
+ out="${base}.json"
68
+ else
69
+ out="${base}.txt"
70
+ fi
71
+ fi
72
+
73
+ mkdir -p "$(dirname "$out")"
74
+
75
+ api_base="${OPENAI_BASE_URL:-https://api.openai.com/v1}"
76
+ api_base="${api_base%/}"
77
+
78
+ curl -sS "${api_base}/audio/transcriptions" \
79
+ -H "Authorization: Bearer $OPENAI_API_KEY" \
80
+ -H "Accept: application/json" \
81
+ -F "file=@${in}" \
82
+ -F "model=${model}" \
83
+ -F "response_format=${response_format}" \
84
+ ${language:+-F "language=${language}"} \
85
+ ${prompt:+-F "prompt=${prompt}"} \
86
+ >"$out"
87
+
88
+ echo "$out"
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: openhue
3
+ description: Control Philips Hue lights and scenes via the OpenHue CLI.
4
+ homepage: https://www.openhue.io/cli
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ {
9
+ "emoji": "💡",
10
+ "requires": { "bins": ["openhue"] },
11
+ "install":
12
+ [
13
+ {
14
+ "id": "brew",
15
+ "kind": "brew",
16
+ "formula": "openhue/cli/openhue-cli",
17
+ "bins": ["openhue"],
18
+ "label": "Install OpenHue CLI (brew)",
19
+ },
20
+ ],
21
+ },
22
+ }
23
+ ---
24
+
25
+ # OpenHue CLI
26
+
27
+ Use `openhue` to control Philips Hue lights and scenes via a Hue Bridge.
28
+
29
+ ## When to Use
30
+
31
+ ✅ **USE this skill when:**
32
+
33
+ - "Turn on/off the lights"
34
+ - "Dim the living room lights"
35
+ - "Set a scene" or "movie mode"
36
+ - Controlling specific Hue rooms or zones
37
+ - Adjusting brightness, color, or color temperature
38
+
39
+ ## When NOT to Use
40
+
41
+ ❌ **DON'T use this skill when:**
42
+
43
+ - Non-Hue smart devices (other brands) → not supported
44
+ - HomeKit scenes or Shortcuts → use Apple's ecosystem
45
+ - TV or entertainment system control
46
+ - Thermostat or HVAC
47
+ - Smart plugs (unless Hue smart plugs)
48
+
49
+ ## Common Commands
50
+
51
+ ### List Resources
52
+
53
+ ```bash
54
+ openhue get light # List all lights
55
+ openhue get room # List all rooms
56
+ openhue get scene # List all scenes
57
+ ```
58
+
59
+ ### Control Lights
60
+
61
+ ```bash
62
+ # Turn on/off
63
+ openhue set light "Bedroom Lamp" --on
64
+ openhue set light "Bedroom Lamp" --off
65
+
66
+ # Brightness (0-100)
67
+ openhue set light "Bedroom Lamp" --on --brightness 50
68
+
69
+ # Color temperature (warm to cool: 153-500 mirek)
70
+ openhue set light "Bedroom Lamp" --on --temperature 300
71
+
72
+ # Color (by name or hex)
73
+ openhue set light "Bedroom Lamp" --on --color red
74
+ openhue set light "Bedroom Lamp" --on --rgb "#FF5500"
75
+ ```
76
+
77
+ ### Control Rooms
78
+
79
+ ```bash
80
+ # Turn off entire room
81
+ openhue set room "Bedroom" --off
82
+
83
+ # Set room brightness
84
+ openhue set room "Bedroom" --on --brightness 30
85
+ ```
86
+
87
+ ### Scenes
88
+
89
+ ```bash
90
+ # Activate scene
91
+ openhue set scene "Relax" --room "Bedroom"
92
+ openhue set scene "Concentrate" --room "Office"
93
+ ```
94
+
95
+ ## Quick Presets
96
+
97
+ ```bash
98
+ # Bedtime (dim warm)
99
+ openhue set room "Bedroom" --on --brightness 20 --temperature 450
100
+
101
+ # Work mode (bright cool)
102
+ openhue set room "Office" --on --brightness 100 --temperature 250
103
+
104
+ # Movie mode (dim)
105
+ openhue set room "Living Room" --on --brightness 10
106
+ ```
107
+
108
+ ## Notes
109
+
110
+ - Bridge must be on local network
111
+ - First run requires button press on Hue bridge to pair
112
+ - Colors only work on color-capable bulbs (not white-only)