openclaw-cn-termux 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1761 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +144 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/README.md +23 -0
- package/assets/chrome-extension/background.js +442 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/chrome-extension/manifest.json +25 -0
- package/assets/chrome-extension/options.html +201 -0
- package/assets/chrome-extension/options.js +83 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/dist/acp/client.js +302 -0
- package/dist/acp/commands.js +38 -0
- package/dist/acp/event-mapper.js +70 -0
- package/dist/acp/index.js +2 -0
- package/dist/acp/meta.js +30 -0
- package/dist/acp/server.js +131 -0
- package/dist/acp/session-mapper.js +65 -0
- package/dist/acp/session.js +68 -0
- package/dist/acp/translator.js +344 -0
- package/dist/acp/types.js +6 -0
- package/dist/agents/agent-paths.js +19 -0
- package/dist/agents/agent-scope.js +139 -0
- package/dist/agents/anthropic-payload-log.js +160 -0
- package/dist/agents/apply-patch-update.js +145 -0
- package/dist/agents/apply-patch.js +402 -0
- package/dist/agents/auth-health.js +173 -0
- package/dist/agents/auth-profiles/constants.js +21 -0
- package/dist/agents/auth-profiles/display.js +10 -0
- package/dist/agents/auth-profiles/doctor.js +31 -0
- package/dist/agents/auth-profiles/external-cli-sync.js +236 -0
- package/dist/agents/auth-profiles/oauth.js +203 -0
- package/dist/agents/auth-profiles/order.js +166 -0
- package/dist/agents/auth-profiles/paths.js +27 -0
- package/dist/agents/auth-profiles/profiles.js +63 -0
- package/dist/agents/auth-profiles/repair.js +120 -0
- package/dist/agents/auth-profiles/session-override.js +97 -0
- package/dist/agents/auth-profiles/store.js +331 -0
- package/dist/agents/auth-profiles/types.js +1 -0
- package/dist/agents/auth-profiles/usage.js +235 -0
- package/dist/agents/auth-profiles.js +10 -0
- package/dist/agents/bash-process-registry.js +215 -0
- package/dist/agents/bash-tools.exec.js +1226 -0
- package/dist/agents/bash-tools.js +2 -0
- package/dist/agents/bash-tools.process.js +482 -0
- package/dist/agents/bash-tools.shared.js +191 -0
- package/dist/agents/bedrock-discovery.js +157 -0
- package/dist/agents/bootstrap-files.js +33 -0
- package/dist/agents/bootstrap-hooks.js +19 -0
- package/dist/agents/cache-trace.js +185 -0
- package/dist/agents/channel-tools.js +58 -0
- package/dist/agents/chutes-oauth.js +156 -0
- package/dist/agents/claude-cli-runner.js +3 -0
- package/dist/agents/clawdbot-tools.js +128 -0
- package/dist/agents/cli-backends.js +128 -0
- package/dist/agents/cli-credentials.js +422 -0
- package/dist/agents/cli-runner/helpers.js +527 -0
- package/dist/agents/cli-runner.js +265 -0
- package/dist/agents/cli-session.js +27 -0
- package/dist/agents/cloudflare-ai-gateway.js +31 -0
- package/dist/agents/compaction.js +248 -0
- package/dist/agents/context-window-guard.js +37 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/current-time.js +16 -0
- package/dist/agents/date-time.js +158 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/docs-path.js +20 -0
- package/dist/agents/failover-error.js +191 -0
- package/dist/agents/handlers.js +198 -0
- package/dist/agents/huggingface-models.js +166 -0
- package/dist/agents/identity-avatar.js +82 -0
- package/dist/agents/identity-file.js +80 -0
- package/dist/agents/identity.js +101 -0
- package/dist/agents/image-sanitization.js +9 -0
- package/dist/agents/lanes.js +2 -0
- package/dist/agents/live-auth-keys.js +70 -0
- package/dist/agents/live-model-filter.js +77 -0
- package/dist/agents/memory-search.js +184 -0
- package/dist/agents/minimax-vlm.js +81 -0
- package/dist/agents/model-auth.js +290 -0
- package/dist/agents/model-catalog.js +115 -0
- package/dist/agents/model-compat.js +32 -0
- package/dist/agents/model-fallback.js +246 -0
- package/dist/agents/model-scan.js +350 -0
- package/dist/agents/model-selection.js +323 -0
- package/dist/agents/models-config.js +114 -0
- package/dist/agents/models-config.providers.js +730 -0
- package/dist/agents/ollama-stream.js +297 -0
- package/dist/agents/openclaw-tools.js +137 -0
- package/dist/agents/openclaw-tools.subagents.sessions-spawn.test-harness.js +54 -0
- package/dist/agents/opencode-zen-models.js +254 -0
- package/dist/agents/pi-embedded-block-chunker.js +284 -0
- package/dist/agents/pi-embedded-helpers/bootstrap.js +168 -0
- package/dist/agents/pi-embedded-helpers/errors.js +638 -0
- package/dist/agents/pi-embedded-helpers/google.js +36 -0
- package/dist/agents/pi-embedded-helpers/images.js +96 -0
- package/dist/agents/pi-embedded-helpers/messaging-dedupe.js +35 -0
- package/dist/agents/pi-embedded-helpers/openai.js +98 -0
- package/dist/agents/pi-embedded-helpers/thinking.js +32 -0
- package/dist/agents/pi-embedded-helpers/turns.js +95 -0
- package/dist/agents/pi-embedded-helpers/types.js +1 -0
- package/dist/agents/pi-embedded-helpers.js +9 -0
- package/dist/agents/pi-embedded-messaging.js +24 -0
- package/dist/agents/pi-embedded-runner/abort.js +9 -0
- package/dist/agents/pi-embedded-runner/cache-ttl.js +45 -0
- package/dist/agents/pi-embedded-runner/compact.js +624 -0
- package/dist/agents/pi-embedded-runner/compaction-safety-timeout.js +5 -0
- package/dist/agents/pi-embedded-runner/extensions.js +59 -0
- package/dist/agents/pi-embedded-runner/extra-params.js +90 -0
- package/dist/agents/pi-embedded-runner/google.js +323 -0
- package/dist/agents/pi-embedded-runner/history.js +79 -0
- package/dist/agents/pi-embedded-runner/lanes.js +11 -0
- package/dist/agents/pi-embedded-runner/logger.js +2 -0
- package/dist/agents/pi-embedded-runner/model.js +202 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +907 -0
- package/dist/agents/pi-embedded-runner/run/compaction-timeout.js +27 -0
- package/dist/agents/pi-embedded-runner/run/images.js +371 -0
- package/dist/agents/pi-embedded-runner/run/params.js +1 -0
- package/dist/agents/pi-embedded-runner/run/payloads.js +197 -0
- package/dist/agents/pi-embedded-runner/run/types.js +1 -0
- package/dist/agents/pi-embedded-runner/run.js +787 -0
- package/dist/agents/pi-embedded-runner/runs.js +107 -0
- package/dist/agents/pi-embedded-runner/sandbox-info.js +25 -0
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +54 -0
- package/dist/agents/pi-embedded-runner/session-manager-init.js +31 -0
- package/dist/agents/pi-embedded-runner/system-prompt.js +39 -0
- package/dist/agents/pi-embedded-runner/tool-result-truncation.js +275 -0
- package/dist/agents/pi-embedded-runner/tool-split.js +8 -0
- package/dist/agents/pi-embedded-runner/types.js +1 -0
- package/dist/agents/pi-embedded-runner/utils.js +25 -0
- package/dist/agents/pi-embedded-runner/wait-for-idle-before-flush.js +29 -0
- package/dist/agents/pi-embedded-runner.js +10 -0
- package/dist/agents/pi-embedded-subscribe.handlers.js +45 -0
- package/dist/agents/pi-embedded-subscribe.handlers.lifecycle.js +86 -0
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +230 -0
- package/dist/agents/pi-embedded-subscribe.handlers.tools.js +244 -0
- package/dist/agents/pi-embedded-subscribe.handlers.types.js +1 -0
- package/dist/agents/pi-embedded-subscribe.js +513 -0
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +27 -0
- package/dist/agents/pi-embedded-subscribe.tools.js +166 -0
- package/dist/agents/pi-embedded-subscribe.types.js +1 -0
- package/dist/agents/pi-embedded-utils.js +341 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +223 -0
- package/dist/agents/pi-extensions/context-pruning/extension.js +32 -0
- package/dist/agents/pi-extensions/context-pruning/pruner.js +263 -0
- package/dist/agents/pi-extensions/context-pruning/runtime.js +21 -0
- package/dist/agents/pi-extensions/context-pruning/settings.js +71 -0
- package/dist/agents/pi-extensions/context-pruning/tools.js +44 -0
- package/dist/agents/pi-extensions/context-pruning.js +9 -0
- package/dist/agents/pi-model-discovery.js +10 -0
- package/dist/agents/pi-settings.js +19 -0
- package/dist/agents/pi-tool-definition-adapter.js +114 -0
- package/dist/agents/pi-tools.abort.js +41 -0
- package/dist/agents/pi-tools.before-tool-call.js +95 -0
- package/dist/agents/pi-tools.js +322 -0
- package/dist/agents/pi-tools.policy.js +212 -0
- package/dist/agents/pi-tools.read.js +227 -0
- package/dist/agents/pi-tools.schema.js +147 -0
- package/dist/agents/pi-tools.types.js +1 -0
- package/dist/agents/pty-dsr.js +13 -0
- package/dist/agents/pty-keys.js +235 -0
- package/dist/agents/sandbox/browser-bridges.js +1 -0
- package/dist/agents/sandbox/browser.js +178 -0
- package/dist/agents/sandbox/config-hash.js +45 -0
- package/dist/agents/sandbox/config.js +126 -0
- package/dist/agents/sandbox/constants.js +45 -0
- package/dist/agents/sandbox/context.js +117 -0
- package/dist/agents/sandbox/docker.js +272 -0
- package/dist/agents/sandbox/fs-bridge.js +149 -0
- package/dist/agents/sandbox/fs-paths.js +179 -0
- package/dist/agents/sandbox/manage.js +91 -0
- package/dist/agents/sandbox/prune.js +87 -0
- package/dist/agents/sandbox/registry.js +71 -0
- package/dist/agents/sandbox/runtime-status.js +90 -0
- package/dist/agents/sandbox/shared.js +38 -0
- package/dist/agents/sandbox/tool-policy.js +106 -0
- package/dist/agents/sandbox/types.docker.js +1 -0
- package/dist/agents/sandbox/types.js +1 -0
- package/dist/agents/sandbox/workspace.js +39 -0
- package/dist/agents/sandbox-paths.js +128 -0
- package/dist/agents/sandbox.js +7 -0
- package/dist/agents/schema/clean-for-gemini.js +295 -0
- package/dist/agents/schema/typebox.js +22 -0
- package/dist/agents/session-file-repair.js +83 -0
- package/dist/agents/session-slug.js +134 -0
- package/dist/agents/session-tool-result-guard-wrapper.js +34 -0
- package/dist/agents/session-tool-result-guard.js +178 -0
- package/dist/agents/session-transcript-repair.js +245 -0
- package/dist/agents/session-write-lock.js +102 -0
- package/dist/agents/shell-utils.js +157 -0
- package/dist/agents/skills/bundled-context.js +28 -0
- package/dist/agents/skills/bundled-dir.js +79 -0
- package/dist/agents/skills/config.js +141 -0
- package/dist/agents/skills/env-overrides.js +67 -0
- package/dist/agents/skills/frontmatter.js +119 -0
- package/dist/agents/skills/plugin-skills.js +55 -0
- package/dist/agents/skills/refresh.js +147 -0
- package/dist/agents/skills/serialize.js +13 -0
- package/dist/agents/skills/types.js +1 -0
- package/dist/agents/skills/workspace.js +323 -0
- package/dist/agents/skills-install.js +573 -0
- package/dist/agents/skills-status.js +165 -0
- package/dist/agents/skills.js +13 -0
- package/dist/agents/subagent-announce-queue.js +173 -0
- package/dist/agents/subagent-announce.js +408 -0
- package/dist/agents/subagent-depth.js +137 -0
- package/dist/agents/subagent-registry.js +379 -0
- package/dist/agents/subagent-registry.store.js +73 -0
- package/dist/agents/synthetic-models.js +190 -0
- package/dist/agents/system-prompt-params.js +70 -0
- package/dist/agents/system-prompt-report.js +130 -0
- package/dist/agents/system-prompt.js +477 -0
- package/dist/agents/test-helpers/fast-coding-tools.js +18 -0
- package/dist/agents/test-helpers/fast-core-tools.js +24 -0
- package/dist/agents/timeout.js +24 -0
- package/dist/agents/tool-call-id.js +216 -0
- package/dist/agents/tool-display.js +209 -0
- package/dist/agents/tool-display.json +308 -0
- package/dist/agents/tool-images.js +149 -0
- package/dist/agents/tool-mutation.js +164 -0
- package/dist/agents/tool-policy.js +213 -0
- package/dist/agents/tool-summaries.js +10 -0
- package/dist/agents/tools/agent-step.js +44 -0
- package/dist/agents/tools/agents-list-tool.js +66 -0
- package/dist/agents/tools/browser-tool.js +772 -0
- package/dist/agents/tools/browser-tool.schema.js +106 -0
- package/dist/agents/tools/canvas-tool.js +158 -0
- package/dist/agents/tools/common.js +158 -0
- package/dist/agents/tools/cron-tool.js +283 -0
- package/dist/agents/tools/discord-actions-guild.js +453 -0
- package/dist/agents/tools/discord-actions-messaging.js +408 -0
- package/dist/agents/tools/discord-actions-moderation.js +92 -0
- package/dist/agents/tools/discord-actions.js +61 -0
- package/dist/agents/tools/gateway-tool.js +214 -0
- package/dist/agents/tools/gateway.js +90 -0
- package/dist/agents/tools/image-tool.helpers.js +55 -0
- package/dist/agents/tools/image-tool.js +413 -0
- package/dist/agents/tools/memory-tool.js +103 -0
- package/dist/agents/tools/message-tool.js +379 -0
- package/dist/agents/tools/nodes-tool.js +453 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/session-status-tool.js +358 -0
- package/dist/agents/tools/sessions-announce-target.js +43 -0
- package/dist/agents/tools/sessions-helpers.js +261 -0
- package/dist/agents/tools/sessions-history-tool.js +247 -0
- package/dist/agents/tools/sessions-list-tool.js +176 -0
- package/dist/agents/tools/sessions-send-helpers.js +116 -0
- package/dist/agents/tools/sessions-send-tool.a2a.js +119 -0
- package/dist/agents/tools/sessions-send-tool.js +345 -0
- package/dist/agents/tools/sessions-spawn-tool.js +235 -0
- package/dist/agents/tools/slack-actions.js +243 -0
- package/dist/agents/tools/subagents-tool.js +662 -0
- package/dist/agents/tools/telegram-actions.js +169 -0
- package/dist/agents/tools/tts-tool.js +71 -0
- package/dist/agents/tools/web-fetch-utils.js +104 -0
- package/dist/agents/tools/web-fetch.js +557 -0
- package/dist/agents/tools/web-search.js +387 -0
- package/dist/agents/tools/web-shared.js +62 -0
- package/dist/agents/tools/web-tools.js +2 -0
- package/dist/agents/tools/whatsapp-actions.js +32 -0
- package/dist/agents/transcript-policy.js +81 -0
- package/dist/agents/usage.js +79 -0
- package/dist/agents/venice-models.js +342 -0
- package/dist/agents/workspace-dir.js +18 -0
- package/dist/agents/workspace-run.js +71 -0
- package/dist/agents/workspace-templates.js +44 -0
- package/dist/agents/workspace.js +354 -0
- package/dist/auto-reply/chunk.js +358 -0
- package/dist/auto-reply/command-auth.js +183 -0
- package/dist/auto-reply/command-detection.js +56 -0
- package/dist/auto-reply/commands-args.js +85 -0
- package/dist/auto-reply/commands-help.js +91 -0
- package/dist/auto-reply/commands-i18n.js +265 -0
- package/dist/auto-reply/commands-registry.data.js +509 -0
- package/dist/auto-reply/commands-registry.js +355 -0
- package/dist/auto-reply/commands-registry.types.js +1 -0
- package/dist/auto-reply/dispatch.js +40 -0
- package/dist/auto-reply/envelope.js +173 -0
- package/dist/auto-reply/group-activation.js +22 -0
- package/dist/auto-reply/heartbeat.js +142 -0
- package/dist/auto-reply/inbound-debounce.js +74 -0
- package/dist/auto-reply/media-note.js +72 -0
- package/dist/auto-reply/model.js +28 -0
- package/dist/auto-reply/reply/abort.js +188 -0
- package/dist/auto-reply/reply/agent-runner-execution.js +465 -0
- package/dist/auto-reply/reply/agent-runner-helpers.js +65 -0
- package/dist/auto-reply/reply/agent-runner-memory.js +156 -0
- package/dist/auto-reply/reply/agent-runner-payloads.js +85 -0
- package/dist/auto-reply/reply/agent-runner-utils.js +101 -0
- package/dist/auto-reply/reply/agent-runner.js +379 -0
- package/dist/auto-reply/reply/audio-tags.js +1 -0
- package/dist/auto-reply/reply/bash-command.js +338 -0
- package/dist/auto-reply/reply/block-reply-coalescer.js +119 -0
- package/dist/auto-reply/reply/block-reply-pipeline.js +179 -0
- package/dist/auto-reply/reply/block-streaming.js +99 -0
- package/dist/auto-reply/reply/body.js +37 -0
- package/dist/auto-reply/reply/commands-allowlist.js +570 -0
- package/dist/auto-reply/reply/commands-approve.js +101 -0
- package/dist/auto-reply/reply/commands-bash.js +25 -0
- package/dist/auto-reply/reply/commands-compact.js +116 -0
- package/dist/auto-reply/reply/commands-config.js +239 -0
- package/dist/auto-reply/reply/commands-context-report.js +297 -0
- package/dist/auto-reply/reply/commands-context.js +30 -0
- package/dist/auto-reply/reply/commands-core.js +101 -0
- package/dist/auto-reply/reply/commands-info.js +115 -0
- package/dist/auto-reply/reply/commands-models.js +204 -0
- package/dist/auto-reply/reply/commands-plugin.js +35 -0
- package/dist/auto-reply/reply/commands-session.js +314 -0
- package/dist/auto-reply/reply/commands-status.js +179 -0
- package/dist/auto-reply/reply/commands-subagents.js +357 -0
- package/dist/auto-reply/reply/commands-tts.js +228 -0
- package/dist/auto-reply/reply/commands-types.js +1 -0
- package/dist/auto-reply/reply/commands.js +3 -0
- package/dist/auto-reply/reply/config-commands.js +58 -0
- package/dist/auto-reply/reply/config-value.js +35 -0
- package/dist/auto-reply/reply/debug-commands.js +58 -0
- package/dist/auto-reply/reply/directive-handling.auth.js +191 -0
- package/dist/auto-reply/reply/directive-handling.fast-lane.js +60 -0
- package/dist/auto-reply/reply/directive-handling.impl.js +380 -0
- package/dist/auto-reply/reply/directive-handling.js +5 -0
- package/dist/auto-reply/reply/directive-handling.model-picker.js +64 -0
- package/dist/auto-reply/reply/directive-handling.model.js +279 -0
- package/dist/auto-reply/reply/directive-handling.parse.js +84 -0
- package/dist/auto-reply/reply/directive-handling.persist.js +181 -0
- package/dist/auto-reply/reply/directive-handling.queue-validation.js +48 -0
- package/dist/auto-reply/reply/directive-handling.shared.js +43 -0
- package/dist/auto-reply/reply/directives.js +114 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +289 -0
- package/dist/auto-reply/reply/exec/directive.js +183 -0
- package/dist/auto-reply/reply/exec.js +1 -0
- package/dist/auto-reply/reply/followup-runner.js +222 -0
- package/dist/auto-reply/reply/get-reply-directives-apply.js +201 -0
- package/dist/auto-reply/reply/get-reply-directives-utils.js +45 -0
- package/dist/auto-reply/reply/get-reply-directives.js +343 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +257 -0
- package/dist/auto-reply/reply/get-reply-run.js +289 -0
- package/dist/auto-reply/reply/get-reply.js +260 -0
- package/dist/auto-reply/reply/groups.js +102 -0
- package/dist/auto-reply/reply/history.js +87 -0
- package/dist/auto-reply/reply/inbound-context.js +55 -0
- package/dist/auto-reply/reply/inbound-dedupe.js +39 -0
- package/dist/auto-reply/reply/inbound-meta.js +141 -0
- package/dist/auto-reply/reply/inbound-sender-meta.js +45 -0
- package/dist/auto-reply/reply/inbound-text.js +6 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/memory-flush.js +74 -0
- package/dist/auto-reply/reply/mentions.js +122 -0
- package/dist/auto-reply/reply/model-selection.js +398 -0
- package/dist/auto-reply/reply/normalize-reply.js +54 -0
- package/dist/auto-reply/reply/provider-dispatcher.js +19 -0
- package/dist/auto-reply/reply/queue/cleanup.js +19 -0
- package/dist/auto-reply/reply/queue/directive.js +155 -0
- package/dist/auto-reply/reply/queue/drain.js +135 -0
- package/dist/auto-reply/reply/queue/enqueue.js +57 -0
- package/dist/auto-reply/reply/queue/normalize.js +30 -0
- package/dist/auto-reply/reply/queue/settings.js +52 -0
- package/dist/auto-reply/reply/queue/state.js +53 -0
- package/dist/auto-reply/reply/queue/types.js +1 -0
- package/dist/auto-reply/reply/queue.js +6 -0
- package/dist/auto-reply/reply/reply-directives.js +30 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +100 -0
- package/dist/auto-reply/reply/reply-elevated.js +166 -0
- package/dist/auto-reply/reply/reply-inline.js +28 -0
- package/dist/auto-reply/reply/reply-payloads.js +83 -0
- package/dist/auto-reply/reply/reply-reference.js +35 -0
- package/dist/auto-reply/reply/reply-tags.js +13 -0
- package/dist/auto-reply/reply/reply-threading.js +41 -0
- package/dist/auto-reply/reply/response-prefix-template.js +76 -0
- package/dist/auto-reply/reply/route-reply.js +111 -0
- package/dist/auto-reply/reply/session-reset-model.js +133 -0
- package/dist/auto-reply/reply/session-updates.js +229 -0
- package/dist/auto-reply/reply/session-usage.js +98 -0
- package/dist/auto-reply/reply/session.js +386 -0
- package/dist/auto-reply/reply/stage-sandbox-media.js +146 -0
- package/dist/auto-reply/reply/streaming-directives.js +92 -0
- package/dist/auto-reply/reply/strip-inbound-meta.js +145 -0
- package/dist/auto-reply/reply/subagents-utils.js +52 -0
- package/dist/auto-reply/reply/test-ctx.js +15 -0
- package/dist/auto-reply/reply/typing-mode.js +91 -0
- package/dist/auto-reply/reply/typing.js +132 -0
- package/dist/auto-reply/reply/untrusted-context.js +15 -0
- package/dist/auto-reply/reply.js +5 -0
- package/dist/auto-reply/send-policy.js +30 -0
- package/dist/auto-reply/skill-commands.js +97 -0
- package/dist/auto-reply/status.js +517 -0
- package/dist/auto-reply/templating.js +39 -0
- package/dist/auto-reply/thinking.js +200 -0
- package/dist/auto-reply/tokens.js +37 -0
- package/dist/auto-reply/tool-meta.js +112 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-auth-registry.js +26 -0
- package/dist/browser/bridge-server.js +49 -0
- package/dist/browser/cdp.helpers.js +136 -0
- package/dist/browser/cdp.js +298 -0
- package/dist/browser/chrome.executables.js +509 -0
- package/dist/browser/chrome.js +253 -0
- package/dist/browser/chrome.profile-decoration.js +144 -0
- package/dist/browser/client-actions-core.js +94 -0
- package/dist/browser/client-actions-observe.js +94 -0
- package/dist/browser/client-actions-state.js +163 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +4 -0
- package/dist/browser/client-fetch.js +210 -0
- package/dist/browser/client.js +139 -0
- package/dist/browser/config.js +218 -0
- package/dist/browser/constants.js +8 -0
- package/dist/browser/control-auth.js +77 -0
- package/dist/browser/control-service.js +68 -0
- package/dist/browser/csrf.js +64 -0
- package/dist/browser/extension-relay.js +629 -0
- package/dist/browser/http-auth.js +52 -0
- package/dist/browser/navigation-guard.js +21 -0
- package/dist/browser/paths.js +37 -0
- package/dist/browser/profiles-service.js +132 -0
- package/dist/browser/profiles.js +93 -0
- package/dist/browser/pw-ai-module.js +37 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-role-snapshot.js +310 -0
- package/dist/browser/pw-session.js +436 -0
- package/dist/browser/pw-tools-core.activity.js +44 -0
- package/dist/browser/pw-tools-core.downloads.js +212 -0
- package/dist/browser/pw-tools-core.interactions.js +420 -0
- package/dist/browser/pw-tools-core.js +8 -0
- package/dist/browser/pw-tools-core.responses.js +83 -0
- package/dist/browser/pw-tools-core.shared.js +48 -0
- package/dist/browser/pw-tools-core.snapshot.js +147 -0
- package/dist/browser/pw-tools-core.state.js +147 -0
- package/dist/browser/pw-tools-core.storage.js +72 -0
- package/dist/browser/pw-tools-core.trace.js +25 -0
- package/dist/browser/routes/agent.act.js +493 -0
- package/dist/browser/routes/agent.act.shared.js +38 -0
- package/dist/browser/routes/agent.debug.js +184 -0
- package/dist/browser/routes/agent.js +20 -0
- package/dist/browser/routes/agent.shared.js +45 -0
- package/dist/browser/routes/agent.snapshot.js +277 -0
- package/dist/browser/routes/agent.storage.js +392 -0
- package/dist/browser/routes/basic.js +180 -0
- package/dist/browser/routes/dispatcher.js +88 -0
- package/dist/browser/routes/index.js +18 -0
- package/dist/browser/routes/path-output.js +1 -0
- package/dist/browser/routes/tabs.js +126 -0
- package/dist/browser/routes/types.js +1 -0
- package/dist/browser/routes/utils.js +57 -0
- package/dist/browser/screenshot.js +39 -0
- package/dist/browser/server-context.js +555 -0
- package/dist/browser/server-context.types.js +1 -0
- package/dist/browser/server-lifecycle.js +37 -0
- package/dist/browser/server.js +98 -0
- package/dist/browser/target-id.js +16 -0
- package/dist/browser/trash.js +21 -0
- package/dist/build-info.json +5 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +307 -0
- package/dist/canvas-host/a2ui.js +209 -0
- package/dist/canvas-host/server.js +380 -0
- package/dist/channel-web.js +8 -0
- package/dist/channels/ack-reactions.js +56 -0
- package/dist/channels/allowlist-match.js +3 -0
- package/dist/channels/allowlists/resolve-utils.js +37 -0
- package/dist/channels/channel-config.js +131 -0
- package/dist/channels/chat-type.js +16 -0
- package/dist/channels/command-gating.js +24 -0
- package/dist/channels/conversation-label.js +48 -0
- package/dist/channels/dock.js +358 -0
- package/dist/channels/location.js +44 -0
- package/dist/channels/logging.js +13 -0
- package/dist/channels/mention-gating.js +26 -0
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +328 -0
- package/dist/channels/plugins/actions/discord/handle-action.js +167 -0
- package/dist/channels/plugins/actions/discord.js +93 -0
- package/dist/channels/plugins/actions/signal.js +115 -0
- package/dist/channels/plugins/actions/telegram.js +95 -0
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +63 -0
- package/dist/channels/plugins/allowlist-match.js +1 -0
- package/dist/channels/plugins/bluebubbles-actions.js +16 -0
- package/dist/channels/plugins/catalog.js +216 -0
- package/dist/channels/plugins/channel-config.js +1 -0
- package/dist/channels/plugins/config-helpers.js +87 -0
- package/dist/channels/plugins/config-schema.js +8 -0
- package/dist/channels/plugins/config-writes.js +21 -0
- package/dist/channels/plugins/directory-config.js +185 -0
- package/dist/channels/plugins/group-mentions.js +267 -0
- package/dist/channels/plugins/helpers.js +12 -0
- package/dist/channels/plugins/index.js +51 -0
- package/dist/channels/plugins/load.js +22 -0
- package/dist/channels/plugins/media-limits.js +15 -0
- package/dist/channels/plugins/message-action-names.js +50 -0
- package/dist/channels/plugins/message-actions.js +35 -0
- package/dist/channels/plugins/normalize/discord.js +18 -0
- package/dist/channels/plugins/normalize/feishu.js +3 -0
- package/dist/channels/plugins/normalize/imessage.js +36 -0
- package/dist/channels/plugins/normalize/signal.js +53 -0
- package/dist/channels/plugins/normalize/slack.js +19 -0
- package/dist/channels/plugins/normalize/telegram.js +31 -0
- package/dist/channels/plugins/normalize/whatsapp.js +17 -0
- package/dist/channels/plugins/onboarding/channel-access.js +68 -0
- package/dist/channels/plugins/onboarding/discord.js +419 -0
- package/dist/channels/plugins/onboarding/helpers.js +33 -0
- package/dist/channels/plugins/onboarding/imessage.js +231 -0
- package/dist/channels/plugins/onboarding/signal.js +301 -0
- package/dist/channels/plugins/onboarding/slack.js +470 -0
- package/dist/channels/plugins/onboarding/telegram.js +281 -0
- package/dist/channels/plugins/onboarding/whatsapp.js +286 -0
- package/dist/channels/plugins/onboarding-types.js +1 -0
- package/dist/channels/plugins/outbound/discord.js +29 -0
- package/dist/channels/plugins/outbound/feishu.js +23 -0
- package/dist/channels/plugins/outbound/imessage.js +38 -0
- package/dist/channels/plugins/outbound/load.js +28 -0
- package/dist/channels/plugins/outbound/signal.js +36 -0
- package/dist/channels/plugins/outbound/slack.js +62 -0
- package/dist/channels/plugins/outbound/telegram.js +91 -0
- package/dist/channels/plugins/outbound/whatsapp.js +76 -0
- package/dist/channels/plugins/pairing-message.js +1 -0
- package/dist/channels/plugins/pairing.js +44 -0
- package/dist/channels/plugins/setup-helpers.js +89 -0
- package/dist/channels/plugins/slack.actions.js +158 -0
- package/dist/channels/plugins/status-issues/bluebubbles.js +76 -0
- package/dist/channels/plugins/status-issues/discord.js +115 -0
- package/dist/channels/plugins/status-issues/shared.js +23 -0
- package/dist/channels/plugins/status-issues/telegram.js +100 -0
- package/dist/channels/plugins/status-issues/whatsapp.js +52 -0
- package/dist/channels/plugins/status.js +26 -0
- package/dist/channels/plugins/types.adapters.js +1 -0
- package/dist/channels/plugins/types.core.js +1 -0
- package/dist/channels/plugins/types.js +1 -0
- package/dist/channels/plugins/types.plugin.js +1 -0
- package/dist/channels/plugins/whatsapp-heartbeat.js +56 -0
- package/dist/channels/registry.js +164 -0
- package/dist/channels/reply-prefix.js +28 -0
- package/dist/channels/sender-identity.js +30 -0
- package/dist/channels/sender-label.js +38 -0
- package/dist/channels/session.js +26 -0
- package/dist/channels/targets.js +27 -0
- package/dist/channels/text-commands.js +95 -0
- package/dist/channels/typing.js +17 -0
- package/dist/channels/web/index.js +2 -0
- package/dist/cli/acp-cli.js +61 -0
- package/dist/cli/argv.js +119 -0
- package/dist/cli/banner.js +94 -0
- package/dist/cli/browser-cli-actions-input/register.element.js +200 -0
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +174 -0
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +108 -0
- package/dist/cli/browser-cli-actions-input/register.js +10 -0
- package/dist/cli/browser-cli-actions-input/register.navigation.js +63 -0
- package/dist/cli/browser-cli-actions-input/shared.js +50 -0
- package/dist/cli/browser-cli-actions-input.js +1 -0
- package/dist/cli/browser-cli-actions-observe.js +82 -0
- package/dist/cli/browser-cli-debug.js +148 -0
- package/dist/cli/browser-cli-examples.js +33 -0
- package/dist/cli/browser-cli-extension.js +98 -0
- package/dist/cli/browser-cli-inspect.js +130 -0
- package/dist/cli/browser-cli-manage.js +351 -0
- package/dist/cli/browser-cli-serve.js +91 -0
- package/dist/cli/browser-cli-shared.js +9 -0
- package/dist/cli/browser-cli-state.cookies-storage.js +166 -0
- package/dist/cli/browser-cli-state.js +261 -0
- package/dist/cli/browser-cli.js +38 -0
- package/dist/cli/channel-auth.js +49 -0
- package/dist/cli/channel-options.js +29 -0
- package/dist/cli/channels-cli.js +236 -0
- package/dist/cli/cli-utils.js +34 -0
- package/dist/cli/command-format.js +14 -0
- package/dist/cli/command-options.js +6 -0
- package/dist/cli/config-cli.js +295 -0
- package/dist/cli/cron-cli/register.cron-add.js +241 -0
- package/dist/cli/cron-cli/register.cron-edit.js +181 -0
- package/dist/cli/cron-cli/register.cron-simple.js +98 -0
- package/dist/cli/cron-cli/register.js +16 -0
- package/dist/cli/cron-cli/shared.js +204 -0
- package/dist/cli/cron-cli.js +1 -0
- package/dist/cli/daemon-cli/install.js +185 -0
- package/dist/cli/daemon-cli/lifecycle.js +283 -0
- package/dist/cli/daemon-cli/probe.js +28 -0
- package/dist/cli/daemon-cli/register.js +69 -0
- package/dist/cli/daemon-cli/response.js +20 -0
- package/dist/cli/daemon-cli/runners.js +3 -0
- package/dist/cli/daemon-cli/shared.js +162 -0
- package/dist/cli/daemon-cli/status.gather.js +170 -0
- package/dist/cli/daemon-cli/status.js +19 -0
- package/dist/cli/daemon-cli/status.print.js +241 -0
- package/dist/cli/daemon-cli/types.js +1 -0
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli/deps.js +28 -0
- package/dist/cli/devices-cli.js +181 -0
- package/dist/cli/directory-cli.js +227 -0
- package/dist/cli/dns-cli.js +199 -0
- package/dist/cli/docs-cli.js +17 -0
- package/dist/cli/exec-approvals-cli.js +378 -0
- package/dist/cli/gateway-cli/call.js +25 -0
- package/dist/cli/gateway-cli/dev.js +99 -0
- package/dist/cli/gateway-cli/discover.js +91 -0
- package/dist/cli/gateway-cli/register.js +255 -0
- package/dist/cli/gateway-cli/run-loop.js +121 -0
- package/dist/cli/gateway-cli/run.js +265 -0
- package/dist/cli/gateway-cli/shared.js +101 -0
- package/dist/cli/gateway-cli.js +1 -0
- package/dist/cli/gateway-rpc.js +27 -0
- package/dist/cli/help-format.js +16 -0
- package/dist/cli/hooks-cli.js +709 -0
- package/dist/cli/logs-cli.js +243 -0
- package/dist/cli/memory-cli.js +603 -0
- package/dist/cli/models-cli.js +319 -0
- package/dist/cli/node-cli/daemon.js +484 -0
- package/dist/cli/node-cli/register.js +81 -0
- package/dist/cli/node-cli.js +1 -0
- package/dist/cli/nodes-camera.js +50 -0
- package/dist/cli/nodes-canvas.js +24 -0
- package/dist/cli/nodes-cli/a2ui-jsonl.js +81 -0
- package/dist/cli/nodes-cli/cli-utils.js +27 -0
- package/dist/cli/nodes-cli/format.js +35 -0
- package/dist/cli/nodes-cli/register.camera.js +193 -0
- package/dist/cli/nodes-cli/register.canvas.js +215 -0
- package/dist/cli/nodes-cli/register.invoke.js +303 -0
- package/dist/cli/nodes-cli/register.js +24 -0
- package/dist/cli/nodes-cli/register.location.js +64 -0
- package/dist/cli/nodes-cli/register.notify.js +51 -0
- package/dist/cli/nodes-cli/register.pairing.js +99 -0
- package/dist/cli/nodes-cli/register.screen.js +66 -0
- package/dist/cli/nodes-cli/register.status.js +328 -0
- package/dist/cli/nodes-cli/rpc.js +88 -0
- package/dist/cli/nodes-cli/types.js +1 -0
- package/dist/cli/nodes-cli.js +1 -0
- package/dist/cli/nodes-run.js +19 -0
- package/dist/cli/nodes-screen.js +35 -0
- package/dist/cli/outbound-send-deps.js +11 -0
- package/dist/cli/pairing-cli.js +115 -0
- package/dist/cli/parse-duration.js +28 -0
- package/dist/cli/parse-timeout.js +18 -0
- package/dist/cli/plugin-registry.js +24 -0
- package/dist/cli/plugins-cli.js +469 -0
- package/dist/cli/ports.js +101 -0
- package/dist/cli/profile-utils.js +17 -0
- package/dist/cli/profile.js +93 -0
- package/dist/cli/program/build-program.js +14 -0
- package/dist/cli/program/command-registry.js +148 -0
- package/dist/cli/program/config-guard.js +67 -0
- package/dist/cli/program/context.js +11 -0
- package/dist/cli/program/help.js +71 -0
- package/dist/cli/program/helpers.js +26 -0
- package/dist/cli/program/message/helpers.js +46 -0
- package/dist/cli/program/message/register.broadcast.js +11 -0
- package/dist/cli/program/message/register.discord-admin.js +119 -0
- package/dist/cli/program/message/register.emoji-sticker.js +43 -0
- package/dist/cli/program/message/register.permissions-search.js +22 -0
- package/dist/cli/program/message/register.pins.js +23 -0
- package/dist/cli/program/message/register.poll.js +13 -0
- package/dist/cli/program/message/register.reactions.js +21 -0
- package/dist/cli/program/message/register.read-edit-delete.js +30 -0
- package/dist/cli/program/message/register.send.js +17 -0
- package/dist/cli/program/message/register.thread.js +36 -0
- package/dist/cli/program/preaction.js +151 -0
- package/dist/cli/program/register.agent.js +162 -0
- package/dist/cli/program/register.configure.js +32 -0
- package/dist/cli/program/register.maintenance.js +91 -0
- package/dist/cli/program/register.message.js +54 -0
- package/dist/cli/program/register.onboard.js +131 -0
- package/dist/cli/program/register.setup.js +41 -0
- package/dist/cli/program/register.status-health-sessions.js +109 -0
- package/dist/cli/program/register.subclis.js +279 -0
- package/dist/cli/program.js +2 -0
- package/dist/cli/progress.js +165 -0
- package/dist/cli/prompt.js +17 -0
- package/dist/cli/route.js +29 -0
- package/dist/cli/run-main.js +101 -0
- package/dist/cli/sandbox-cli.js +109 -0
- package/dist/cli/security-cli.js +113 -0
- package/dist/cli/skills-cli.js +341 -0
- package/dist/cli/system-cli.js +98 -0
- package/dist/cli/tagline.js +208 -0
- package/dist/cli/tui-cli.js +44 -0
- package/dist/cli/update-cli.js +997 -0
- package/dist/cli/wait.js +8 -0
- package/dist/cli/webhooks-cli.js +140 -0
- package/dist/commands/agent/delivery.js +140 -0
- package/dist/commands/agent/run-context.js +27 -0
- package/dist/commands/agent/session-store.js +57 -0
- package/dist/commands/agent/session.js +74 -0
- package/dist/commands/agent/types.js +1 -0
- package/dist/commands/agent-via-gateway.js +119 -0
- package/dist/commands/agent.js +448 -0
- package/dist/commands/agents.bindings.js +126 -0
- package/dist/commands/agents.command-shared.js +18 -0
- package/dist/commands/agents.commands.add.js +294 -0
- package/dist/commands/agents.commands.delete.js +75 -0
- package/dist/commands/agents.commands.identity.js +168 -0
- package/dist/commands/agents.commands.list.js +98 -0
- package/dist/commands/agents.config.js +145 -0
- package/dist/commands/agents.js +6 -0
- package/dist/commands/agents.providers.js +140 -0
- package/dist/commands/auth-choice-options.js +267 -0
- package/dist/commands/auth-choice-prompt.js +36 -0
- package/dist/commands/auth-choice.api-key.js +34 -0
- package/dist/commands/auth-choice.apply.anthropic.js +180 -0
- package/dist/commands/auth-choice.apply.api-providers.js +956 -0
- package/dist/commands/auth-choice.apply.copilot-proxy.js +10 -0
- package/dist/commands/auth-choice.apply.github-copilot.js +47 -0
- package/dist/commands/auth-choice.apply.google-antigravity.js +10 -0
- package/dist/commands/auth-choice.apply.google-gemini-cli.js +10 -0
- package/dist/commands/auth-choice.apply.huggingface.js +136 -0
- package/dist/commands/auth-choice.apply.js +33 -0
- package/dist/commands/auth-choice.apply.minimax.js +103 -0
- package/dist/commands/auth-choice.apply.oauth.js +78 -0
- package/dist/commands/auth-choice.apply.openai.js +134 -0
- package/dist/commands/auth-choice.apply.openrouter.js +77 -0
- package/dist/commands/auth-choice.apply.plugin-provider.js +140 -0
- package/dist/commands/auth-choice.apply.qwen-portal.js +10 -0
- package/dist/commands/auth-choice.apply.volcengine.js +149 -0
- package/dist/commands/auth-choice.apply.xai.js +65 -0
- package/dist/commands/auth-choice.apply.xiaomi.js +156 -0
- package/dist/commands/auth-choice.default-model.js +12 -0
- package/dist/commands/auth-choice.js +3 -0
- package/dist/commands/auth-choice.model-check.js +61 -0
- package/dist/commands/auth-choice.preferred-provider.js +57 -0
- package/dist/commands/auth-token.js +32 -0
- package/dist/commands/channels/add-mutators.js +49 -0
- package/dist/commands/channels/add.js +210 -0
- package/dist/commands/channels/capabilities.js +439 -0
- package/dist/commands/channels/list.js +145 -0
- package/dist/commands/channels/logs.js +85 -0
- package/dist/commands/channels/remove.js +114 -0
- package/dist/commands/channels/resolve.js +107 -0
- package/dist/commands/channels/shared.js +41 -0
- package/dist/commands/channels/status.js +238 -0
- package/dist/commands/channels.js +7 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/cleanup-utils.js +74 -0
- package/dist/commands/configure.channels.js +52 -0
- package/dist/commands/configure.commands.js +8 -0
- package/dist/commands/configure.daemon.js +101 -0
- package/dist/commands/configure.gateway-auth.js +71 -0
- package/dist/commands/configure.gateway.js +170 -0
- package/dist/commands/configure.js +4 -0
- package/dist/commands/configure.shared.js +49 -0
- package/dist/commands/configure.wizard.js +464 -0
- package/dist/commands/daemon-install-helpers.js +51 -0
- package/dist/commands/daemon-runtime.js +11 -0
- package/dist/commands/dashboard.js +47 -0
- package/dist/commands/docs.js +148 -0
- package/dist/commands/doctor-auth.js +117 -0
- package/dist/commands/doctor-config-flow.js +188 -0
- package/dist/commands/doctor-format.js +85 -0
- package/dist/commands/doctor-gateway-daemon-flow.js +201 -0
- package/dist/commands/doctor-gateway-health.js +43 -0
- package/dist/commands/doctor-gateway-services.js +209 -0
- package/dist/commands/doctor-install.js +27 -0
- package/dist/commands/doctor-legacy-config.js +42 -0
- package/dist/commands/doctor-platform-notes.js +66 -0
- package/dist/commands/doctor-prompter.js +64 -0
- package/dist/commands/doctor-sandbox.js +207 -0
- package/dist/commands/doctor-security.js +141 -0
- package/dist/commands/doctor-state-integrity.js +333 -0
- package/dist/commands/doctor-state-migrations.js +1 -0
- package/dist/commands/doctor-ui.js +119 -0
- package/dist/commands/doctor-update.js +65 -0
- package/dist/commands/doctor-workspace-status.js +56 -0
- package/dist/commands/doctor-workspace.js +69 -0
- package/dist/commands/doctor.js +251 -0
- package/dist/commands/feishu.js +125 -0
- package/dist/commands/gateway-status/helpers.js +200 -0
- package/dist/commands/gateway-status.js +300 -0
- package/dist/commands/google-gemini-model-default.js +33 -0
- package/dist/commands/health-format.js +37 -0
- package/dist/commands/health.js +595 -0
- package/dist/commands/message-format.js +345 -0
- package/dist/commands/message.js +45 -0
- package/dist/commands/model-allowlist.js +32 -0
- package/dist/commands/model-picker.js +436 -0
- package/dist/commands/models/aliases.js +92 -0
- package/dist/commands/models/auth-order.js +95 -0
- package/dist/commands/models/auth.js +388 -0
- package/dist/commands/models/fallbacks.js +126 -0
- package/dist/commands/models/image-fallbacks.js +126 -0
- package/dist/commands/models/list.auth-overview.js +93 -0
- package/dist/commands/models/list.configured.js +80 -0
- package/dist/commands/models/list.format.js +41 -0
- package/dist/commands/models/list.js +2 -0
- package/dist/commands/models/list.list-command.js +111 -0
- package/dist/commands/models/list.probe.js +348 -0
- package/dist/commands/models/list.registry.js +81 -0
- package/dist/commands/models/list.status-command.js +421 -0
- package/dist/commands/models/list.table.js +58 -0
- package/dist/commands/models/list.types.js +1 -0
- package/dist/commands/models/scan.js +293 -0
- package/dist/commands/models/set-image.js +28 -0
- package/dist/commands/models/set.js +28 -0
- package/dist/commands/models/shared.js +80 -0
- package/dist/commands/models.js +10 -0
- package/dist/commands/node-daemon-install-helpers.js +35 -0
- package/dist/commands/node-daemon-runtime.js +6 -0
- package/dist/commands/oauth-env.js +16 -0
- package/dist/commands/oauth-flow.js +33 -0
- package/dist/commands/onboard-auth.config-core.js +885 -0
- package/dist/commands/onboard-auth.config-gateways.js +116 -0
- package/dist/commands/onboard-auth.config-litellm.js +81 -0
- package/dist/commands/onboard-auth.config-minimax.js +176 -0
- package/dist/commands/onboard-auth.config-opencode.js +40 -0
- package/dist/commands/onboard-auth.credentials.js +239 -0
- package/dist/commands/onboard-auth.js +13 -0
- package/dist/commands/onboard-auth.models.js +203 -0
- package/dist/commands/onboard-channels.js +536 -0
- package/dist/commands/onboard-helpers.js +364 -0
- package/dist/commands/onboard-hooks.js +59 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive/api-keys.js +45 -0
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +472 -0
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +45 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +83 -0
- package/dist/commands/onboard-non-interactive/local/output.js +14 -0
- package/dist/commands/onboard-non-interactive/local/skills-config.js +21 -0
- package/dist/commands/onboard-non-interactive/local/workspace.js +7 -0
- package/dist/commands/onboard-non-interactive/local.js +105 -0
- package/dist/commands/onboard-non-interactive/remote.js +41 -0
- package/dist/commands/onboard-non-interactive.js +25 -0
- package/dist/commands/onboard-remote.js +123 -0
- package/dist/commands/onboard-skills.js +154 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +41 -0
- package/dist/commands/onboarding/__tests__/test-utils.js +20 -0
- package/dist/commands/onboarding/plugin-install.js +178 -0
- package/dist/commands/onboarding/registry.js +13 -0
- package/dist/commands/onboarding/types.js +1 -0
- package/dist/commands/openai-codex-model-default.js +44 -0
- package/dist/commands/openai-codex-oauth.js +40 -0
- package/dist/commands/openai-model-default.js +41 -0
- package/dist/commands/opencode-zen-model-default.js +35 -0
- package/dist/commands/reset.js +134 -0
- package/dist/commands/sandbox-display.js +82 -0
- package/dist/commands/sandbox-explain.js +226 -0
- package/dist/commands/sandbox-formatters.js +31 -0
- package/dist/commands/sandbox.js +119 -0
- package/dist/commands/sessions.js +215 -0
- package/dist/commands/setup.js +60 -0
- package/dist/commands/signal-install.js +229 -0
- package/dist/commands/status-all/agents.js +62 -0
- package/dist/commands/status-all/channels.js +354 -0
- package/dist/commands/status-all/diagnosis.js +156 -0
- package/dist/commands/status-all/format.js +41 -0
- package/dist/commands/status-all/gateway.js +158 -0
- package/dist/commands/status-all/report-lines.js +135 -0
- package/dist/commands/status-all.js +409 -0
- package/dist/commands/status.agent-local.js +68 -0
- package/dist/commands/status.command.js +513 -0
- package/dist/commands/status.daemon.js +30 -0
- package/dist/commands/status.format.js +59 -0
- package/dist/commands/status.gateway-probe.js +35 -0
- package/dist/commands/status.js +2 -0
- package/dist/commands/status.link-channel.js +39 -0
- package/dist/commands/status.scan.js +140 -0
- package/dist/commands/status.summary.js +172 -0
- package/dist/commands/status.types.js +1 -0
- package/dist/commands/status.update.js +112 -0
- package/dist/commands/systemd-linger.js +77 -0
- package/dist/commands/uninstall.js +161 -0
- package/dist/config/agent-dirs.js +83 -0
- package/dist/config/agent-limits.js +16 -0
- package/dist/config/cache-utils.js +22 -0
- package/dist/config/channel-capabilities.js +42 -0
- package/dist/config/commands.js +38 -0
- package/dist/config/config-paths.js +75 -0
- package/dist/config/config.js +7 -0
- package/dist/config/defaults.js +389 -0
- package/dist/config/env-preserve.js +122 -0
- package/dist/config/env-substitution.js +149 -0
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +54 -0
- package/dist/config/includes.js +187 -0
- package/dist/config/io.js +807 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +34 -0
- package/dist/config/legacy.migrations.js +8 -0
- package/dist/config/legacy.migrations.part-1.js +308 -0
- package/dist/config/legacy.migrations.part-2.js +368 -0
- package/dist/config/legacy.migrations.part-3.js +161 -0
- package/dist/config/legacy.rules.js +116 -0
- package/dist/config/legacy.shared.js +93 -0
- package/dist/config/logging.js +10 -0
- package/dist/config/markdown-tables.js +36 -0
- package/dist/config/merge-config.js +22 -0
- package/dist/config/merge-patch.js +68 -0
- package/dist/config/normalize-paths.js +54 -0
- package/dist/config/paths.js +221 -0
- package/dist/config/plugin-auto-enable.js +339 -0
- package/dist/config/port-defaults.js +30 -0
- package/dist/config/redact-snapshot.js +171 -0
- package/dist/config/runtime-overrides.js +50 -0
- package/dist/config/schema.js +825 -0
- package/dist/config/sessions/group.js +83 -0
- package/dist/config/sessions/main-session.js +43 -0
- package/dist/config/sessions/metadata.js +114 -0
- package/dist/config/sessions/paths.js +57 -0
- package/dist/config/sessions/reset.js +103 -0
- package/dist/config/sessions/session-key.js +34 -0
- package/dist/config/sessions/store.js +364 -0
- package/dist/config/sessions/transcript.js +127 -0
- package/dist/config/sessions/types.js +24 -0
- package/dist/config/sessions.js +15 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/telegram-custom-commands.js +70 -0
- package/dist/config/types.agent-defaults.js +1 -0
- package/dist/config/types.agents.js +1 -0
- package/dist/config/types.approvals.js +1 -0
- package/dist/config/types.auth.js +1 -0
- package/dist/config/types.base.js +1 -0
- package/dist/config/types.browser.js +1 -0
- package/dist/config/types.channels.js +1 -0
- package/dist/config/types.clawdbot.js +1 -0
- package/dist/config/types.cron.js +1 -0
- package/dist/config/types.discord.js +1 -0
- package/dist/config/types.feishu.js +1 -0
- package/dist/config/types.gateway.js +1 -0
- package/dist/config/types.googlechat.js +1 -0
- package/dist/config/types.hooks.js +1 -0
- package/dist/config/types.imessage.js +1 -0
- package/dist/config/types.js +29 -0
- package/dist/config/types.memory.js +1 -0
- package/dist/config/types.messages.js +1 -0
- package/dist/config/types.models.js +1 -0
- package/dist/config/types.msteams.js +1 -0
- package/dist/config/types.node-host.js +1 -0
- package/dist/config/types.openclaw.js +1 -0
- package/dist/config/types.plugins.js +1 -0
- package/dist/config/types.queue.js +1 -0
- package/dist/config/types.sandbox.js +1 -0
- package/dist/config/types.signal.js +1 -0
- package/dist/config/types.skills.js +1 -0
- package/dist/config/types.slack.js +1 -0
- package/dist/config/types.telegram.js +1 -0
- package/dist/config/types.tools.js +1 -0
- package/dist/config/types.tts.js +1 -0
- package/dist/config/types.whatsapp.js +1 -0
- package/dist/config/validation.js +297 -0
- package/dist/config/version.js +41 -0
- package/dist/config/zod-schema.agent-defaults.js +159 -0
- package/dist/config/zod-schema.agent-runtime.js +491 -0
- package/dist/config/zod-schema.agents.js +46 -0
- package/dist/config/zod-schema.approvals.js +25 -0
- package/dist/config/zod-schema.channels.js +9 -0
- package/dist/config/zod-schema.core.js +453 -0
- package/dist/config/zod-schema.hooks.js +151 -0
- package/dist/config/zod-schema.js +630 -0
- package/dist/config/zod-schema.providers-core.js +715 -0
- package/dist/config/zod-schema.providers-whatsapp.js +125 -0
- package/dist/config/zod-schema.providers.js +29 -0
- package/dist/config/zod-schema.session.js +107 -0
- package/dist/control-ui/assets/index-FMOMGNE3.js +7039 -0
- package/dist/control-ui/assets/index-FMOMGNE3.js.map +1 -0
- package/dist/control-ui/assets/index-N_FKqcDh.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +15 -0
- package/dist/cron/delivery.js +57 -0
- package/dist/cron/isolated-agent/delivery-target.js +73 -0
- package/dist/cron/isolated-agent/helpers.js +49 -0
- package/dist/cron/isolated-agent/run.js +406 -0
- package/dist/cron/isolated-agent/session.js +29 -0
- package/dist/cron/isolated-agent.js +1 -0
- package/dist/cron/normalize.js +184 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/payload-migration.js +29 -0
- package/dist/cron/run-log.js +70 -0
- package/dist/cron/schedule.js +49 -0
- package/dist/cron/service/jobs.js +248 -0
- package/dist/cron/service/locked.js +12 -0
- package/dist/cron/service/normalize.js +55 -0
- package/dist/cron/service/ops.js +200 -0
- package/dist/cron/service/state.js +10 -0
- package/dist/cron/service/store.js +200 -0
- package/dist/cron/service/timer.js +534 -0
- package/dist/cron/service.js +35 -0
- package/dist/cron/session-reaper.js +90 -0
- package/dist/cron/store.js +58 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +74 -0
- package/dist/daemon/diagnostics.js +38 -0
- package/dist/daemon/initd.js +332 -0
- package/dist/daemon/inspect.js +313 -0
- package/dist/daemon/launchd-plist.js +68 -0
- package/dist/daemon/launchd.js +316 -0
- package/dist/daemon/legacy.js +44 -0
- package/dist/daemon/node-service.js +53 -0
- package/dist/daemon/paths.js +35 -0
- package/dist/daemon/program-args.js +220 -0
- package/dist/daemon/proot.js +68 -0
- package/dist/daemon/runtime-parse.js +17 -0
- package/dist/daemon/runtime-paths.js +109 -0
- package/dist/daemon/schtasks.js +303 -0
- package/dist/daemon/service-audit.js +270 -0
- package/dist/daemon/service-env.js +128 -0
- package/dist/daemon/service-runtime.js +1 -0
- package/dist/daemon/service.js +120 -0
- package/dist/daemon/systemd-hints.js +24 -0
- package/dist/daemon/systemd-linger.js +59 -0
- package/dist/daemon/systemd-unit.js +108 -0
- package/dist/daemon/systemd.js +318 -0
- package/dist/discord/accounts.js +52 -0
- package/dist/discord/api.js +93 -0
- package/dist/discord/audit.js +94 -0
- package/dist/discord/chunk.js +200 -0
- package/dist/discord/directory-live.js +76 -0
- package/dist/discord/gateway-logging.js +48 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor/allow-list.js +261 -0
- package/dist/discord/monitor/exec-approvals.js +409 -0
- package/dist/discord/monitor/format.js +27 -0
- package/dist/discord/monitor/listeners.js +258 -0
- package/dist/discord/monitor/message-handler.js +101 -0
- package/dist/discord/monitor/message-handler.preflight.js +468 -0
- package/dist/discord/monitor/message-handler.preflight.types.js +1 -0
- package/dist/discord/monitor/message-handler.process.js +354 -0
- package/dist/discord/monitor/message-utils.js +189 -0
- package/dist/discord/monitor/native-command.js +734 -0
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +552 -0
- package/dist/discord/monitor/reply-context.js +36 -0
- package/dist/discord/monitor/reply-delivery.js +57 -0
- package/dist/discord/monitor/sender-identity.js +45 -0
- package/dist/discord/monitor/system-events.js +53 -0
- package/dist/discord/monitor/threading.js +201 -0
- package/dist/discord/monitor/typing.js +8 -0
- package/dist/discord/monitor.gateway.js +54 -0
- package/dist/discord/monitor.js +1332 -0
- package/dist/discord/pluralkit.js +27 -0
- package/dist/discord/probe.js +124 -0
- package/dist/discord/resolve-channels.js +239 -0
- package/dist/discord/resolve-users.js +114 -0
- package/dist/discord/send.channels.js +74 -0
- package/dist/discord/send.emojis-stickers.js +48 -0
- package/dist/discord/send.guild.js +79 -0
- package/dist/discord/send.js +7 -0
- package/dist/discord/send.messages.js +116 -0
- package/dist/discord/send.outbound.js +310 -0
- package/dist/discord/send.permissions.js +116 -0
- package/dist/discord/send.reactions.js +71 -0
- package/dist/discord/send.shared.js +276 -0
- package/dist/discord/send.types.js +16 -0
- package/dist/discord/targets.js +43 -0
- package/dist/discord/token.js +29 -0
- package/dist/discord/voice-message.js +254 -0
- package/dist/entry.js +130 -0
- package/dist/feishu/access.js +64 -0
- package/dist/feishu/accounts.js +53 -0
- package/dist/feishu/bot.js +48 -0
- package/dist/feishu/client.js +115 -0
- package/dist/feishu/config.js +53 -0
- package/dist/feishu/docs.js +347 -0
- package/dist/feishu/download.js +175 -0
- package/dist/feishu/format.js +183 -0
- package/dist/feishu/index.js +8 -0
- package/dist/feishu/message.js +594 -0
- package/dist/feishu/monitor.js +146 -0
- package/dist/feishu/pairing-store.js +79 -0
- package/dist/feishu/probe.js +70 -0
- package/dist/feishu/reactions.js +85 -0
- package/dist/feishu/send.js +257 -0
- package/dist/feishu/streaming-card.js +290 -0
- package/dist/feishu/types.js +1 -0
- package/dist/feishu/typing.js +59 -0
- package/dist/gateway/assistant-identity.js +98 -0
- package/dist/gateway/auth.js +182 -0
- package/dist/gateway/boot.js +152 -0
- package/dist/gateway/call.js +212 -0
- package/dist/gateway/chat-abort.js +59 -0
- package/dist/gateway/chat-attachments.js +126 -0
- package/dist/gateway/chat-sanitize.js +104 -0
- package/dist/gateway/client.js +339 -0
- package/dist/gateway/config-reload.js +296 -0
- package/dist/gateway/control-ui-shared.js +48 -0
- package/dist/gateway/control-ui.js +265 -0
- package/dist/gateway/device-auth.js +19 -0
- package/dist/gateway/exec-approval-manager.js +40 -0
- package/dist/gateway/hooks-mapping.js +305 -0
- package/dist/gateway/hooks.js +169 -0
- package/dist/gateway/http-common.js +43 -0
- package/dist/gateway/http-utils.js +51 -0
- package/dist/gateway/live-image-probe.js +156 -0
- package/dist/gateway/net.js +217 -0
- package/dist/gateway/node-command-policy.js +99 -0
- package/dist/gateway/node-registry.js +142 -0
- package/dist/gateway/open-responses.schema.js +285 -0
- package/dist/gateway/openai-http.js +327 -0
- package/dist/gateway/openresponses-http.js +719 -0
- package/dist/gateway/probe.js +87 -0
- package/dist/gateway/protocol/client-info.js +46 -0
- package/dist/gateway/protocol/index.js +114 -0
- package/dist/gateway/protocol/schema/agent.js +74 -0
- package/dist/gateway/protocol/schema/agents-models-skills.js +87 -0
- package/dist/gateway/protocol/schema/channels.js +74 -0
- package/dist/gateway/protocol/schema/config.js +44 -0
- package/dist/gateway/protocol/schema/cron.js +166 -0
- package/dist/gateway/protocol/schema/devices.js +36 -0
- package/dist/gateway/protocol/schema/error-codes.js +14 -0
- package/dist/gateway/protocol/schema/exec-approvals.js +66 -0
- package/dist/gateway/protocol/schema/frames.js +101 -0
- package/dist/gateway/protocol/schema/logs-chat.js +53 -0
- package/dist/gateway/protocol/schema/nodes.js +54 -0
- package/dist/gateway/protocol/schema/primitives.js +10 -0
- package/dist/gateway/protocol/schema/protocol-schemas.js +125 -0
- package/dist/gateway/protocol/schema/sessions.js +81 -0
- package/dist/gateway/protocol/schema/snapshot.js +40 -0
- package/dist/gateway/protocol/schema/types.js +1 -0
- package/dist/gateway/protocol/schema/wizard.js +76 -0
- package/dist/gateway/protocol/schema.js +16 -0
- package/dist/gateway/server/__tests__/test-utils.js +24 -0
- package/dist/gateway/server/close-reason.js +10 -0
- package/dist/gateway/server/health-state.js +69 -0
- package/dist/gateway/server/hooks.js +85 -0
- package/dist/gateway/server/http-listen.js +26 -0
- package/dist/gateway/server/plugins-http.js +45 -0
- package/dist/gateway/server/tls.js +4 -0
- package/dist/gateway/server/ws-connection/message-handler.js +766 -0
- package/dist/gateway/server/ws-connection.js +230 -0
- package/dist/gateway/server/ws-types.js +1 -0
- package/dist/gateway/server-broadcast.js +84 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +242 -0
- package/dist/gateway/server-chat.js +197 -0
- package/dist/gateway/server-close.js +99 -0
- package/dist/gateway/server-constants.js +29 -0
- package/dist/gateway/server-cron.js +86 -0
- package/dist/gateway/server-discovery-runtime.js +69 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +425 -0
- package/dist/gateway/server-lanes.js +7 -0
- package/dist/gateway/server-maintenance.js +80 -0
- package/dist/gateway/server-methods/agent-job.js +104 -0
- package/dist/gateway/server-methods/agent-timestamp.js +62 -0
- package/dist/gateway/server-methods/agent.js +360 -0
- package/dist/gateway/server-methods/agents.js +192 -0
- package/dist/gateway/server-methods/channels.js +218 -0
- package/dist/gateway/server-methods/chat.js +526 -0
- package/dist/gateway/server-methods/config.js +398 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +109 -0
- package/dist/gateway/server-methods/devices.js +95 -0
- package/dist/gateway/server-methods/exec-approval.js +78 -0
- package/dist/gateway/server-methods/exec-approvals.js +141 -0
- package/dist/gateway/server-methods/health.js +29 -0
- package/dist/gateway/server-methods/logs.js +143 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.helpers.js +32 -0
- package/dist/gateway/server-methods/nodes.js +430 -0
- package/dist/gateway/server-methods/send.js +291 -0
- package/dist/gateway/server-methods/sessions.js +394 -0
- package/dist/gateway/server-methods/skills.js +172 -0
- package/dist/gateway/server-methods/system.js +122 -0
- package/dist/gateway/server-methods/talk.js +20 -0
- package/dist/gateway/server-methods/tts.js +132 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/update.js +96 -0
- package/dist/gateway/server-methods/usage.js +568 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +73 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods-list.js +111 -0
- package/dist/gateway/server-methods.js +195 -0
- package/dist/gateway/server-mobile-nodes.js +10 -0
- package/dist/gateway/server-model-catalog.js +11 -0
- package/dist/gateway/server-node-events-types.js +1 -0
- package/dist/gateway/server-node-events.js +251 -0
- package/dist/gateway/server-node-subscriptions.js +93 -0
- package/dist/gateway/server-plugins.js +36 -0
- package/dist/gateway/server-reload-handlers.js +112 -0
- package/dist/gateway/server-restart-sentinel.js +84 -0
- package/dist/gateway/server-runtime-config.js +66 -0
- package/dist/gateway/server-runtime-state.js +120 -0
- package/dist/gateway/server-session-key.js +20 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-startup-log.js +27 -0
- package/dist/gateway/server-startup-memory.js +16 -0
- package/dist/gateway/server-startup.js +119 -0
- package/dist/gateway/server-tailscale.js +41 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server-wizard-sessions.js +19 -0
- package/dist/gateway/server-ws-runtime.js +20 -0
- package/dist/gateway/server.impl.js +624 -0
- package/dist/gateway/server.js +2 -0
- package/dist/gateway/session-utils.fs.js +389 -0
- package/dist/gateway/session-utils.js +562 -0
- package/dist/gateway/session-utils.types.js +1 -0
- package/dist/gateway/sessions-patch.js +298 -0
- package/dist/gateway/sessions-resolve.js +103 -0
- package/dist/gateway/test-helpers.e2e.js +101 -0
- package/dist/gateway/test-helpers.mocks.js +518 -0
- package/dist/gateway/test-helpers.openai-mock.js +163 -0
- package/dist/gateway/test-helpers.server.js +400 -0
- package/dist/gateway/tools-invoke-http.js +200 -0
- package/dist/gateway/ws-log.js +336 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
- package/dist/hooks/bundled/boot-md/handler.js +14 -0
- package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
- package/dist/hooks/bundled/command-logger/handler.js +55 -0
- package/dist/hooks/bundled/session-memory/HOOK.md +86 -0
- package/dist/hooks/bundled/session-memory/handler.js +140 -0
- package/dist/hooks/bundled-dir.js +42 -0
- package/dist/hooks/config.js +122 -0
- package/dist/hooks/frontmatter.js +105 -0
- package/dist/hooks/gmail-ops.js +243 -0
- package/dist/hooks/gmail-setup-utils.js +310 -0
- package/dist/hooks/gmail-watcher.js +191 -0
- package/dist/hooks/gmail.js +179 -0
- package/dist/hooks/hooks-status.js +91 -0
- package/dist/hooks/hooks.js +2 -0
- package/dist/hooks/install.js +342 -0
- package/dist/hooks/installs.js +24 -0
- package/dist/hooks/internal-hooks.js +121 -0
- package/dist/hooks/llm-slug-generator.js +70 -0
- package/dist/hooks/loader.js +132 -0
- package/dist/hooks/plugin-hooks.js +91 -0
- package/dist/hooks/types.js +1 -0
- package/dist/hooks/workspace.js +219 -0
- package/dist/imessage/accounts.js +61 -0
- package/dist/imessage/client.js +174 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor/deliver.js +45 -0
- package/dist/imessage/monitor/monitor-provider.js +596 -0
- package/dist/imessage/monitor/runtime.js +12 -0
- package/dist/imessage/monitor/types.js +1 -0
- package/dist/imessage/monitor.js +1 -0
- package/dist/imessage/probe.js +68 -0
- package/dist/imessage/send.js +101 -0
- package/dist/imessage/targets.js +172 -0
- package/dist/index.js +49 -0
- package/dist/infra/agent-events.js +54 -0
- package/dist/infra/archive.js +207 -0
- package/dist/infra/backoff.js +19 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-ciao.js +10 -0
- package/dist/infra/bonjour-discovery.js +445 -0
- package/dist/infra/bonjour-errors.js +7 -0
- package/dist/infra/bonjour.js +209 -0
- package/dist/infra/brew.js +55 -0
- package/dist/infra/canvas-host-url.js +52 -0
- package/dist/infra/channel-activity.js +32 -0
- package/dist/infra/channel-summary.js +183 -0
- package/dist/infra/channels-status-issues.js +15 -0
- package/dist/infra/clawdbot-root.js +113 -0
- package/dist/infra/clipboard.js +24 -0
- package/dist/infra/control-ui-assets.js +225 -0
- package/dist/infra/dedupe.js +47 -0
- package/dist/infra/device-auth-store.js +97 -0
- package/dist/infra/device-identity.js +149 -0
- package/dist/infra/device-pairing.js +405 -0
- package/dist/infra/diagnostic-events.js +55 -0
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env-file.js +43 -0
- package/dist/infra/env.js +34 -0
- package/dist/infra/errors.js +43 -0
- package/dist/infra/exec-approval-forwarder.js +212 -0
- package/dist/infra/exec-approvals-allowlist.js +384 -0
- package/dist/infra/exec-approvals-analysis.js +770 -0
- package/dist/infra/exec-approvals.js +1245 -0
- package/dist/infra/exec-host.js +75 -0
- package/dist/infra/exec-safety.js +31 -0
- package/dist/infra/fetch.js +58 -0
- package/dist/infra/format-duration.js +20 -0
- package/dist/infra/format-time/format-datetime.js +79 -0
- package/dist/infra/format-time/format-duration.js +81 -0
- package/dist/infra/format-time/format-relative.js +80 -0
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +202 -0
- package/dist/infra/git-commit.js +106 -0
- package/dist/infra/heartbeat-active-hours.js +85 -0
- package/dist/infra/heartbeat-events.js +34 -0
- package/dist/infra/heartbeat-runner.js +831 -0
- package/dist/infra/heartbeat-visibility.js +31 -0
- package/dist/infra/heartbeat-wake.js +152 -0
- package/dist/infra/home-dir.js +49 -0
- package/dist/infra/http-body.js +265 -0
- package/dist/infra/is-main.js +33 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +43 -0
- package/dist/infra/net/fetch-guard.js +124 -0
- package/dist/infra/net/ssrf.js +388 -0
- package/dist/infra/node-pairing.js +228 -0
- package/dist/infra/node-shell.js +9 -0
- package/dist/infra/os-summary.js +23 -0
- package/dist/infra/outbound/abort.js +14 -0
- package/dist/infra/outbound/agent-delivery.js +86 -0
- package/dist/infra/outbound/channel-adapters.js +16 -0
- package/dist/infra/outbound/channel-selection.js +62 -0
- package/dist/infra/outbound/channel-target.js +28 -0
- package/dist/infra/outbound/deliver.js +277 -0
- package/dist/infra/outbound/delivery-queue.js +215 -0
- package/dist/infra/outbound/directory-cache.js +72 -0
- package/dist/infra/outbound/envelope.js +20 -0
- package/dist/infra/outbound/format.js +66 -0
- package/dist/infra/outbound/message-action-runner.js +905 -0
- package/dist/infra/outbound/message-action-spec.js +82 -0
- package/dist/infra/outbound/message.js +195 -0
- package/dist/infra/outbound/outbound-policy.js +122 -0
- package/dist/infra/outbound/outbound-send-service.js +123 -0
- package/dist/infra/outbound/outbound-session.js +797 -0
- package/dist/infra/outbound/payloads.js +78 -0
- package/dist/infra/outbound/target-errors.js +23 -0
- package/dist/infra/outbound/target-normalization.js +27 -0
- package/dist/infra/outbound/target-resolver.js +351 -0
- package/dist/infra/outbound/targets.js +213 -0
- package/dist/infra/path-env.js +106 -0
- package/dist/infra/path-guards.js +18 -0
- package/dist/infra/ports-format.js +53 -0
- package/dist/infra/ports-inspect.js +240 -0
- package/dist/infra/ports-lsof.js +33 -0
- package/dist/infra/ports-types.js +1 -0
- package/dist/infra/ports.js +75 -0
- package/dist/infra/provider-usage.auth.js +190 -0
- package/dist/infra/provider-usage.fetch.antigravity.js +212 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +7 -0
- package/dist/infra/provider-usage.fetch.minimax.js +332 -0
- package/dist/infra/provider-usage.fetch.shared.js +10 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +96 -0
- package/dist/infra/provider-usage.js +3 -0
- package/dist/infra/provider-usage.load.js +59 -0
- package/dist/infra/provider-usage.shared.js +51 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart-sentinel.js +65 -0
- package/dist/infra/restart.js +171 -0
- package/dist/infra/retry-policy.js +71 -0
- package/dist/infra/retry.js +85 -0
- package/dist/infra/runtime-guard.js +60 -0
- package/dist/infra/session-cost-usage.js +780 -0
- package/dist/infra/session-maintenance-warning.js +103 -0
- package/dist/infra/shell-env.js +125 -0
- package/dist/infra/skills-remote.js +306 -0
- package/dist/infra/ssh-config.js +83 -0
- package/dist/infra/ssh-tunnel.js +166 -0
- package/dist/infra/state-migrations.fs.js +49 -0
- package/dist/infra/state-migrations.js +498 -0
- package/dist/infra/system-events.js +75 -0
- package/dist/infra/system-presence.js +231 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +368 -0
- package/dist/infra/tls/fingerprint.js +5 -0
- package/dist/infra/tls/gateway.js +119 -0
- package/dist/infra/tmp-openclaw-dir.js +81 -0
- package/dist/infra/transport-ready.js +38 -0
- package/dist/infra/unhandled-rejections.js +67 -0
- package/dist/infra/update-channels.js +57 -0
- package/dist/infra/update-check.js +293 -0
- package/dist/infra/update-global.js +85 -0
- package/dist/infra/update-runner.js +557 -0
- package/dist/infra/update-startup.js +86 -0
- package/dist/infra/voicewake.js +74 -0
- package/dist/infra/warnings.js +25 -0
- package/dist/infra/widearea-dns.js +131 -0
- package/dist/infra/ws.js +13 -0
- package/dist/infra/wsl.js +25 -0
- package/dist/line/accounts.js +130 -0
- package/dist/line/auto-reply-delivery.js +102 -0
- package/dist/line/bot-access.js +38 -0
- package/dist/line/bot-handlers.js +258 -0
- package/dist/line/bot-message-context.js +374 -0
- package/dist/line/bot.js +48 -0
- package/dist/line/config-schema.js +49 -0
- package/dist/line/download.js +97 -0
- package/dist/line/flex-templates.js +1264 -0
- package/dist/line/http-registry.js +27 -0
- package/dist/line/index.js +19 -0
- package/dist/line/markdown-to-line.js +346 -0
- package/dist/line/monitor.js +277 -0
- package/dist/line/probe.js +37 -0
- package/dist/line/reply-chunks.js +53 -0
- package/dist/line/rich-menu.js +320 -0
- package/dist/line/send.js +451 -0
- package/dist/line/signature.js +11 -0
- package/dist/line/template-messages.js +258 -0
- package/dist/line/types.js +1 -0
- package/dist/line/webhook.js +75 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +59 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logger.js +53 -0
- package/dist/logging/config.js +19 -0
- package/dist/logging/console.js +254 -0
- package/dist/logging/diagnostic-session-state.js +65 -0
- package/dist/logging/diagnostic.js +236 -0
- package/dist/logging/levels.js +26 -0
- package/dist/logging/logger.js +185 -0
- package/dist/logging/parse-log-line.js +52 -0
- package/dist/logging/redact-identifier.js +12 -0
- package/dist/logging/redact.js +117 -0
- package/dist/logging/state.js +13 -0
- package/dist/logging/subsystem.js +249 -0
- package/dist/logging.js +5 -0
- package/dist/macos/gateway-daemon.js +204 -0
- package/dist/macos/relay-smoke.js +29 -0
- package/dist/macos/relay.js +60 -0
- package/dist/markdown/code-spans.js +67 -0
- package/dist/markdown/fences.js +57 -0
- package/dist/markdown/frontmatter.js +124 -0
- package/dist/markdown/ir.js +732 -0
- package/dist/markdown/render.js +131 -0
- package/dist/markdown/tables.js +35 -0
- package/dist/markdown/whatsapp.js +62 -0
- package/dist/media/audio-tags.js +14 -0
- package/dist/media/audio.js +32 -0
- package/dist/media/base64.js +34 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/fetch.js +168 -0
- package/dist/media/host.js +43 -0
- package/dist/media/image-ops.js +385 -0
- package/dist/media/input-files.js +300 -0
- package/dist/media/local-roots.js +16 -0
- package/dist/media/mime.js +147 -0
- package/dist/media/parse.js +175 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +199 -0
- package/dist/media-understanding/apply.js +78 -0
- package/dist/media-understanding/attachments.js +320 -0
- package/dist/media-understanding/concurrency.js +26 -0
- package/dist/media-understanding/defaults.js +30 -0
- package/dist/media-understanding/errors.js +11 -0
- package/dist/media-understanding/format.js +56 -0
- package/dist/media-understanding/index.js +3 -0
- package/dist/media-understanding/providers/anthropic/index.js +6 -0
- package/dist/media-understanding/providers/audio.test-helpers.js +34 -0
- package/dist/media-understanding/providers/deepgram/audio.js +53 -0
- package/dist/media-understanding/providers/deepgram/index.js +6 -0
- package/dist/media-understanding/providers/google/audio.js +70 -0
- package/dist/media-understanding/providers/google/index.js +10 -0
- package/dist/media-understanding/providers/google/video.js +70 -0
- package/dist/media-understanding/providers/groq/index.js +10 -0
- package/dist/media-understanding/providers/image.js +59 -0
- package/dist/media-understanding/providers/index.js +45 -0
- package/dist/media-understanding/providers/minimax/index.js +6 -0
- package/dist/media-understanding/providers/openai/audio.js +52 -0
- package/dist/media-understanding/providers/openai/index.js +8 -0
- package/dist/media-understanding/providers/shared.js +41 -0
- package/dist/media-understanding/resolve.js +113 -0
- package/dist/media-understanding/runner.js +1012 -0
- package/dist/media-understanding/scope.js +41 -0
- package/dist/media-understanding/types.js +1 -0
- package/dist/media-understanding/video.js +8 -0
- package/dist/memory/backend-config.js +215 -0
- package/dist/memory/batch-gemini.js +320 -0
- package/dist/memory/batch-openai.js +290 -0
- package/dist/memory/embeddings-gemini.js +129 -0
- package/dist/memory/embeddings-openai.js +65 -0
- package/dist/memory/embeddings.js +181 -0
- package/dist/memory/headers-fingerprint.js +16 -0
- package/dist/memory/hybrid.js +61 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/internal.js +293 -0
- package/dist/memory/manager-cache-key.js +45 -0
- package/dist/memory/manager-search.js +95 -0
- package/dist/memory/manager.js +1816 -0
- package/dist/memory/memory-schema.js +76 -0
- package/dist/memory/node-llama.js +3 -0
- package/dist/memory/openai-batch.js +2 -0
- package/dist/memory/provider-key.js +23 -0
- package/dist/memory/qmd-manager.js +869 -0
- package/dist/memory/qmd-query-parser.js +36 -0
- package/dist/memory/qmd-scope.js +98 -0
- package/dist/memory/search-manager.js +184 -0
- package/dist/memory/session-files.js +113 -0
- package/dist/memory/sqlite-vec.js +19 -0
- package/dist/memory/sqlite.js +7 -0
- package/dist/memory/status-format.js +23 -0
- package/dist/memory/sync-memory-files.js +69 -0
- package/dist/memory/sync-session-files.js +95 -0
- package/dist/memory/types.js +1 -0
- package/dist/nettest.js +138 -0
- package/dist/node-host/config.js +53 -0
- package/dist/node-host/runner.js +1006 -0
- package/dist/node-host/with-timeout.js +28 -0
- package/dist/pairing/pairing-labels.js +4 -0
- package/dist/pairing/pairing-messages.js +14 -0
- package/dist/pairing/pairing-store.js +404 -0
- package/dist/plugin-sdk/allow-from.js +37 -0
- package/dist/plugin-sdk/index.js +89 -0
- package/dist/plugins/bundled-dir.js +35 -0
- package/dist/plugins/cli.js +49 -0
- package/dist/plugins/commands.js +228 -0
- package/dist/plugins/config-schema.js +23 -0
- package/dist/plugins/config-state.js +101 -0
- package/dist/plugins/discovery.js +309 -0
- package/dist/plugins/enable.js +36 -0
- package/dist/plugins/hook-runner-global.js +57 -0
- package/dist/plugins/hooks.js +293 -0
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +371 -0
- package/dist/plugins/installs.js +21 -0
- package/dist/plugins/loader.js +377 -0
- package/dist/plugins/manifest-registry.js +136 -0
- package/dist/plugins/manifest.js +73 -0
- package/dist/plugins/providers.js +16 -0
- package/dist/plugins/registry.js +312 -0
- package/dist/plugins/runtime/index.js +292 -0
- package/dist/plugins/runtime/native-deps.js +16 -0
- package/dist/plugins/runtime/types.js +1 -0
- package/dist/plugins/runtime.js +42 -0
- package/dist/plugins/schema-validator.js +28 -0
- package/dist/plugins/services.js +55 -0
- package/dist/plugins/slots.js +68 -0
- package/dist/plugins/status.js +27 -0
- package/dist/plugins/tools.js +98 -0
- package/dist/plugins/types.js +1 -0
- package/dist/plugins/update.js +324 -0
- package/dist/polls.js +41 -0
- package/dist/process/child-process-bridge.js +34 -0
- package/dist/process/command-queue.js +250 -0
- package/dist/process/exec.js +142 -0
- package/dist/process/lanes.js +1 -0
- package/dist/process/queue-backend.js +59 -0
- package/dist/process/queue-db.js +293 -0
- package/dist/process/queue-memory.js +144 -0
- package/dist/process/restart-recovery.js +16 -0
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/github-copilot-auth.js +124 -0
- package/dist/providers/github-copilot-models.js +228 -0
- package/dist/providers/github-copilot-token.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +38 -0
- package/dist/routing/bindings.js +87 -0
- package/dist/routing/resolve-route.js +168 -0
- package/dist/routing/session-key.js +180 -0
- package/dist/runtime.js +15 -0
- package/dist/security/audit-extra.async.js +763 -0
- package/dist/security/audit-extra.js +985 -0
- package/dist/security/audit-extra.sync.js +727 -0
- package/dist/security/audit-fs.js +139 -0
- package/dist/security/audit.js +848 -0
- package/dist/security/channel-metadata.js +34 -0
- package/dist/security/external-content.js +147 -0
- package/dist/security/fix.js +317 -0
- package/dist/security/scan-paths.js +39 -0
- package/dist/security/secret-equal.js +12 -0
- package/dist/security/skill-scanner.js +338 -0
- package/dist/security/windows-acl.js +177 -0
- package/dist/sessions/level-overrides.js +24 -0
- package/dist/sessions/model-overrides.js +57 -0
- package/dist/sessions/send-policy.js +105 -0
- package/dist/sessions/session-key-utils.js +83 -0
- package/dist/sessions/session-label.js +16 -0
- package/dist/sessions/transcript-events.js +16 -0
- package/dist/shared/requirements.js +115 -0
- package/dist/shared/subagents-format.js +84 -0
- package/dist/shared/text/reasoning-tags.js +48 -0
- package/dist/signal/accounts.js +59 -0
- package/dist/signal/client.js +141 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/format.js +165 -0
- package/dist/signal/identity.js +95 -0
- package/dist/signal/index.js +5 -0
- package/dist/signal/monitor/event-handler.js +599 -0
- package/dist/signal/monitor/event-handler.types.js +1 -0
- package/dist/signal/monitor/mentions.js +38 -0
- package/dist/signal/monitor.js +269 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/reaction-level.js +53 -0
- package/dist/signal/send-reactions.js +155 -0
- package/dist/signal/send.js +192 -0
- package/dist/signal/sse-reconnect.js +56 -0
- package/dist/slack/accounts.js +84 -0
- package/dist/slack/actions.js +156 -0
- package/dist/slack/channel-migration.js +53 -0
- package/dist/slack/client.js +17 -0
- package/dist/slack/directory-live.js +122 -0
- package/dist/slack/format.js +111 -0
- package/dist/slack/http/index.js +1 -0
- package/dist/slack/http/registry.js +27 -0
- package/dist/slack/index.js +6 -0
- package/dist/slack/monitor/allow-list.js +58 -0
- package/dist/slack/monitor/auth.js +17 -0
- package/dist/slack/monitor/channel-config.js +79 -0
- package/dist/slack/monitor/commands.js +27 -0
- package/dist/slack/monitor/context.js +242 -0
- package/dist/slack/monitor/events/channels.js +116 -0
- package/dist/slack/monitor/events/members.js +74 -0
- package/dist/slack/monitor/events/messages.js +111 -0
- package/dist/slack/monitor/events/pins.js +76 -0
- package/dist/slack/monitor/events/reactions.js +54 -0
- package/dist/slack/monitor/events.js +15 -0
- package/dist/slack/monitor/media.js +138 -0
- package/dist/slack/monitor/message-handler/dispatch.js +172 -0
- package/dist/slack/monitor/message-handler/prepare.js +481 -0
- package/dist/slack/monitor/message-handler/types.js +1 -0
- package/dist/slack/monitor/message-handler.js +96 -0
- package/dist/slack/monitor/policy.js +10 -0
- package/dist/slack/monitor/provider.js +324 -0
- package/dist/slack/monitor/replies.js +107 -0
- package/dist/slack/monitor/slash.js +529 -0
- package/dist/slack/monitor/thread-resolution.js +102 -0
- package/dist/slack/monitor/types.js +1 -0
- package/dist/slack/monitor.js +4 -0
- package/dist/slack/monitor.test-helpers.js +119 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/resolve-channels.js +88 -0
- package/dist/slack/resolve-users.js +133 -0
- package/dist/slack/scopes.js +87 -0
- package/dist/slack/send.js +132 -0
- package/dist/slack/targets.js +48 -0
- package/dist/slack/threading-tool-context.js +18 -0
- package/dist/slack/threading.js +26 -0
- package/dist/slack/token.js +10 -0
- package/dist/slack/types.js +1 -0
- package/dist/telegram/accounts.js +98 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/api-logging.js +26 -0
- package/dist/telegram/audit.js +116 -0
- package/dist/telegram/bot/delivery.js +447 -0
- package/dist/telegram/bot/helpers.js +357 -0
- package/dist/telegram/bot/types.js +1 -0
- package/dist/telegram/bot-access.js +74 -0
- package/dist/telegram/bot-handlers.js +750 -0
- package/dist/telegram/bot-message-context.js +519 -0
- package/dist/telegram/bot-message-dispatch.js +309 -0
- package/dist/telegram/bot-message.js +41 -0
- package/dist/telegram/bot-native-commands.js +561 -0
- package/dist/telegram/bot-updates.js +25 -0
- package/dist/telegram/bot.js +410 -0
- package/dist/telegram/caption.js +11 -0
- package/dist/telegram/download.js +63 -0
- package/dist/telegram/draft-chunking.js +22 -0
- package/dist/telegram/draft-stream.js +113 -0
- package/dist/telegram/fetch.js +11 -0
- package/dist/telegram/format.js +70 -0
- package/dist/telegram/group-migration.js +53 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/inline-buttons.js +55 -0
- package/dist/telegram/model-buttons.js +163 -0
- package/dist/telegram/monitor.js +142 -0
- package/dist/telegram/network-errors.js +129 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +70 -0
- package/dist/telegram/proxy.js +10 -0
- package/dist/telegram/reaction-level.js +46 -0
- package/dist/telegram/send.js +610 -0
- package/dist/telegram/sent-message-cache.js +53 -0
- package/dist/telegram/sticker-cache.js +204 -0
- package/dist/telegram/targets.js +46 -0
- package/dist/telegram/token.js +70 -0
- package/dist/telegram/update-offset-store.js +60 -0
- package/dist/telegram/voice.js +23 -0
- package/dist/telegram/webhook-set.js +21 -0
- package/dist/telegram/webhook.js +123 -0
- package/dist/terminal/ansi.js +46 -0
- package/dist/terminal/links.js +17 -0
- package/dist/terminal/note.js +128 -0
- package/dist/terminal/palette.js +12 -0
- package/dist/terminal/progress-line.js +18 -0
- package/dist/terminal/prompt-style.js +4 -0
- package/dist/terminal/stream-writer.js +49 -0
- package/dist/terminal/table.js +327 -0
- package/dist/terminal/theme.js +22 -0
- package/dist/tts/tts.js +1179 -0
- package/dist/tui/commands.js +134 -0
- package/dist/tui/components/assistant-message.js +18 -0
- package/dist/tui/components/chat-log.js +94 -0
- package/dist/tui/components/custom-editor.js +61 -0
- package/dist/tui/components/filterable-select-list.js +102 -0
- package/dist/tui/components/fuzzy-filter.js +113 -0
- package/dist/tui/components/searchable-select-list.js +231 -0
- package/dist/tui/components/selectors.js +16 -0
- package/dist/tui/components/tool-execution.js +113 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +154 -0
- package/dist/tui/theme/syntax-theme.js +49 -0
- package/dist/tui/theme/theme.js +120 -0
- package/dist/tui/tui-command-handlers.js +418 -0
- package/dist/tui/tui-event-handlers.js +244 -0
- package/dist/tui/tui-formatters.js +254 -0
- package/dist/tui/tui-local-shell.js +101 -0
- package/dist/tui/tui-overlays.js +13 -0
- package/dist/tui/tui-session-actions.js +205 -0
- package/dist/tui/tui-status-summary.js +74 -0
- package/dist/tui/tui-stream-assembler.js +118 -0
- package/dist/tui/tui-types.js +1 -0
- package/dist/tui/tui-waiting.js +34 -0
- package/dist/tui/tui.js +551 -0
- package/dist/utils/account-id.js +6 -0
- package/dist/utils/boolean.js +22 -0
- package/dist/utils/delivery-context.js +84 -0
- package/dist/utils/directive-tags.js +54 -0
- package/dist/utils/message-channel.js +84 -0
- package/dist/utils/network-interfaces.js +66 -0
- package/dist/utils/normalize-secret-input.js +19 -0
- package/dist/utils/os-overload.js +18 -0
- package/dist/utils/provider-utils.js +28 -0
- package/dist/utils/queue-helpers.js +95 -0
- package/dist/utils/shell-argv.js +61 -0
- package/dist/utils/time-format.js +19 -0
- package/dist/utils/transcript-tools.js +58 -0
- package/dist/utils/usage-format.js +46 -0
- package/dist/utils.js +310 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +122 -0
- package/dist/web/active-listener.js +37 -0
- package/dist/web/auth-store.js +174 -0
- package/dist/web/auto-reply/constants.js +1 -0
- package/dist/web/auto-reply/deliver-reply.js +141 -0
- package/dist/web/auto-reply/heartbeat-runner.js +264 -0
- package/dist/web/auto-reply/loggers.js +5 -0
- package/dist/web/auto-reply/mentions.js +79 -0
- package/dist/web/auto-reply/monitor/ack-reaction.js +47 -0
- package/dist/web/auto-reply/monitor/broadcast.js +64 -0
- package/dist/web/auto-reply/monitor/commands.js +21 -0
- package/dist/web/auto-reply/monitor/echo.js +36 -0
- package/dist/web/auto-reply/monitor/group-activation.js +37 -0
- package/dist/web/auto-reply/monitor/group-gating.js +98 -0
- package/dist/web/auto-reply/monitor/group-members.js +53 -0
- package/dist/web/auto-reply/monitor/last-route.js +38 -0
- package/dist/web/auto-reply/monitor/message-line.js +35 -0
- package/dist/web/auto-reply/monitor/on-message.js +128 -0
- package/dist/web/auto-reply/monitor/peer.js +10 -0
- package/dist/web/auto-reply/monitor/process-message.js +325 -0
- package/dist/web/auto-reply/monitor.js +355 -0
- package/dist/web/auto-reply/session-snapshot.js +40 -0
- package/dist/web/auto-reply/types.js +1 -0
- package/dist/web/auto-reply/util.js +47 -0
- package/dist/web/auto-reply.impl.js +5 -0
- package/dist/web/auto-reply.js +1 -0
- package/dist/web/inbound/access-control.js +147 -0
- package/dist/web/inbound/dedupe.js +13 -0
- package/dist/web/inbound/extract.js +254 -0
- package/dist/web/inbound/media.js +61 -0
- package/dist/web/inbound/monitor.js +332 -0
- package/dist/web/inbound/send-api.js +91 -0
- package/dist/web/inbound/types.js +1 -0
- package/dist/web/inbound.js +3 -0
- package/dist/web/login-qr.js +227 -0
- package/dist/web/login.js +68 -0
- package/dist/web/media.js +236 -0
- package/dist/web/outbound.js +137 -0
- package/dist/web/qr-image.js +95 -0
- package/dist/web/reconnect.js +36 -0
- package/dist/web/session.js +236 -0
- package/dist/web/vcard.js +63 -0
- package/dist/whatsapp/normalize.js +66 -0
- package/dist/wizard/clack-prompter.js +72 -0
- package/dist/wizard/onboarding.finalize.js +354 -0
- package/dist/wizard/onboarding.gateway-config.js +198 -0
- package/dist/wizard/onboarding.js +375 -0
- package/dist/wizard/onboarding.types.js +1 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +201 -0
- package/docs/CNAME +1 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +144 -0
- package/docs/assets/markdown.css +179 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/automation/auth-monitoring.md +41 -0
- package/docs/automation/cron-jobs.md +467 -0
- package/docs/automation/cron-vs-heartbeat.md +282 -0
- package/docs/automation/gmail-pubsub.md +252 -0
- package/docs/automation/hooks.md +881 -0
- package/docs/automation/poll.md +63 -0
- package/docs/automation/webhook.md +215 -0
- package/docs/bedrock.md +172 -0
- package/docs/brave-search.md +40 -0
- package/docs/broadcast-groups.md +407 -0
- package/docs/channels/bluebubbles.md +263 -0
- package/docs/channels/feishu.md +666 -0
- package/docs/channels/googlechat.md +220 -0
- package/docs/channels/grammy.md +27 -0
- package/docs/channels/imessage.md +261 -0
- package/docs/channels/index.md +43 -0
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +48 -0
- package/docs/channels/matrix.md +230 -0
- package/docs/channels/mattermost.md +123 -0
- package/docs/channels/msteams.md +703 -0
- package/docs/channels/nextcloud-talk.md +120 -0
- package/docs/channels/nostr.md +235 -0
- package/docs/channels/signal.md +179 -0
- package/docs/channels/slack.md +507 -0
- package/docs/channels/telegram.md +740 -0
- package/docs/channels/tlon.md +133 -0
- package/docs/channels/troubleshooting.md +25 -0
- package/docs/channels/whatsapp.md +362 -0
- package/docs/channels/zalo.md +167 -0
- package/docs/channels/zalouser.md +123 -0
- package/docs/cli/acp.md +166 -0
- package/docs/cli/agent.md +22 -0
- package/docs/cli/agents.md +71 -0
- package/docs/cli/approvals.md +48 -0
- package/docs/cli/browser.md +106 -0
- package/docs/cli/channels.md +75 -0
- package/docs/cli/config.md +49 -0
- package/docs/cli/configure.md +30 -0
- package/docs/cli/cron.md +43 -0
- package/docs/cli/dashboard.md +16 -0
- package/docs/cli/devices.md +69 -0
- package/docs/cli/directory.md +60 -0
- package/docs/cli/dns.md +22 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +38 -0
- package/docs/cli/gateway.md +190 -0
- package/docs/cli/health.md +19 -0
- package/docs/cli/hooks.md +291 -0
- package/docs/cli/index.md +926 -0
- package/docs/cli/logs.md +28 -0
- package/docs/cli/memory.md +41 -0
- package/docs/cli/message.md +228 -0
- package/docs/cli/models.md +68 -0
- package/docs/cli/node.md +108 -0
- package/docs/cli/nodes.md +68 -0
- package/docs/cli/onboard.md +73 -0
- package/docs/cli/pairing.md +20 -0
- package/docs/cli/plugins.md +60 -0
- package/docs/cli/reset.md +17 -0
- package/docs/cli/sandbox.md +150 -0
- package/docs/cli/security.md +27 -0
- package/docs/cli/sessions.md +16 -0
- package/docs/cli/setup.md +28 -0
- package/docs/cli/skills.md +25 -0
- package/docs/cli/status.md +24 -0
- package/docs/cli/system.md +55 -0
- package/docs/cli/tui.md +22 -0
- package/docs/cli/uninstall.md +17 -0
- package/docs/cli/update.md +96 -0
- package/docs/cli/voicecall.md +33 -0
- package/docs/cli/webhooks.md +23 -0
- package/docs/command-queue-refactoring.md +536 -0
- package/docs/concepts/agent-loop.md +126 -0
- package/docs/concepts/agent-workspace.md +231 -0
- package/docs/concepts/agent.md +114 -0
- package/docs/concepts/architecture.md +119 -0
- package/docs/concepts/channel-routing.md +118 -0
- package/docs/concepts/compaction.md +49 -0
- package/docs/concepts/context.md +151 -0
- package/docs/concepts/group-messages.md +78 -0
- package/docs/concepts/groups.md +374 -0
- package/docs/concepts/markdown-formatting.md +132 -0
- package/docs/concepts/memory.md +575 -0
- package/docs/concepts/messages.md +154 -0
- package/docs/concepts/model-failover.md +139 -0
- package/docs/concepts/model-providers.md +319 -0
- package/docs/concepts/models.md +202 -0
- package/docs/concepts/multi-agent.md +389 -0
- package/docs/concepts/oauth.md +162 -0
- package/docs/concepts/presence.md +98 -0
- package/docs/concepts/queue.md +77 -0
- package/docs/concepts/retry.md +60 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +171 -0
- package/docs/concepts/session.md +206 -0
- package/docs/concepts/sessions.md +8 -0
- package/docs/concepts/streaming.md +123 -0
- package/docs/concepts/system-prompt.md +113 -0
- package/docs/concepts/timezone.md +89 -0
- package/docs/concepts/typebox.md +281 -0
- package/docs/concepts/typing-indicators.md +59 -0
- package/docs/concepts/usage-tracking.md +30 -0
- package/docs/date-time.md +127 -0
- package/docs/debug/node-issue.md +72 -0
- package/docs/debugging.md +161 -0
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +1847 -0
- package/docs/environment.md +104 -0
- package/docs/experiments/onboarding-config-protocol.md +34 -0
- package/docs/experiments/plans/cron-add-hardening.md +57 -0
- package/docs/experiments/plans/group-policy-hardening.md +38 -0
- package/docs/experiments/plans/openresponses-gateway.md +122 -0
- package/docs/experiments/proposals/model-config.md +32 -0
- package/docs/experiments/research/memory.md +210 -0
- package/docs/gateway/authentication.md +167 -0
- package/docs/gateway/background-process.md +82 -0
- package/docs/gateway/bonjour.md +168 -0
- package/docs/gateway/bridge-protocol.md +87 -0
- package/docs/gateway/cli-backends.md +221 -0
- package/docs/gateway/configuration-examples.md +575 -0
- package/docs/gateway/configuration-reference.md +2330 -0
- package/docs/gateway/configuration.md +3413 -0
- package/docs/gateway/discovery.md +116 -0
- package/docs/gateway/doctor.md +252 -0
- package/docs/gateway/gateway-lock.md +28 -0
- package/docs/gateway/health.md +29 -0
- package/docs/gateway/heartbeat.md +297 -0
- package/docs/gateway/index.md +284 -0
- package/docs/gateway/local-models.md +146 -0
- package/docs/gateway/logging.md +112 -0
- package/docs/gateway/multiple-gateways.md +107 -0
- package/docs/gateway/openai-http-api.md +112 -0
- package/docs/gateway/openresponses-http-api.md +320 -0
- package/docs/gateway/pairing-required-troubleshooting.md +243 -0
- package/docs/gateway/pairing.md +92 -0
- package/docs/gateway/protocol.md +215 -0
- package/docs/gateway/remote-gateway-readme.md +153 -0
- package/docs/gateway/remote.md +125 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +117 -0
- package/docs/gateway/sandboxing.md +174 -0
- package/docs/gateway/security/index.md +845 -0
- package/docs/gateway/security.md +724 -0
- package/docs/gateway/tailscale.md +143 -0
- package/docs/gateway/token-mismatch-troubleshooting.md +66 -0
- package/docs/gateway/tools-invoke-http-api.md +101 -0
- package/docs/gateway/troubleshooting.md +966 -0
- package/docs/guides/custom-ai-providers.md +513 -0
- package/docs/guides/qmd-memory-search.md +437 -0
- package/docs/guides/ssl-deployment.md +294 -0
- package/docs/help/faq.md +2859 -0
- package/docs/help/index.md +20 -0
- package/docs/help/troubleshooting.md +97 -0
- package/docs/hooks.md +899 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/main-view.png +0 -0
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/images/telegram-botfather-newbot.png +0 -0
- package/docs/images/telegram-botfather-start.png +0 -0
- package/docs/images/telegram-botfather-token.png +0 -0
- package/docs/images/telegram-search-botfather.png +0 -0
- package/docs/index.md +240 -0
- package/docs/install/ansible.md +205 -0
- package/docs/install/bun.md +58 -0
- package/docs/install/development-channels.md +74 -0
- package/docs/install/docker-hub-setup.md +153 -0
- package/docs/install/docker-quick.md +449 -0
- package/docs/install/docker.md +895 -0
- package/docs/install/index.md +185 -0
- package/docs/install/installer.md +120 -0
- package/docs/install/nix.md +98 -0
- package/docs/install/node.md +77 -0
- package/docs/install/uninstall.md +137 -0
- package/docs/install/updating.md +301 -0
- package/docs/logging.md +343 -0
- package/docs/multi-agent-sandbox-tools.md +374 -0
- package/docs/network.md +51 -0
- package/docs/nodes/audio.md +109 -0
- package/docs/nodes/camera.md +152 -0
- package/docs/nodes/images.md +61 -0
- package/docs/nodes/index.md +305 -0
- package/docs/nodes/location-command.md +95 -0
- package/docs/nodes/media-understanding.md +313 -0
- package/docs/nodes/talk.md +79 -0
- package/docs/nodes/voicewake.md +61 -0
- package/docs/npm-publish-guide.md +146 -0
- package/docs/npm-ssh-config.md +180 -0
- package/docs/perplexity.md +79 -0
- package/docs/platforms/android.md +141 -0
- package/docs/platforms/digitalocean.md +251 -0
- package/docs/platforms/exe-dev.md +187 -0
- package/docs/platforms/fly.md +465 -0
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +325 -0
- package/docs/platforms/index.md +50 -0
- package/docs/platforms/ios.md +104 -0
- package/docs/platforms/linux.md +89 -0
- package/docs/platforms/mac/bundled-gateway.md +67 -0
- package/docs/platforms/mac/canvas.md +121 -0
- package/docs/platforms/mac/child-process.md +67 -0
- package/docs/platforms/mac/dev-setup.md +91 -0
- package/docs/platforms/mac/health.md +28 -0
- package/docs/platforms/mac/icon.md +26 -0
- package/docs/platforms/mac/logging.md +51 -0
- package/docs/platforms/mac/menu-bar.md +70 -0
- package/docs/platforms/mac/peekaboo.md +62 -0
- package/docs/platforms/mac/permissions.md +40 -0
- package/docs/platforms/mac/release.md +77 -0
- package/docs/platforms/mac/remote.md +71 -0
- package/docs/platforms/mac/signing.md +43 -0
- package/docs/platforms/mac/skills.md +27 -0
- package/docs/platforms/mac/voice-overlay.md +52 -0
- package/docs/platforms/mac/voicewake.md +56 -0
- package/docs/platforms/mac/webchat.md +39 -0
- package/docs/platforms/mac/xpc.md +51 -0
- package/docs/platforms/macos-vm.md +275 -0
- package/docs/platforms/macos.md +196 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +153 -0
- package/docs/plugin.md +638 -0
- package/docs/plugins/agent-tools.md +96 -0
- package/docs/plugins/manifest.md +67 -0
- package/docs/plugins/voice-call.md +247 -0
- package/docs/plugins/zalouser.md +75 -0
- package/docs/prose.md +131 -0
- package/docs/providers/anthropic.md +127 -0
- package/docs/providers/claude-max-api-proxy.md +145 -0
- package/docs/providers/cloudflare-ai-gateway.md +71 -0
- package/docs/providers/deepgram.md +88 -0
- package/docs/providers/github-copilot.md +63 -0
- package/docs/providers/glm.md +31 -0
- package/docs/providers/huggingface.md +209 -0
- package/docs/providers/index.md +63 -0
- package/docs/providers/minimax.md +193 -0
- package/docs/providers/models.md +51 -0
- package/docs/providers/moonshot.md +154 -0
- package/docs/providers/ollama.md +250 -0
- package/docs/providers/openai.md +64 -0
- package/docs/providers/opencode.md +34 -0
- package/docs/providers/openrouter.md +36 -0
- package/docs/providers/qwen.md +51 -0
- package/docs/providers/synthetic.md +97 -0
- package/docs/providers/venice.md +264 -0
- package/docs/providers/vercel-ai-gateway.md +48 -0
- package/docs/providers/volcengine.md +114 -0
- package/docs/providers/zai.md +34 -0
- package/docs/railway.mdx +96 -0
- package/docs/refactor/clawnet.md +360 -0
- package/docs/refactor/exec-host.md +265 -0
- package/docs/refactor/outbound-session-mirroring.md +75 -0
- package/docs/refactor/plugin-sdk.md +187 -0
- package/docs/refactor/strict-config.md +93 -0
- package/docs/reference/AGENTS.default.md +113 -0
- package/docs/reference/RELEASING.md +107 -0
- package/docs/reference/api-usage-costs.md +117 -0
- package/docs/reference/device-models.md +46 -0
- package/docs/reference/rpc.md +35 -0
- package/docs/reference/session-management-compaction.md +273 -0
- package/docs/reference/templates/AGENTS.dev.md +78 -0
- package/docs/reference/templates/AGENTS.md +196 -0
- package/docs/reference/templates/BOOT.md +9 -0
- package/docs/reference/templates/BOOTSTRAP.md +55 -0
- package/docs/reference/templates/HEARTBEAT.md +9 -0
- package/docs/reference/templates/IDENTITY.dev.md +40 -0
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/SOUL.dev.md +74 -0
- package/docs/reference/templates/SOUL.md +41 -0
- package/docs/reference/templates/TOOLS.dev.md +21 -0
- package/docs/reference/templates/TOOLS.md +41 -0
- package/docs/reference/templates/USER.dev.md +17 -0
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +46 -0
- package/docs/reference/transcript-hygiene.md +96 -0
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +31 -0
- package/docs/start/clawd.md +227 -0
- package/docs/start/getting-started.md +120 -0
- package/docs/start/hubs.md +182 -0
- package/docs/start/lore.md +130 -0
- package/docs/start/onboarding.md +94 -0
- package/docs/start/pairing.md +80 -0
- package/docs/start/setup.md +128 -0
- package/docs/start/showcase.md +416 -0
- package/docs/start/wizard.md +346 -0
- package/docs/testing.md +368 -0
- package/docs/token-use.md +110 -0
- package/docs/tools/agent-send.md +51 -0
- package/docs/tools/apply-patch.md +51 -0
- package/docs/tools/browser-linux-troubleshooting.md +159 -0
- package/docs/tools/browser-login.md +83 -0
- package/docs/tools/browser.md +508 -0
- package/docs/tools/chrome-extension.md +150 -0
- package/docs/tools/clawdhub.md +78 -0
- package/docs/tools/creating-skills.md +41 -0
- package/docs/tools/elevated.md +48 -0
- package/docs/tools/exec-approvals.md +228 -0
- package/docs/tools/exec.md +181 -0
- package/docs/tools/firecrawl.md +58 -0
- package/docs/tools/index.md +513 -0
- package/docs/tools/llm-task.md +114 -0
- package/docs/tools/lobster.md +326 -0
- package/docs/tools/reactions.md +20 -0
- package/docs/tools/skills-config.md +75 -0
- package/docs/tools/skills.md +259 -0
- package/docs/tools/slash-commands.md +188 -0
- package/docs/tools/subagents.md +138 -0
- package/docs/tools/thinking.md +62 -0
- package/docs/tools/web.md +257 -0
- package/docs/tts.md +389 -0
- package/docs/tui.md +137 -0
- package/docs/upstream-merge-analysis-2026.1.29-2026.2.14.md +463 -0
- package/docs/vps.md +38 -0
- package/docs/web/control-ui.md +221 -0
- package/docs/web/dashboard.md +38 -0
- package/docs/web/index.md +110 -0
- package/docs/web/webchat.md +41 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/zh-CN/automation/hooks.md +882 -0
- package/docs/zh-CN/cli/hooks.md +298 -0
- package/docs/zh-CN/install/index.md +211 -0
- package/extensions/bluebubbles/index.ts +20 -0
- package/extensions/bluebubbles/openclaw.plugin.json +11 -0
- package/extensions/bluebubbles/package.json +33 -0
- package/extensions/bluebubbles/src/accounts.ts +80 -0
- package/extensions/bluebubbles/src/actions.test.ts +651 -0
- package/extensions/bluebubbles/src/actions.ts +403 -0
- package/extensions/bluebubbles/src/attachments.test.ts +346 -0
- package/extensions/bluebubbles/src/attachments.ts +282 -0
- package/extensions/bluebubbles/src/channel.ts +399 -0
- package/extensions/bluebubbles/src/chat.test.ts +462 -0
- package/extensions/bluebubbles/src/chat.ts +354 -0
- package/extensions/bluebubbles/src/config-schema.ts +51 -0
- package/extensions/bluebubbles/src/media-send.ts +168 -0
- package/extensions/bluebubbles/src/monitor.test.ts +2425 -0
- package/extensions/bluebubbles/src/monitor.ts +2487 -0
- package/extensions/bluebubbles/src/onboarding.ts +340 -0
- package/extensions/bluebubbles/src/probe.ts +127 -0
- package/extensions/bluebubbles/src/reactions.test.ts +393 -0
- package/extensions/bluebubbles/src/reactions.ts +183 -0
- package/extensions/bluebubbles/src/runtime.ts +14 -0
- package/extensions/bluebubbles/src/send.test.ts +809 -0
- package/extensions/bluebubbles/src/send.ts +418 -0
- package/extensions/bluebubbles/src/targets.test.ts +203 -0
- package/extensions/bluebubbles/src/targets.ts +323 -0
- package/extensions/bluebubbles/src/types.ts +127 -0
- package/extensions/copilot-proxy/README.md +24 -0
- package/extensions/copilot-proxy/index.ts +142 -0
- package/extensions/copilot-proxy/openclaw.plugin.json +11 -0
- package/extensions/copilot-proxy/package.json +11 -0
- package/extensions/diagnostics-otel/index.ts +16 -0
- package/extensions/diagnostics-otel/openclaw.plugin.json +8 -0
- package/extensions/diagnostics-otel/package.json +24 -0
- package/extensions/diagnostics-otel/src/service.test.ts +296 -0
- package/extensions/diagnostics-otel/src/service.ts +667 -0
- package/extensions/discord/index.ts +18 -0
- package/extensions/discord/openclaw.plugin.json +11 -0
- package/extensions/discord/package.json +11 -0
- package/extensions/discord/src/channel.ts +422 -0
- package/extensions/discord/src/runtime.ts +14 -0
- package/extensions/feishu/PUBLISHING.md +142 -0
- package/extensions/feishu/PUBLISH_CHECKLIST.md +46 -0
- package/extensions/feishu/README.md +86 -0
- package/extensions/feishu/dist/index.d.ts +37 -0
- package/extensions/feishu/dist/index.d.ts.map +1 -0
- package/extensions/feishu/dist/index.js +48 -0
- package/extensions/feishu/dist/index.js.map +1 -0
- package/extensions/feishu/dist/src/accounts.d.ts +33 -0
- package/extensions/feishu/dist/src/accounts.d.ts.map +1 -0
- package/extensions/feishu/dist/src/accounts.js +110 -0
- package/extensions/feishu/dist/src/accounts.js.map +1 -0
- package/extensions/feishu/dist/src/bitable.d.ts +303 -0
- package/extensions/feishu/dist/src/bitable.d.ts.map +1 -0
- package/extensions/feishu/dist/src/bitable.js +816 -0
- package/extensions/feishu/dist/src/bitable.js.map +1 -0
- package/extensions/feishu/dist/src/bot.d.ts +53 -0
- package/extensions/feishu/dist/src/bot.d.ts.map +1 -0
- package/extensions/feishu/dist/src/bot.js +877 -0
- package/extensions/feishu/dist/src/bot.js.map +1 -0
- package/extensions/feishu/dist/src/calendar-schema.d.ts +35 -0
- package/extensions/feishu/dist/src/calendar-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/calendar-schema.js +72 -0
- package/extensions/feishu/dist/src/calendar-schema.js.map +1 -0
- package/extensions/feishu/dist/src/calendar.d.ts +648 -0
- package/extensions/feishu/dist/src/calendar.d.ts.map +1 -0
- package/extensions/feishu/dist/src/calendar.js +284 -0
- package/extensions/feishu/dist/src/calendar.js.map +1 -0
- package/extensions/feishu/dist/src/channel.d.ts +4 -0
- package/extensions/feishu/dist/src/channel.d.ts.map +1 -0
- package/extensions/feishu/dist/src/channel.js +331 -0
- package/extensions/feishu/dist/src/channel.js.map +1 -0
- package/extensions/feishu/dist/src/client.d.ts +35 -0
- package/extensions/feishu/dist/src/client.d.ts.map +1 -0
- package/extensions/feishu/dist/src/client.js +86 -0
- package/extensions/feishu/dist/src/client.js.map +1 -0
- package/extensions/feishu/dist/src/config-schema.d.ts +176 -0
- package/extensions/feishu/dist/src/config-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/config-schema.js +56 -0
- package/extensions/feishu/dist/src/config-schema.js.map +1 -0
- package/extensions/feishu/dist/src/directory.d.ts +36 -0
- package/extensions/feishu/dist/src/directory.d.ts.map +1 -0
- package/extensions/feishu/dist/src/directory.js +129 -0
- package/extensions/feishu/dist/src/directory.js.map +1 -0
- package/extensions/feishu/dist/src/doc-schema.d.ts +48 -0
- package/extensions/feishu/dist/src/doc-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/doc-schema.js +57 -0
- package/extensions/feishu/dist/src/doc-schema.js.map +1 -0
- package/extensions/feishu/dist/src/docx.d.ts +3 -0
- package/extensions/feishu/dist/src/docx.d.ts.map +1 -0
- package/extensions/feishu/dist/src/docx.js +622 -0
- package/extensions/feishu/dist/src/docx.js.map +1 -0
- package/extensions/feishu/dist/src/drive-schema.d.ts +24 -0
- package/extensions/feishu/dist/src/drive-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/drive-schema.js +39 -0
- package/extensions/feishu/dist/src/drive-schema.js.map +1 -0
- package/extensions/feishu/dist/src/drive.d.ts +3 -0
- package/extensions/feishu/dist/src/drive.d.ts.map +1 -0
- package/extensions/feishu/dist/src/drive.js +181 -0
- package/extensions/feishu/dist/src/drive.js.map +1 -0
- package/extensions/feishu/dist/src/dynamic-agent.d.ts +19 -0
- package/extensions/feishu/dist/src/dynamic-agent.d.ts.map +1 -0
- package/extensions/feishu/dist/src/dynamic-agent.js +91 -0
- package/extensions/feishu/dist/src/dynamic-agent.js.map +1 -0
- package/extensions/feishu/dist/src/im-schema.d.ts +46 -0
- package/extensions/feishu/dist/src/im-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/im-schema.js +82 -0
- package/extensions/feishu/dist/src/im-schema.js.map +1 -0
- package/extensions/feishu/dist/src/im.d.ts +107 -0
- package/extensions/feishu/dist/src/im.d.ts.map +1 -0
- package/extensions/feishu/dist/src/im.js +368 -0
- package/extensions/feishu/dist/src/im.js.map +1 -0
- package/extensions/feishu/dist/src/media.d.ts +99 -0
- package/extensions/feishu/dist/src/media.d.ts.map +1 -0
- package/extensions/feishu/dist/src/media.js +443 -0
- package/extensions/feishu/dist/src/media.js.map +1 -0
- package/extensions/feishu/dist/src/mention.d.ts +49 -0
- package/extensions/feishu/dist/src/mention.d.ts.map +1 -0
- package/extensions/feishu/dist/src/mention.js +99 -0
- package/extensions/feishu/dist/src/mention.js.map +1 -0
- package/extensions/feishu/dist/src/monitor.d.ts +16 -0
- package/extensions/feishu/dist/src/monitor.d.ts.map +1 -0
- package/extensions/feishu/dist/src/monitor.js +288 -0
- package/extensions/feishu/dist/src/monitor.js.map +1 -0
- package/extensions/feishu/dist/src/onboarding.d.ts +3 -0
- package/extensions/feishu/dist/src/onboarding.d.ts.map +1 -0
- package/extensions/feishu/dist/src/onboarding.js +121 -0
- package/extensions/feishu/dist/src/onboarding.js.map +1 -0
- package/extensions/feishu/dist/src/outbound.d.ts +3 -0
- package/extensions/feishu/dist/src/outbound.d.ts.map +1 -0
- package/extensions/feishu/dist/src/outbound.js +53 -0
- package/extensions/feishu/dist/src/outbound.js.map +1 -0
- package/extensions/feishu/dist/src/perm-schema.d.ts +21 -0
- package/extensions/feishu/dist/src/perm-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/perm-schema.js +47 -0
- package/extensions/feishu/dist/src/perm-schema.js.map +1 -0
- package/extensions/feishu/dist/src/perm.d.ts +37 -0
- package/extensions/feishu/dist/src/perm.d.ts.map +1 -0
- package/extensions/feishu/dist/src/perm.js +111 -0
- package/extensions/feishu/dist/src/perm.js.map +1 -0
- package/extensions/feishu/dist/src/policy.d.ts +28 -0
- package/extensions/feishu/dist/src/policy.d.ts.map +1 -0
- package/extensions/feishu/dist/src/policy.js +61 -0
- package/extensions/feishu/dist/src/policy.js.map +1 -0
- package/extensions/feishu/dist/src/probe.d.ts +4 -0
- package/extensions/feishu/dist/src/probe.d.ts.map +1 -0
- package/extensions/feishu/dist/src/probe.js +41 -0
- package/extensions/feishu/dist/src/probe.js.map +1 -0
- package/extensions/feishu/dist/src/reactions.d.ts +66 -0
- package/extensions/feishu/dist/src/reactions.d.ts.map +1 -0
- package/extensions/feishu/dist/src/reactions.js +104 -0
- package/extensions/feishu/dist/src/reactions.js.map +1 -0
- package/extensions/feishu/dist/src/reply-dispatcher.d.ts +41 -0
- package/extensions/feishu/dist/src/reply-dispatcher.d.ts.map +1 -0
- package/extensions/feishu/dist/src/reply-dispatcher.js +265 -0
- package/extensions/feishu/dist/src/reply-dispatcher.js.map +1 -0
- package/extensions/feishu/dist/src/runtime.d.ts +4 -0
- package/extensions/feishu/dist/src/runtime.d.ts.map +1 -0
- package/extensions/feishu/dist/src/runtime.js +11 -0
- package/extensions/feishu/dist/src/runtime.js.map +1 -0
- package/extensions/feishu/dist/src/send.d.ts +76 -0
- package/extensions/feishu/dist/src/send.d.ts.map +1 -0
- package/extensions/feishu/dist/src/send.js +250 -0
- package/extensions/feishu/dist/src/send.js.map +1 -0
- package/extensions/feishu/dist/src/sheets-schema.d.ts +24 -0
- package/extensions/feishu/dist/src/sheets-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/sheets-schema.js +42 -0
- package/extensions/feishu/dist/src/sheets-schema.js.map +1 -0
- package/extensions/feishu/dist/src/sheets.d.ts +76 -0
- package/extensions/feishu/dist/src/sheets.d.ts.map +1 -0
- package/extensions/feishu/dist/src/sheets.js +199 -0
- package/extensions/feishu/dist/src/sheets.js.map +1 -0
- package/extensions/feishu/dist/src/streaming-card.d.ts +29 -0
- package/extensions/feishu/dist/src/streaming-card.d.ts.map +1 -0
- package/extensions/feishu/dist/src/streaming-card.js +192 -0
- package/extensions/feishu/dist/src/streaming-card.js.map +1 -0
- package/extensions/feishu/dist/src/targets.d.ts +7 -0
- package/extensions/feishu/dist/src/targets.d.ts.map +1 -0
- package/extensions/feishu/dist/src/targets.js +70 -0
- package/extensions/feishu/dist/src/targets.js.map +1 -0
- package/extensions/feishu/dist/src/task-schema.d.ts +38 -0
- package/extensions/feishu/dist/src/task-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/task-schema.js +74 -0
- package/extensions/feishu/dist/src/task-schema.js.map +1 -0
- package/extensions/feishu/dist/src/task.d.ts +1562 -0
- package/extensions/feishu/dist/src/task.d.ts.map +1 -0
- package/extensions/feishu/dist/src/task.js +280 -0
- package/extensions/feishu/dist/src/task.js.map +1 -0
- package/extensions/feishu/dist/src/tools-config.d.ts +12 -0
- package/extensions/feishu/dist/src/tools-config.d.ts.map +1 -0
- package/extensions/feishu/dist/src/tools-config.js +24 -0
- package/extensions/feishu/dist/src/tools-config.js.map +1 -0
- package/extensions/feishu/dist/src/types.d.ts +74 -0
- package/extensions/feishu/dist/src/types.d.ts.map +1 -0
- package/extensions/feishu/dist/src/types.js +2 -0
- package/extensions/feishu/dist/src/types.js.map +1 -0
- package/extensions/feishu/dist/src/typing.d.ts +22 -0
- package/extensions/feishu/dist/src/typing.d.ts.map +1 -0
- package/extensions/feishu/dist/src/typing.js +60 -0
- package/extensions/feishu/dist/src/typing.js.map +1 -0
- package/extensions/feishu/dist/src/wiki-schema.d.ts +34 -0
- package/extensions/feishu/dist/src/wiki-schema.d.ts.map +1 -0
- package/extensions/feishu/dist/src/wiki-schema.js +43 -0
- package/extensions/feishu/dist/src/wiki-schema.js.map +1 -0
- package/extensions/feishu/dist/src/wiki.d.ts +3 -0
- package/extensions/feishu/dist/src/wiki.d.ts.map +1 -0
- package/extensions/feishu/dist/src/wiki.js +176 -0
- package/extensions/feishu/dist/src/wiki.js.map +1 -0
- package/extensions/feishu/openclaw.plugin.json +9 -0
- package/extensions/feishu/package.json +79 -0
- package/extensions/google-antigravity-auth/README.md +24 -0
- package/extensions/google-antigravity-auth/index.ts +437 -0
- package/extensions/google-antigravity-auth/openclaw.plugin.json +11 -0
- package/extensions/google-antigravity-auth/package.json +11 -0
- package/extensions/google-gemini-cli-auth/README.md +35 -0
- package/extensions/google-gemini-cli-auth/index.ts +91 -0
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +580 -0
- package/extensions/google-gemini-cli-auth/openclaw.plugin.json +11 -0
- package/extensions/google-gemini-cli-auth/package.json +11 -0
- package/extensions/googlechat/index.ts +20 -0
- package/extensions/googlechat/openclaw.plugin.json +11 -0
- package/extensions/googlechat/package.json +39 -0
- package/extensions/googlechat/src/accounts.ts +133 -0
- package/extensions/googlechat/src/actions.ts +162 -0
- package/extensions/googlechat/src/api.test.ts +62 -0
- package/extensions/googlechat/src/api.ts +259 -0
- package/extensions/googlechat/src/auth.ts +113 -0
- package/extensions/googlechat/src/channel.ts +580 -0
- package/extensions/googlechat/src/monitor.test.ts +27 -0
- package/extensions/googlechat/src/monitor.ts +960 -0
- package/extensions/googlechat/src/onboarding.ts +278 -0
- package/extensions/googlechat/src/runtime.ts +14 -0
- package/extensions/googlechat/src/targets.test.ts +35 -0
- package/extensions/googlechat/src/targets.ts +55 -0
- package/extensions/googlechat/src/types.config.ts +3 -0
- package/extensions/googlechat/src/types.ts +73 -0
- package/extensions/imessage/index.ts +18 -0
- package/extensions/imessage/openclaw.plugin.json +11 -0
- package/extensions/imessage/package.json +11 -0
- package/extensions/imessage/src/channel.ts +294 -0
- package/extensions/imessage/src/runtime.ts +14 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/openclaw.plugin.json +11 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +781 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +97 -0
- package/extensions/llm-task/index.ts +7 -0
- package/extensions/llm-task/openclaw.plugin.json +21 -0
- package/extensions/llm-task/package.json +11 -0
- package/extensions/llm-task/src/llm-task-tool.test.ts +117 -0
- package/extensions/llm-task/src/llm-task-tool.ts +218 -0
- package/extensions/lobster/README.md +80 -0
- package/extensions/lobster/SKILL.md +90 -0
- package/extensions/lobster/index.ts +13 -0
- package/extensions/lobster/openclaw.plugin.json +10 -0
- package/extensions/lobster/package.json +11 -0
- package/extensions/lobster/src/lobster-tool.test.ts +123 -0
- package/extensions/lobster/src/lobster-tool.ts +222 -0
- package/extensions/matrix/CHANGELOG.md +117 -0
- package/extensions/matrix/index.ts +18 -0
- package/extensions/matrix/openclaw.plugin.json +11 -0
- package/extensions/matrix/package.json +36 -0
- package/extensions/matrix/src/actions.ts +185 -0
- package/extensions/matrix/src/channel.directory.test.ts +56 -0
- package/extensions/matrix/src/channel.ts +417 -0
- package/extensions/matrix/src/config-schema.ts +63 -0
- package/extensions/matrix/src/directory-live.ts +175 -0
- package/extensions/matrix/src/group-mentions.ts +61 -0
- package/extensions/matrix/src/matrix/accounts.test.ts +83 -0
- package/extensions/matrix/src/matrix/accounts.ts +63 -0
- package/extensions/matrix/src/matrix/actions/client.ts +53 -0
- package/extensions/matrix/src/matrix/actions/messages.ts +120 -0
- package/extensions/matrix/src/matrix/actions/pins.ts +70 -0
- package/extensions/matrix/src/matrix/actions/reactions.ts +84 -0
- package/extensions/matrix/src/matrix/actions/room.ts +88 -0
- package/extensions/matrix/src/matrix/actions/summary.ts +77 -0
- package/extensions/matrix/src/matrix/actions/types.ts +84 -0
- package/extensions/matrix/src/matrix/actions.ts +15 -0
- package/extensions/matrix/src/matrix/active-client.ts +11 -0
- package/extensions/matrix/src/matrix/client/config.ts +165 -0
- package/extensions/matrix/src/matrix/client/create-client.ts +127 -0
- package/extensions/matrix/src/matrix/client/logging.ts +35 -0
- package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
- package/extensions/matrix/src/matrix/client/shared.ts +169 -0
- package/extensions/matrix/src/matrix/client/storage.ts +131 -0
- package/extensions/matrix/src/matrix/client/types.ts +34 -0
- package/extensions/matrix/src/matrix/client.test.ts +57 -0
- package/extensions/matrix/src/matrix/client.ts +9 -0
- package/extensions/matrix/src/matrix/credentials.ts +103 -0
- package/extensions/matrix/src/matrix/deps.ts +137 -0
- package/extensions/matrix/src/matrix/format.test.ts +34 -0
- package/extensions/matrix/src/matrix/format.ts +22 -0
- package/extensions/matrix/src/matrix/index.ts +11 -0
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +68 -0
- package/extensions/matrix/src/matrix/monitor/direct.ts +105 -0
- package/extensions/matrix/src/matrix/monitor/events.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/handler.ts +649 -0
- package/extensions/matrix/src/matrix/monitor/index.ts +279 -0
- package/extensions/matrix/src/matrix/monitor/location.ts +83 -0
- package/extensions/matrix/src/matrix/monitor/media.test.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/media.ts +113 -0
- package/extensions/matrix/src/matrix/monitor/mentions.ts +31 -0
- package/extensions/matrix/src/matrix/monitor/replies.ts +96 -0
- package/extensions/matrix/src/matrix/monitor/room-info.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/rooms.ts +43 -0
- package/extensions/matrix/src/matrix/monitor/threads.ts +64 -0
- package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
- package/extensions/matrix/src/matrix/poll-types.test.ts +22 -0
- package/extensions/matrix/src/matrix/poll-types.ts +157 -0
- package/extensions/matrix/src/matrix/probe.ts +70 -0
- package/extensions/matrix/src/matrix/send/client.ts +63 -0
- package/extensions/matrix/src/matrix/send/formatting.ts +92 -0
- package/extensions/matrix/src/matrix/send/media.ts +220 -0
- package/extensions/matrix/src/matrix/send/targets.test.ts +102 -0
- package/extensions/matrix/src/matrix/send/targets.ts +144 -0
- package/extensions/matrix/src/matrix/send/types.ts +109 -0
- package/extensions/matrix/src/matrix/send.test.ts +236 -0
- package/extensions/matrix/src/matrix/send.ts +255 -0
- package/extensions/matrix/src/onboarding.ts +432 -0
- package/extensions/matrix/src/outbound.ts +53 -0
- package/extensions/matrix/src/resolve-targets.ts +89 -0
- package/extensions/matrix/src/runtime.ts +14 -0
- package/extensions/matrix/src/tool-actions.ts +160 -0
- package/extensions/matrix/src/types.ts +97 -0
- package/extensions/mattermost/index.ts +18 -0
- package/extensions/mattermost/openclaw.plugin.json +11 -0
- package/extensions/mattermost/package.json +25 -0
- package/extensions/mattermost/src/channel.test.ts +67 -0
- package/extensions/mattermost/src/channel.ts +339 -0
- package/extensions/mattermost/src/config-schema.ts +57 -0
- package/extensions/mattermost/src/group-mentions.ts +14 -0
- package/extensions/mattermost/src/mattermost/accounts.ts +115 -0
- package/extensions/mattermost/src/mattermost/client.ts +208 -0
- package/extensions/mattermost/src/mattermost/index.ts +9 -0
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +150 -0
- package/extensions/mattermost/src/mattermost/monitor.ts +925 -0
- package/extensions/mattermost/src/mattermost/probe.ts +70 -0
- package/extensions/mattermost/src/mattermost/send.ts +217 -0
- package/extensions/mattermost/src/normalize.ts +38 -0
- package/extensions/mattermost/src/onboarding-helpers.ts +42 -0
- package/extensions/mattermost/src/onboarding.ts +187 -0
- package/extensions/mattermost/src/runtime.ts +14 -0
- package/extensions/mattermost/src/types.ts +52 -0
- package/extensions/memory-core/index.ts +36 -0
- package/extensions/memory-core/openclaw.plugin.json +9 -0
- package/extensions/memory-core/package.json +14 -0
- package/extensions/memory-lancedb/config.ts +219 -0
- package/extensions/memory-lancedb/index.test.ts +371 -0
- package/extensions/memory-lancedb/index.ts +872 -0
- package/extensions/memory-lancedb/openclaw.plugin.json +87 -0
- package/extensions/memory-lancedb/package.json +16 -0
- package/extensions/minimax-portal-auth/README.md +33 -0
- package/extensions/minimax-portal-auth/index.ts +180 -0
- package/extensions/minimax-portal-auth/oauth.ts +251 -0
- package/extensions/minimax-portal-auth/openclaw.plugin.json +11 -0
- package/extensions/minimax-portal-auth/package.json +11 -0
- package/extensions/msteams/CHANGELOG.md +113 -0
- package/extensions/msteams/index.ts +18 -0
- package/extensions/msteams/openclaw.plugin.json +11 -0
- package/extensions/msteams/package.json +36 -0
- package/extensions/msteams/src/attachments/download.ts +206 -0
- package/extensions/msteams/src/attachments/graph.ts +319 -0
- package/extensions/msteams/src/attachments/html.ts +76 -0
- package/extensions/msteams/src/attachments/payload.ts +22 -0
- package/extensions/msteams/src/attachments/shared.ts +235 -0
- package/extensions/msteams/src/attachments/types.ts +37 -0
- package/extensions/msteams/src/attachments.test.ts +424 -0
- package/extensions/msteams/src/attachments.ts +18 -0
- package/extensions/msteams/src/channel.directory.test.ts +46 -0
- package/extensions/msteams/src/channel.ts +436 -0
- package/extensions/msteams/src/conversation-store-fs.test.ts +88 -0
- package/extensions/msteams/src/conversation-store-fs.ts +155 -0
- package/extensions/msteams/src/conversation-store-memory.ts +45 -0
- package/extensions/msteams/src/conversation-store.ts +41 -0
- package/extensions/msteams/src/directory-live.ts +179 -0
- package/extensions/msteams/src/errors.test.ts +46 -0
- package/extensions/msteams/src/errors.ts +158 -0
- package/extensions/msteams/src/file-consent-helpers.test.ts +234 -0
- package/extensions/msteams/src/file-consent-helpers.ts +73 -0
- package/extensions/msteams/src/file-consent.ts +122 -0
- package/extensions/msteams/src/graph-chat.ts +52 -0
- package/extensions/msteams/src/graph-upload.ts +445 -0
- package/extensions/msteams/src/inbound.test.ts +67 -0
- package/extensions/msteams/src/inbound.ts +38 -0
- package/extensions/msteams/src/index.ts +4 -0
- package/extensions/msteams/src/media-helpers.test.ts +186 -0
- package/extensions/msteams/src/media-helpers.ts +77 -0
- package/extensions/msteams/src/messenger.test.ts +245 -0
- package/extensions/msteams/src/messenger.ts +460 -0
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +123 -0
- package/extensions/msteams/src/monitor-handler/message-handler.ts +630 -0
- package/extensions/msteams/src/monitor-handler.ts +166 -0
- package/extensions/msteams/src/monitor-types.ts +5 -0
- package/extensions/msteams/src/monitor.ts +290 -0
- package/extensions/msteams/src/onboarding.ts +432 -0
- package/extensions/msteams/src/outbound.ts +47 -0
- package/extensions/msteams/src/pending-uploads.ts +87 -0
- package/extensions/msteams/src/policy.test.ts +210 -0
- package/extensions/msteams/src/policy.ts +202 -0
- package/extensions/msteams/src/polls-store-memory.ts +30 -0
- package/extensions/msteams/src/polls-store.test.ts +40 -0
- package/extensions/msteams/src/polls.test.ts +72 -0
- package/extensions/msteams/src/polls.ts +299 -0
- package/extensions/msteams/src/probe.test.ts +57 -0
- package/extensions/msteams/src/probe.ts +99 -0
- package/extensions/msteams/src/reply-dispatcher.ts +130 -0
- package/extensions/msteams/src/resolve-allowlist.ts +277 -0
- package/extensions/msteams/src/runtime.ts +14 -0
- package/extensions/msteams/src/sdk-types.ts +19 -0
- package/extensions/msteams/src/sdk.ts +33 -0
- package/extensions/msteams/src/send-context.ts +156 -0
- package/extensions/msteams/src/send.ts +489 -0
- package/extensions/msteams/src/sent-message-cache.test.ts +16 -0
- package/extensions/msteams/src/sent-message-cache.ts +41 -0
- package/extensions/msteams/src/storage.ts +22 -0
- package/extensions/msteams/src/store-fs.ts +80 -0
- package/extensions/msteams/src/token.ts +19 -0
- package/extensions/nextcloud-talk/index.ts +18 -0
- package/extensions/nextcloud-talk/openclaw.plugin.json +11 -0
- package/extensions/nextcloud-talk/package.json +30 -0
- package/extensions/nextcloud-talk/src/accounts.ts +154 -0
- package/extensions/nextcloud-talk/src/channel.ts +404 -0
- package/extensions/nextcloud-talk/src/config-schema.ts +79 -0
- package/extensions/nextcloud-talk/src/format.ts +79 -0
- package/extensions/nextcloud-talk/src/inbound.ts +346 -0
- package/extensions/nextcloud-talk/src/monitor.ts +246 -0
- package/extensions/nextcloud-talk/src/normalize.ts +31 -0
- package/extensions/nextcloud-talk/src/onboarding.ts +341 -0
- package/extensions/nextcloud-talk/src/policy.ts +175 -0
- package/extensions/nextcloud-talk/src/room-info.ts +111 -0
- package/extensions/nextcloud-talk/src/runtime.ts +14 -0
- package/extensions/nextcloud-talk/src/send.ts +206 -0
- package/extensions/nextcloud-talk/src/signature.ts +67 -0
- package/extensions/nextcloud-talk/src/types.ts +181 -0
- package/extensions/nostr/CHANGELOG.md +104 -0
- package/extensions/nostr/README.md +136 -0
- package/extensions/nostr/index.ts +69 -0
- package/extensions/nostr/openclaw.plugin.json +11 -0
- package/extensions/nostr/package.json +31 -0
- package/extensions/nostr/src/channel.test.ts +141 -0
- package/extensions/nostr/src/channel.ts +342 -0
- package/extensions/nostr/src/config-schema.ts +90 -0
- package/extensions/nostr/src/metrics.ts +464 -0
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +544 -0
- package/extensions/nostr/src/nostr-bus.integration.test.ts +452 -0
- package/extensions/nostr/src/nostr-bus.test.ts +199 -0
- package/extensions/nostr/src/nostr-bus.ts +741 -0
- package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
- package/extensions/nostr/src/nostr-profile-http.ts +500 -0
- package/extensions/nostr/src/nostr-profile-import.test.ts +120 -0
- package/extensions/nostr/src/nostr-profile-import.ts +259 -0
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +479 -0
- package/extensions/nostr/src/nostr-profile.test.ts +410 -0
- package/extensions/nostr/src/nostr-profile.ts +242 -0
- package/extensions/nostr/src/nostr-state-store.test.ts +128 -0
- package/extensions/nostr/src/nostr-state-store.ts +226 -0
- package/extensions/nostr/src/runtime.ts +14 -0
- package/extensions/nostr/src/seen-tracker.ts +271 -0
- package/extensions/nostr/src/types.test.ts +161 -0
- package/extensions/nostr/src/types.ts +99 -0
- package/extensions/open-prose/README.md +25 -0
- package/extensions/open-prose/index.ts +5 -0
- package/extensions/open-prose/openclaw.plugin.json +11 -0
- package/extensions/open-prose/package.json +11 -0
- package/extensions/qwen-portal-auth/README.md +24 -0
- package/extensions/qwen-portal-auth/index.ts +127 -0
- package/extensions/qwen-portal-auth/oauth.ts +190 -0
- package/extensions/qwen-portal-auth/openclaw.plugin.json +11 -0
- package/extensions/signal/index.ts +18 -0
- package/extensions/signal/openclaw.plugin.json +11 -0
- package/extensions/signal/package.json +11 -0
- package/extensions/signal/src/channel.ts +312 -0
- package/extensions/signal/src/runtime.ts +14 -0
- package/extensions/slack/index.ts +18 -0
- package/extensions/slack/openclaw.plugin.json +11 -0
- package/extensions/slack/package.json +11 -0
- package/extensions/slack/src/channel.ts +577 -0
- package/extensions/slack/src/runtime.ts +14 -0
- package/extensions/telegram/index.ts +18 -0
- package/extensions/telegram/openclaw.plugin.json +11 -0
- package/extensions/telegram/package.json +11 -0
- package/extensions/telegram/src/channel.test.ts +125 -0
- package/extensions/telegram/src/channel.ts +554 -0
- package/extensions/telegram/src/runtime.ts +14 -0
- package/extensions/thread-ownership/index.test.ts +180 -0
- package/extensions/thread-ownership/index.ts +133 -0
- package/extensions/thread-ownership/openclaw.plugin.json +28 -0
- package/extensions/tlon/README.md +5 -0
- package/extensions/tlon/index.ts +18 -0
- package/extensions/tlon/openclaw.plugin.json +11 -0
- package/extensions/tlon/package.json +30 -0
- package/extensions/tlon/src/channel.ts +379 -0
- package/extensions/tlon/src/config-schema.test.ts +32 -0
- package/extensions/tlon/src/config-schema.ts +45 -0
- package/extensions/tlon/src/monitor/discovery.ts +71 -0
- package/extensions/tlon/src/monitor/history.ts +87 -0
- package/extensions/tlon/src/monitor/index.ts +580 -0
- package/extensions/tlon/src/monitor/processed-messages.test.ts +24 -0
- package/extensions/tlon/src/monitor/processed-messages.ts +38 -0
- package/extensions/tlon/src/monitor/utils.ts +83 -0
- package/extensions/tlon/src/onboarding.ts +213 -0
- package/extensions/tlon/src/runtime.ts +14 -0
- package/extensions/tlon/src/targets.ts +79 -0
- package/extensions/tlon/src/types.ts +85 -0
- package/extensions/tlon/src/urbit/auth.ts +18 -0
- package/extensions/tlon/src/urbit/http-api.ts +36 -0
- package/extensions/tlon/src/urbit/send.test.ts +38 -0
- package/extensions/tlon/src/urbit/send.ts +127 -0
- package/extensions/tlon/src/urbit/sse-client.test.ts +41 -0
- package/extensions/tlon/src/urbit/sse-client.ts +367 -0
- package/extensions/voice-call/CHANGELOG.md +132 -0
- package/extensions/voice-call/README.md +140 -0
- package/extensions/voice-call/index.ts +497 -0
- package/extensions/voice-call/openclaw.plugin.json +601 -0
- package/extensions/voice-call/package.json +16 -0
- package/extensions/voice-call/src/cli.ts +300 -0
- package/extensions/voice-call/src/config.test.ts +247 -0
- package/extensions/voice-call/src/config.ts +522 -0
- package/extensions/voice-call/src/core-bridge.ts +196 -0
- package/extensions/voice-call/src/manager/context.ts +21 -0
- package/extensions/voice-call/src/manager/events.ts +177 -0
- package/extensions/voice-call/src/manager/lookup.ts +33 -0
- package/extensions/voice-call/src/manager/outbound.ts +248 -0
- package/extensions/voice-call/src/manager/state.ts +50 -0
- package/extensions/voice-call/src/manager/store.ts +88 -0
- package/extensions/voice-call/src/manager/timers.ts +86 -0
- package/extensions/voice-call/src/manager/twiml.ts +9 -0
- package/extensions/voice-call/src/manager.test.ts +108 -0
- package/extensions/voice-call/src/manager.ts +876 -0
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +393 -0
- package/extensions/voice-call/src/providers/base.ts +67 -0
- package/extensions/voice-call/src/providers/index.ts +10 -0
- package/extensions/voice-call/src/providers/mock.ts +168 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +28 -0
- package/extensions/voice-call/src/providers/plivo.ts +504 -0
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
- package/extensions/voice-call/src/providers/telnyx.test.ts +47 -0
- package/extensions/voice-call/src/providers/telnyx.ts +372 -0
- package/extensions/voice-call/src/providers/tts-openai.ts +264 -0
- package/extensions/voice-call/src/providers/twilio/api.ts +45 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +29 -0
- package/extensions/voice-call/src/providers/twilio.test.ts +64 -0
- package/extensions/voice-call/src/providers/twilio.ts +595 -0
- package/extensions/voice-call/src/response-generator.ts +171 -0
- package/extensions/voice-call/src/runtime.ts +211 -0
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- package/extensions/voice-call/src/tunnel.ts +331 -0
- package/extensions/voice-call/src/types.ts +272 -0
- package/extensions/voice-call/src/utils.ts +12 -0
- package/extensions/voice-call/src/voice-mapping.ts +65 -0
- package/extensions/voice-call/src/webhook-security.test.ts +409 -0
- package/extensions/voice-call/src/webhook-security.ts +683 -0
- package/extensions/voice-call/src/webhook.ts +490 -0
- package/extensions/whatsapp/index.ts +18 -0
- package/extensions/whatsapp/openclaw.plugin.json +11 -0
- package/extensions/whatsapp/package.json +11 -0
- package/extensions/whatsapp/src/channel.ts +500 -0
- package/extensions/whatsapp/src/runtime.ts +14 -0
- package/extensions/zalo/CHANGELOG.md +113 -0
- package/extensions/zalo/README.md +50 -0
- package/extensions/zalo/index.ts +20 -0
- package/extensions/zalo/openclaw.plugin.json +11 -0
- package/extensions/zalo/package.json +33 -0
- package/extensions/zalo/src/accounts.ts +71 -0
- package/extensions/zalo/src/actions.ts +62 -0
- package/extensions/zalo/src/api.ts +206 -0
- package/extensions/zalo/src/channel.directory.test.ts +35 -0
- package/extensions/zalo/src/channel.ts +394 -0
- package/extensions/zalo/src/config-schema.ts +25 -0
- package/extensions/zalo/src/monitor.ts +883 -0
- package/extensions/zalo/src/monitor.webhook.test.ts +243 -0
- package/extensions/zalo/src/onboarding.ts +405 -0
- package/extensions/zalo/src/probe.ts +46 -0
- package/extensions/zalo/src/proxy.ts +18 -0
- package/extensions/zalo/src/runtime.ts +14 -0
- package/extensions/zalo/src/send.ts +117 -0
- package/extensions/zalo/src/status-issues.ts +50 -0
- package/extensions/zalo/src/token.ts +55 -0
- package/extensions/zalo/src/types.ts +44 -0
- package/extensions/zalouser/CHANGELOG.md +91 -0
- package/extensions/zalouser/README.md +221 -0
- package/extensions/zalouser/index.ts +32 -0
- package/extensions/zalouser/openclaw.plugin.json +11 -0
- package/extensions/zalouser/package.json +33 -0
- package/extensions/zalouser/src/accounts.ts +117 -0
- package/extensions/zalouser/src/channel.test.ts +17 -0
- package/extensions/zalouser/src/channel.ts +641 -0
- package/extensions/zalouser/src/config-schema.ts +28 -0
- package/extensions/zalouser/src/monitor.ts +601 -0
- package/extensions/zalouser/src/onboarding.ts +488 -0
- package/extensions/zalouser/src/probe.ts +28 -0
- package/extensions/zalouser/src/runtime.ts +14 -0
- package/extensions/zalouser/src/send.ts +150 -0
- package/extensions/zalouser/src/status-issues.test.ts +58 -0
- package/extensions/zalouser/src/status-issues.ts +81 -0
- package/extensions/zalouser/src/tool.ts +156 -0
- package/extensions/zalouser/src/types.ts +104 -0
- package/extensions/zalouser/src/zca.ts +208 -0
- package/git-hooks/pre-commit +49 -0
- package/package.json +306 -0
- package/patches/.gitkeep +0 -0
- package/patches/@mariozechner__pi-ai.patch +30 -0
- package/scripts/format-staged.js +148 -0
- package/scripts/postinstall.js +326 -0
- package/scripts/setup-git-hooks.js +96 -0
- package/skills/1password/SKILL.md +53 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +197 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/bluebubbles/SKILL.md +39 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/canvas/SKILL.md +189 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +278 -0
- package/skills/discord/SKILL.md +160 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +48 -0
- package/skills/gog/SKILL.md +92 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/himalaya/SKILL.md +217 -0
- package/skills/himalaya/references/configuration.md +174 -0
- package/skills/himalaya/references/message-composition.md +182 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/openai-image-gen/SKILL.md +71 -0
- package/skills/openai-image-gen/scripts/gen.py +240 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/session-logs/SKILL.md +105 -0
- package/skills/sherpa-onnx-tts/SKILL.md +49 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +371 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +111 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +67 -0
- package/skills/things-mac/SKILL.md +62 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +35 -0
- package/skills/wacli/SKILL.md +42 -0
- package/skills/weather/SKILL.md +49 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,1761 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Docs: https://clawd.org.cn/
|
|
4
|
+
|
|
5
|
+
## 0.1.7
|
|
6
|
+
|
|
7
|
+
- **飞书能力增强**:新增 IM/任务/日历/表格工具与持久化命令队列恢复(#447,感谢 @dragonforce2010)
|
|
8
|
+
- **Doubao Embedding Provider**:Memory LanceDB 新增 Doubao 向量模型支持(#448,感谢 @yanghua)
|
|
9
|
+
- **Coding Plan 支持**:新增阿里云百炼 Coding Plan 选项,支持 OpenAI/Anthropic 兼容协议
|
|
10
|
+
- **技能加载安全钩子修复**:before_skills_load 处理安全阻断与配置一致性修复(#452,感谢 @qqdxyg)
|
|
11
|
+
- **Memory LanceDB 云存储支持**:新增 `storageOptions` 配置项,支持 S3/GCS 等云对象存储后端(#454,感谢 @ddupg)
|
|
12
|
+
|
|
13
|
+
### bug修复
|
|
14
|
+
|
|
15
|
+
- **OTEL 诊断导出修复**:更新 OTEL 导出协议与指标/trace 统计,完善诊断事件处理(#324,感谢 @Ronald-Kong99)
|
|
16
|
+
- **Control UI 配置保存与回显修复**:修复 `config.set` 写入时的 redaction 恢复逻辑导致的保存失败,并修复代理模型下拉框不回显已保存模型的问题
|
|
17
|
+
|
|
18
|
+
## 0.1.7
|
|
19
|
+
|
|
20
|
+
> 🔒 **安全加固**:同步上游 v2026.2.19→v2026.2.21 安全补丁(security-part3 P0)
|
|
21
|
+
|
|
22
|
+
### 🔒 安全修复
|
|
23
|
+
|
|
24
|
+
- **BlueBubbles/Security**:要求所有 BlueBubbles webhook 请求进行 token 认证,移除 loopback/本地代理的免密码访问回退行为(上游 commit `6b2f2811dc62`)
|
|
25
|
+
- **Security/Exec**:阻断 shell 启动文件环境注入(`BASH_ENV`、`ENV`、`BASH_FUNC_*`、`LD_*`、`DYLD_*` 等),在 config env 摄入、node-host 继承环境清理和 macOS exec 宿主运行时三处统一拦截,防止攻击者通过环境变量触发预命令执行(上游 commit `2cdbadee1f8f`)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
> 🆕 **重要功能**:新增 GLM-5 模型支持,完善 Z.AI Provider 集成
|
|
29
|
+
> 🐛 **关键修复**:修复 Context 显示、压缩功能、浏览器控制等核心问题
|
|
30
|
+
> 🔧 **开发体验**:改进 macOS pre-commit hook 兼容性,修复 CI/CD 发布流程
|
|
31
|
+
> 🔒 **安全加固**:移除 Canvas 端点共享 IP 回退,强制要求 Token 或会话能力
|
|
32
|
+
> 📡 **上游同步**:同步上游 v2026.2.17 → v2026.2.21 更新
|
|
33
|
+
|
|
34
|
+
### 🔒 安全加固
|
|
35
|
+
|
|
36
|
+
- **Gateway/安全**:移除 Canvas 端点的共享 IP 回退机制,要求提供 Token 或会话能力方可访问 Canvas。感谢 @thewilloftheshadow。(upstream v2026.2.21)
|
|
37
|
+
|
|
38
|
+
### ✨ 新增功能
|
|
39
|
+
|
|
40
|
+
- **GLM-5 模型支持**:新增 GLM-5 模型配置和 Z.AI Provider 完整集成
|
|
41
|
+
- 支持 200K 上下文窗口,128K 最大输出 token
|
|
42
|
+
- 支持 reasoning 模式(深度思考)
|
|
43
|
+
- 更新 UI 标签为 "Z.AI (GLM-5)"
|
|
44
|
+
- 更新文档(zai.md、glm.md)
|
|
45
|
+
|
|
46
|
+
### 🔒 安全加固
|
|
47
|
+
|
|
48
|
+
- **Security/Hooks**: 对 `openclaw.hooks` 和 `openclaw.extensions` 插件包条目强制路径包含检查(lexical + symlink realpath),防止路径遍历和符号链接逃逸攻击
|
|
49
|
+
- **Security/Hooks**: Hook 加载器对通过符号链接逃逸 hook 目录的处理器文件进行拒绝,防止任意模块加载
|
|
50
|
+
- **Security/Plugins**: 插件发现层对所有 `openclaw.extensions` 条目强制路径包含验证,逃逸包目录的条目被拒绝
|
|
51
|
+
- **Security/Net**: SSRF 检查中对 IPv4 字面量使用严格的点分十进制解析,对不支持的遗留形式(八进制/十六进制/短格式/打包格式,如 `0177.0.0.1`、`127.1`、`2130706433`)执行失败关闭策略,防止 SSRF 绕过
|
|
52
|
+
- **Security/Gateway/Agents**: 通过集中式工具策略包装器及 `ownerOnly` 工具元数据强制仅限 owner 使用 `cron`、`gateway`、`whatsapp_login` 工具,防止非 owner DM 权限提升
|
|
53
|
+
|
|
54
|
+
### 🐛 Bug 修复
|
|
55
|
+
|
|
56
|
+
- **Security/BlueBubbles**: make parsed chat allowlist checks fail closed when `allowFrom` is empty, restoring expected `pairing`/`allowlist` DM gating for BlueBubbles and blocking unauthorized DM/reaction processing when no allowlist entries are configured. Thanks @tdjackey for reporting.
|
|
57
|
+
- **Security/iMessage**: make allowlist checks fail closed when `allowFrom` is empty (same fix as BlueBubbles). Thanks @tdjackey for reporting.
|
|
58
|
+
- **Security/Discord**: add `openclaw security audit` warnings for name/tag-based Discord allowlist entries (DM allowlists, guild/channel `users`, and pairing-store entries), highlighting slug-collision risk while keeping name-based matching supported. Thanks @tdjackey for reporting.
|
|
59
|
+
- **Context 显示修复**:修复 `/status` 命令显示 `Context: ?/200k` 的问题,现在会显示实际 token 使用量(如 `Context: 1.5k/200k (1%)`)
|
|
60
|
+
- 启用 `includeTranscriptUsage` 标志,从 session transcript 文件读取实际使用量
|
|
61
|
+
- **压缩功能修复**:修复 `/compact` 命令失败的问题(`systemPromptOverride is not a function`)
|
|
62
|
+
- 修正 `compactEmbeddedPiSession` 中的类型错误,将错误的函数调用改为字符串传递
|
|
63
|
+
- **浏览器控制修复**:修复 Agent 无法访问 gateway 浏览器控制服务的问题
|
|
64
|
+
- 使用 HTTP 协议替代 WebSocket 连接到浏览器控制端点
|
|
65
|
+
- **Pre-commit Hook 兼容性**:修复 VS Code 提交时报 `mapfile: command not found` 的问题
|
|
66
|
+
- 兼容 macOS 默认 Bash 3.2,使用 `while read` 循环替代 Bash 4+ 的 `mapfile` 命令
|
|
67
|
+
- 保持 NUL 分隔文件列表处理的安全性
|
|
68
|
+
|
|
69
|
+
### 🔧 CI/CD 改进
|
|
70
|
+
|
|
71
|
+
- **npm 发布标签修复**:修复测试版本(`-test`/`-beta`)错误发布到 `latest` 频道的问题
|
|
72
|
+
- 现在从 Git 标签名中提取版本号判断发布频道,而不是从 package.json
|
|
73
|
+
- 添加调试输出显示发布频道
|
|
74
|
+
|
|
75
|
+
### 🔒 安全更新
|
|
76
|
+
|
|
77
|
+
- **依赖安全加固**:将 `hono` 升级至 `4.11.10`,修复 `basicAuth`/`bearerAuth` 中的时序安全认证比较漏洞(`GHSA-gq3j-xvxp-8hrf`)。(上游:@vincentkoc)
|
|
78
|
+
|
|
79
|
+
### 📦 上游同步
|
|
80
|
+
|
|
81
|
+
- **v2026.2.21**:同步上游安全加固更新(Canvas 端点认证加固)
|
|
82
|
+
- **v2026.2.17**:同步上游核心稳定性更新
|
|
83
|
+
|
|
84
|
+
### 📝 文档更新
|
|
85
|
+
|
|
86
|
+
- 更新 GLM 和 Z.AI Provider 文档
|
|
87
|
+
- 完善模型配置和认证说明
|
|
88
|
+
|
|
89
|
+
## 0.1.5-fix.3
|
|
90
|
+
|
|
91
|
+
### 🐛 Bug 修复
|
|
92
|
+
|
|
93
|
+
- **图像 resize 日志优化**:将图像缩放日志改为单行格式,包含尺寸信息(upstream 414b996b0cbf)
|
|
94
|
+
- **图像工具 schema 兼容性修复**:将 image tool schema 从 Anthropic 不兼容的 union 类型改为显式的 `image`(单图)和 `images`(多图)参数,保持 schema 不使用 `anyOf`/`oneOf`/`allOf` 的同时支持多图分析(upstream 391796a3fb21)
|
|
95
|
+
|
|
96
|
+
### ✨ 功能改进
|
|
97
|
+
|
|
98
|
+
- **图像清理尺寸可配置**:新增 `agents.defaults.imageMaxDimensionPx` 配置项,允许自定义 transcript/tool 图像下采样的最大边长(默认 1200px)(upstream b05e89e5e605)
|
|
99
|
+
|
|
100
|
+
## 0.1.5-fix.3
|
|
101
|
+
|
|
102
|
+
### 🐛 Bug 修复
|
|
103
|
+
|
|
104
|
+
- **Telegram 命令名称规范化**:修复 Telegram 原生命令名称中的连字符导致 `BOT_COMMAND_INVALID` 错误的问题——现在自动将命令名称中的 `-` 转换为 `_`(例如 `export-session` → `export_session`),符合 Telegram Bot API 规范;同时改进命令同步失败时的错误日志输出(#19257,感谢 @akramcodez)
|
|
105
|
+
- **Config 对象数组合并增强**:强化 `config.patch` 中对象数组按 id 合并的回退处理逻辑,确保基础数组已完全按 id 索引时才启用合并,避免在混合 id 条目时发生不可预期的行为(#17989,感谢 @stakeswky 和 @sebslight)
|
|
106
|
+
- **Config 补丁数组保护**:防止 `config.patch` 在补丁条目缺少 id 时销毁整个数组——现在即使部分补丁条目缺少 id,也会将它们追加到数组末尾而非触发全量替换,避免部分 `agents.list` 更新误删无关 Agent(#18030,感谢 @stakeswky)
|
|
107
|
+
|
|
108
|
+
## 0.1.5-fix.2
|
|
109
|
+
|
|
110
|
+
### 🔒 安全修复
|
|
111
|
+
|
|
112
|
+
- **Windows 定时任务环境变量注入修复**:对生成 `gateway.cmd` 时的定时任务环境变量赋值进行转义和引号包裹(`set "KEY=VALUE"`),防止通过配置中的环境变量进行命令注入,将在下次 npm 发布中生效(upstream `8288702f51a3`,感谢 @tdjackey 报告)
|
|
113
|
+
- **Lobster (Windows) 安全修复**:移除启动 Lobster 包装器(`.cmd`/`.bat`)时的 shell 回退路径,改为显式 argv 执行与包装入口点解析,防止命令注入同时保持 Windows 包装器兼容性,将在下次 npm 发布中生效(upstream `cf6edc6d57e7`,感谢 @allsmog 报告)
|
|
114
|
+
- **IPv6 过渡地址 SSRF 绕过修复**:阻止通过 NAT64(`64:ff9b::/96`、`64:ff9b:1::/48`)、6to4(`2002::/16`)和 Teredo(`2001:0000::/32`)IPv6 过渡地址绕过 SSRF 防护,并在 IPv6 地址解析失败时默认拒绝(upstream `42d2a6188864`,感谢 @jackhax 报告)
|
|
115
|
+
- **Cron Webhook SSRF 出站防护**:使用 SSRF 安全出站请求(`fetchWithSsrFGuard`)保护 cron webhook POST 投递,阻止请求发往内网或元数据目标(upstream `35851cdaff42`,感谢 @Adam55A-code 报告)
|
|
116
|
+
|
|
117
|
+
### 🐛 Bug 修复
|
|
118
|
+
|
|
119
|
+
- **Session threadId 泄漏修复**:修复用户从 DM topic (thread) 切换到主 DM 时,stale `lastThreadId` 导致回复错误发送到旧 topic 的问题——非 thread session 现在正确地不继承历史 threadId(感谢上游 commit [`5f821ed`](https://github.com/openclaw/openclaw/commit/5f821ed06731e81002b69af329a151da4efdafa2))
|
|
120
|
+
- **Control UI 网关 Token 修复**:修复首次安装后打开带 Token 的仪表盘 URL 时,Token 未被持久化导致网关连接报 `unauthorized: gateway token missing (1008)` 的问题
|
|
121
|
+
- **MiniMax API Key 认证修复**:修复手动配置 MiniMax API Key 后认证失败的问题——向导错误地将 API Key 用户路由到仅接受 OAuth Token 的 Anthropic 兼容端点 (`api.minimax.io/anthropic`),现已切换到正确的 OpenAI 兼容端点 (`api.minimax.chat/v1`)
|
|
122
|
+
|
|
123
|
+
### 🔒 安全(Security)
|
|
124
|
+
|
|
125
|
+
- **飞书路径遍历加固**:防止飞书入站媒体临时文件写入中的路径遍历攻击,将密钥派生的临时文件名替换为基于 UUID 的名称。感谢 @allsmog 报告。(upstream `65a7fc6de7e9`)
|
|
126
|
+
|
|
127
|
+
### ✨ 功能改进
|
|
128
|
+
|
|
129
|
+
- **MiniMax 全模型支持**:隐式 Provider 和模型目录补全所有 MiniMax 模型(M2.5、M2.5-highspeed、M2.1-highspeed、M2)
|
|
130
|
+
- **iOS Talk 配置安全加固**:移植上游 iOS Talk 模式改进,支持在网关配置隐藏 API Key 时通过本地 Keychain 覆盖配置,提升隐私和安全性;增强 Talk 配置处理逻辑,忽略已隐藏的 API Key 和环境变量占位符;改进辅助功能支持(减少动画、高对比度、无障碍标签优化);收紧 ATS 策略从 `NSAllowsArbitraryLoadsInWebContent` 改为 `NSAllowsLocalNetworking`,仅允许本地网络访问 (upstream #18163)
|
|
131
|
+
|
|
132
|
+
## 0.1.5
|
|
133
|
+
|
|
134
|
+
> 🔒 **安全加固**:同步上游 77 项安全修复(P0-A + P0-B + P0-C + P0-D),覆盖 v2026.2.1 ~ v2026.2.15 全部安全补丁。
|
|
135
|
+
> 🐛 **关键 Bug 修复**:同步上游 50 项关键 Bug 修复(P1-A ~ P1-E),涵盖会话/网关/定时任务/心跳/内存/CJK/记忆搜索等核心稳定性问题。
|
|
136
|
+
> ✨ **核心功能同步**:同步上游 37 项核心功能改进(P2-A ~ P2-E),覆盖 Agent/会话管理、Cron 增强、Config 改进等。
|
|
137
|
+
> 🤖 **模型/Provider 支持**:同步上游 17 项模型与 Provider 支持(P3-A + P3-B),覆盖中国 Provider、新模型、国际 Provider 等。
|
|
138
|
+
> 📡 **频道 Bug 修复**:同步上游 47 项频道 Bug 修复(P4-A ~ P4-H),覆盖 Telegram/WhatsApp/Discord/Slack/Signal/飞书/Web UI/TUI 等全部通道。
|
|
139
|
+
|
|
140
|
+
### ✨ 本版本新增功能
|
|
141
|
+
|
|
142
|
+
- **QMD 记忆搜索系统**:新增 QMD(Quick Memory Documents)本地记忆搜索功能,支持将工作区文档建立向量索引并通过自然语言进行语义搜索;Agent 可在对话中自动检索相关记忆上下文,CLI 支持通过 `openclaw-cn memory search` 直接搜索
|
|
143
|
+
- **飞书默认关闭流式输出**:飞书频道默认关闭 `streaming` 和 `blockStreaming`,减少 API 请求消耗,降低飞书 API 配额压力
|
|
144
|
+
- **火山引擎引导修复**:修复 Volcengine 引导流程误用 Venice 配置导致的 401 认证错误和模型选择错误
|
|
145
|
+
- **飞书出站会话修复**:修复 Agent 通过 `message` 工具向同频道发送文件时,因 Feishu `oc_` 前缀歧义(同时用于群聊和单聊)创建多余会话的问题
|
|
146
|
+
|
|
147
|
+
### 🤖 模型 / Provider 支持(Model & Provider)
|
|
148
|
+
|
|
149
|
+
#### P3-A:中国相关 Provider
|
|
150
|
+
|
|
151
|
+
- **月之暗面 Moonshot**:Onboarding 新增 Moonshot (.cn) 认证选项 + China base URL(upstream #7180)
|
|
152
|
+
- **智谱 Z.AI**:新增 Z.AI 端点认证选项 + 模型目录(upstream #13456)
|
|
153
|
+
- **GLM-5**:新增 GLM-5 合成模型目录支持(upstream #15867)
|
|
154
|
+
- **MiniMax M2.5**:更新 MiniMax 默认模型到 M2.5(upstream #14865)
|
|
155
|
+
- **MiniMax Provider 修复**:将 MiniMax API-key provider 切换到 anthropic-messages(upstream #15297)
|
|
156
|
+
|
|
157
|
+
#### P3-B:国际 Provider
|
|
158
|
+
|
|
159
|
+
- **Claude Opus 4.6**:新增 Claude Opus 4.6 内置模型目录(upstream #9853)
|
|
160
|
+
- **Antigravity Opus 4.6**:Opus 4.6 前向兼容 + thinking 签名清理(upstream #14218)
|
|
161
|
+
- **gpt-5.3-codex**:新增 gpt-5.3-codex 严格回退(upstream #9995)
|
|
162
|
+
- **gpt-5.3-codex-spark**:新增 Codex Spark 前向兼容模型(upstream #14990, #15174)
|
|
163
|
+
- **Codex OAuth**:实现 Codex OAuth 登录流程(upstream #15406)
|
|
164
|
+
- **xAI Grok**:新增 xAI (Grok) Provider 支持(upstream #9885)
|
|
165
|
+
- **Hugging Face**:新增 Hugging Face Inference Provider(upstream #13472)
|
|
166
|
+
- **Cloudflare AI Gateway**:新增 Cloudflare AI Gateway Provider(upstream #7914)
|
|
167
|
+
- **HTTP 400 容错**:将 HTTP 400 视为 failover 可选状态(upstream #1879)
|
|
168
|
+
- **GitHub Copilot xhigh**:允许 github-copilot 模型使用 xhigh thinking(upstream #11646)
|
|
169
|
+
- **Ollama baseUrl**:使用配置的 baseUrl 进行 Ollama 模型发现(upstream #14131)
|
|
170
|
+
- **Ollama 原生流式**:新增 Ollama 原生 /api/chat 流式 + 工具调用 Provider(upstream #11853)
|
|
171
|
+
|
|
172
|
+
### ✨ 核心功能(Core Features)
|
|
173
|
+
|
|
174
|
+
#### P2-A:Agent / 会话管理
|
|
175
|
+
|
|
176
|
+
- **系统提示安全护栏**:增强 system prompt 安全检查(upstream #5445)
|
|
177
|
+
- **缓存保留重命名**:`cacheControlTtl` 重命名为 `cacheRetention`(upstream ba4a55f6d)
|
|
178
|
+
- **子代理默认 thinking**:为子代理设置默认 thinking 模式(upstream #7372)
|
|
179
|
+
- **会话历史限制**:限制 sessions_history 载荷大小(upstream #10000)
|
|
180
|
+
- **Agent 管理 RPC**:新增 agent 管理 RPC 方法(upstream #11045)
|
|
181
|
+
- **OPENCLAW_HOME 路径覆盖**:支持通过环境变量覆盖配置目录(upstream #12091)
|
|
182
|
+
- **Pre-prompt 上下文诊断**:增加 pre-prompt 上下文诊断信息(upstream #8930)
|
|
183
|
+
- **BOOTSTRAP.MD 部分工作区**:支持部分工作区 BOOTSTRAP.MD 引导(upstream #16457)
|
|
184
|
+
- **Tool 变更可见性**:保持未解决的变更工具失败可见(upstream #16131)
|
|
185
|
+
|
|
186
|
+
#### P2-B:Cron 增强
|
|
187
|
+
|
|
188
|
+
- **Announce 投递模式**:新增 announce 投递模式 + 增强作业配置(upstream 3f82daefd)
|
|
189
|
+
- **默认 announce + ISO 8601**:隔离作业默认使用 announce 投递 + ISO 8601 支持(upstream 0bb0dfc9b)
|
|
190
|
+
- **One-shot 清理**:成功后默认删除一次性作业(upstream ab9f06f4f)
|
|
191
|
+
- **deleteAfterRun**:honor deleteAfterRun + 排除 maxTokens 重编辑(upstream #13342)
|
|
192
|
+
- **Session 模型覆盖**:隔离 agent 运行时尊重 session 模型覆盖(upstream #14983)
|
|
193
|
+
|
|
194
|
+
#### P2-C:Config 改进
|
|
195
|
+
|
|
196
|
+
- **maxTokens 钳位**:将 maxTokens 钳位到 contextWindow(upstream #5516)
|
|
197
|
+
- **避免重编辑 maxTokens**:避免重编辑 maxTokens 类字段(upstream #14006)
|
|
198
|
+
- **忽略 meta 字段变更**:config watcher 忽略 meta 字段变更(upstream #13460)
|
|
199
|
+
- **保留环境变量引用**:写回 config 时保留 `${VAR}` 环境变量引用(upstream #11560)
|
|
200
|
+
- **接受 $schema**:根 config 接受 `$schema` 键(upstream #14998)
|
|
201
|
+
- **遗留音频迁移**:遗留音频转录配置迁移 + exec 审批提示修复(upstream #5042)
|
|
202
|
+
|
|
203
|
+
#### P2-D:其他核心功能
|
|
204
|
+
|
|
205
|
+
- **Agents 仪表板**:Web UI 新增 Agents 仪表板(upstream 2a68bcbeb)
|
|
206
|
+
- **per-channel responsePrefix**:支持每通道 responsePrefix 覆盖(upstream #9001)
|
|
207
|
+
- **Token 使用仪表板**:Web UI 新增 token 使用量仪表板(upstream #10072)
|
|
208
|
+
- **Voyage 嵌入**:文档化 Voyage embeddings + VOYAGE_API_KEY(upstream #7078)
|
|
209
|
+
- **压缩分隔符**:聊天历史中显示压缩分隔符(upstream #11341)
|
|
210
|
+
- **本地时间日志**:`logs` 命令新增 `--localTime` 选项(upstream #13818)
|
|
211
|
+
- **Cloudflare Markdown**:web_fetch 支持 Cloudflare Markdown for Agents(upstream #15376)
|
|
212
|
+
- **QAT 嵌入**:对齐 QAT 默认文档/测试(upstream #15429)
|
|
213
|
+
- **流式刷新**:段落边界上刷新 block streaming(upstream #7014)
|
|
214
|
+
|
|
215
|
+
### 🔒 安全(Security)
|
|
216
|
+
|
|
217
|
+
#### P0-A / P0-B(v2026.2.1 ~ v2026.2.13)
|
|
218
|
+
|
|
219
|
+
- **沙箱安全**:限制沙箱路径遍历、命令注入与进程逃逸(upstream #10531, #12803, #15269, #15325, #15336, #15399, #15410, #15536)
|
|
220
|
+
- **ACP 权限加固**:阻止高风险工具通过 HTTP `/tools/invoke` 调用,新增 `DANGEROUS_ACP_TOOLS` 集合与 `resolvePermissionRequest` 审批流(upstream #15390)
|
|
221
|
+
- **Canvas 认证**:限制 Canvas IP 认证仅允许私网/回环地址(upstream #14661)
|
|
222
|
+
- **浏览器路径约束**:约束浏览器 trace 和下载输出路径在安全根目录内(upstream #15652)
|
|
223
|
+
- **A2UI 文件安全**:使用 `openFileWithinRoot` 替代手动路径遍历检查(upstream #10525)
|
|
224
|
+
- **WhatsApp 凭证权限**:强制 WhatsApp 凭证文件使用 `0o600` 权限(upstream #10529)
|
|
225
|
+
- **WebSocket 日志清理**:清理 WebSocket 日志中的敏感 header 信息(upstream #15592)
|
|
226
|
+
- **审计区分**:区分 webhook 与内部 hook 的审计摘要(upstream #13474)
|
|
227
|
+
- **路由绑定作用域**:强制严格 binding-scope 匹配 + 角色路由支持(upstream #15274)
|
|
228
|
+
- **Exec 审批流程**:为 Agent 工具执行添加两阶段审批流程(upstream #4726)
|
|
229
|
+
- **Heredoc 白名单**:在允许列表安全模式下支持 heredoc 操作符(upstream #13811)
|
|
230
|
+
- **Hook 去重**:修复 embedded runtime 中 `before_tool_call` 重复触发问题(upstream #15635)
|
|
231
|
+
- **Tool-call ID 清理**:清理 OpenAI/Codex/Anthropic 的 tool-call ID 格式(upstream #15279)
|
|
232
|
+
- **链接理解 SSRF**:修复链接理解功能的 SSRF 漏洞(upstream #649826e)
|
|
233
|
+
- **安全审计**:新增 `doctor-security` 深度安全审计命令,检测 30+ 项安全配置(upstream #12803, #13129)
|
|
234
|
+
- **工具配置沙箱**:强制沙箱工具配置文件验证与默认安全策略(upstream #15536)
|
|
235
|
+
- **CSRF/认证**:加固 gateway HTTP 端点认证与 CSRF 防护(upstream #15399, #15410)
|
|
236
|
+
|
|
237
|
+
#### P0-C(v2026.2.14 安全批次)
|
|
238
|
+
|
|
239
|
+
- **Hook transform 限制**:限制 hook transform 函数的可用范围(upstream `a0361b8ba`)
|
|
240
|
+
- **Hook manifest 路径**:加固 hook manifest 路径验证(upstream `18e8bd68c`)
|
|
241
|
+
- **Hooks 加固**:强化 hooks 整体安全机制(upstream `35c0e66ed`)
|
|
242
|
+
- **Archive 提取限制**:限制 archive 提取的文件数量和大小(upstream `d3ee5deb8`)
|
|
243
|
+
- **媒体 Base64 拒绝**:拒绝超大 Base64 编码的媒体负载(upstream `31791233d`)
|
|
244
|
+
- **媒体大小边界**:限制媒体绑定大小上限(upstream `00a089088`)
|
|
245
|
+
- **Slack DM 认证**:加固 Slack DM 频道认证策略(upstream `f19eabee5`)
|
|
246
|
+
- **Telegram 发送者 ID**:移除用户名匹配,强制要求发送者 ID 验证(upstream `e3b432e48`)
|
|
247
|
+
- **Telegram webhookSecret**:为 Telegram webhook 添加 secret 验证和 `127.0.0.1` 绑定(upstream `633fe8b9c`)
|
|
248
|
+
- **Windows 子进程**:加固 Windows 平台子进程执行安全(upstream `a7eb0dd9a`)
|
|
249
|
+
- **CLI PID 清理**:使用 ppid 过滤加固 CLI 进程清理逻辑(upstream `6084d13b9`, `eb60e2e1b`)
|
|
250
|
+
- **apply_patch 边界**:移除路径遍历函数 `expandPath`/`resolvePathFromCwd`(upstream `5544646a0`, `4a44da7d9`)
|
|
251
|
+
- **apply_patch 符号链接**:阻止 apply_patch 通过符号链接逃逸沙箱(upstream `914b9d1e7`)
|
|
252
|
+
- **macOS 钥匙串注入**:使用 `execFileSync` 防止 macOS 钥匙串命令注入(upstream `3967ece62`)
|
|
253
|
+
- **Chutes OAuth 状态**:加固 Chutes OAuth 状态验证(upstream `3967ece62`, `a99ad11a4`)
|
|
254
|
+
- **Gateway URL 覆盖**:限制 gateway URL 参数覆盖(upstream `2d5647a80`)
|
|
255
|
+
- **Gateway SSRF**:阻止 gateway 出站消息 SSRF(upstream `c5406e1d2`)
|
|
256
|
+
- **node.invoke 审批**:为 node.invoke 添加工具审批流程(upstream `01b3226ec`)
|
|
257
|
+
- **Skills 配置脱敏**:在 skills/hooks 状态输出中脱敏配置值(upstream `d3428053d`)
|
|
258
|
+
- **IPv4 映射 SSRF**:阻止完整格式 IPv4 映射 IPv6 绕过 SSRF 防护(upstream `c0c0e0f9a`)
|
|
259
|
+
- **浏览器 CSRF**:阻止跨域请求对回环浏览器路由的修改操作(upstream `b566b09f8`)
|
|
260
|
+
- **safeBins 绕过**:阻止 shell 展开绕过 safeBins 限制(upstream `77b89719d`, `24d2c6292`)
|
|
261
|
+
- **exec PATH 加固**:加固 exec PATH 处理逻辑(upstream `013e8f6b3`)
|
|
262
|
+
- **发现路由 + TLS 固定**:加固发现路由和 TLS 证书固定(upstream `d583782ee`)
|
|
263
|
+
- **macOS 深度链接**:加固 macOS 深度链接处理(upstream `28d9dd7a7`)
|
|
264
|
+
- **QMD 作用域**:防止 QMD 作用域 deny 绕过(upstream `f9bb748a6`)
|
|
265
|
+
- **LanceDB 内存加固**:加固 LanceDB 内存召回和自动捕获(upstream `61725fb37`, `ed7d83bcf`)
|
|
266
|
+
- **媒体本地路径**:限制本地媒体读取在工作区/沙箱允许目录内(upstream `6863b9dbe`, `683aa09b5`, `9f368ac9e`)
|
|
267
|
+
- **Discord 语音媒体**:加固 Discord 语音消息媒体加载(upstream `725741486`)
|
|
268
|
+
- **Telnyx webhook**:集中化 Telnyx webhook 验证,缺少公钥时默认拒绝(upstream `f47584fec`, `29b587e73`)
|
|
269
|
+
- **Twilio webhook**:在 ngrok 回环模式下强制 Twilio 签名验证(upstream `ff11d8793`)
|
|
270
|
+
- **Archive 提取加固**:加固 archive 提取 + 浏览器下载 + Signal 安装(upstream `3aa94afcf`)
|
|
271
|
+
|
|
272
|
+
#### P0-D(v2026.2.15 安全批次)
|
|
273
|
+
|
|
274
|
+
- **提示路径注入加固**:强化系统提示中的路径注入防护机制(upstream `93b9f1ec5fdf`)
|
|
275
|
+
- **跨会话来源安全修复**:修复跨会话来源追踪的安全漏洞(upstream `e3445f59c986`)
|
|
276
|
+
- **Control UI XSS 防护**:通过移除内联脚本注入、将启动配置改为 JSON 服务、强制 `script-src 'self'` 策略,防止通过助手名称/头像进行存储型 XSS 攻击(upstream `01b1e350b20f`,感谢 @Adam55A-code)
|
|
277
|
+
- **Gateway 非管理员状态脱敏**:对非管理员客户端的 `status` 响应中脱敏敏感会话/路径细节;完整信息仅对 `operator.admin` 开放(upstream `0954618cfb7f` #8590,感谢 @fr33d3m0n)
|
|
278
|
+
- **Gateway 命令鉴权修复**:保持 webchat 命令授权在内部 `webchat` 上下文中,而不是从频道白名单推断其他 provider,修复配置频道白名单时 Control UI 中 `/new` 和 `/status` 命令被丢弃的问题(upstream `c953cfdee7e9` #7189,感谢 @karlisbergmanis-lv)
|
|
279
|
+
|
|
280
|
+
### 🐛 关键 Bug 修复(Critical Bugs)
|
|
281
|
+
|
|
282
|
+
#### P1-A:会话与网关稳定性(26 项)
|
|
283
|
+
|
|
284
|
+
- **会话存储锁保护**:防止 `withSessionStoreLock` 在 `storePath` 未定义时调用 `path.dirname` 导致崩溃(upstream #14717)
|
|
285
|
+
- **Transcript tool-call 清理**:会话 transcript 修复期间丢弃必填字段空白(`id`/`name` 或缺失 `input`/`arguments`)的畸形 tool-call 块,防止后续回合持续的 tool-call 损坏(upstream `7a23ac290e95` #15485,感谢 @mike-zachariades)
|
|
286
|
+
- **压缩后失忆**:修复会话压缩后上下文丢失问题(upstream `0cf93b8fa`)
|
|
287
|
+
- **上下文溢出截断**:修复上下文溢出时工具结果被截断问题(upstream `0deb8b0da`)
|
|
288
|
+
- **会话重置中止**:在 sessions.reset 前中止活跃运行(upstream `3efb75212`)
|
|
289
|
+
- **transcript 路径解析**:修复 transcript 路径解析逻辑(upstream `cab0abf52`)
|
|
290
|
+
- **压缩安全超时**:为压缩操作添加安全超时机制(upstream `c0cd3c3c0`)
|
|
291
|
+
- **进程日志分页**:修复进程日志分页问题(upstream `dec685970`)
|
|
292
|
+
- **压缩超时死锁**:修复压缩超时导致的死锁问题(upstream `e6f67d5f3`)
|
|
293
|
+
- **空流故障转移**:修复空流响应的故障转移逻辑(upstream `eb846c95b`)
|
|
294
|
+
- **预写式投递队列**:新增预写式投递队列防止消息丢失(upstream `207e2c5af`)
|
|
295
|
+
- **重启前排空活跃对话**:重启前排空活跃对话防止消息丢失(upstream `acb9cbb89`)
|
|
296
|
+
- **安装时自动生成 token**:修复 gateway install 时自动生成认证 token(upstream `94d685816`)
|
|
297
|
+
- **防止 undefined token**:防止 auth 配置中出现 undefined token(upstream `f8c91b3c5`)
|
|
298
|
+
- **EPIPE 异步处理**:修复关闭时的异步 EPIPE 错误处理(upstream `2ef4ac08c`)
|
|
299
|
+
- **全局安装 Dashboard 资源**:修复全局安装时 Dashboard 资源缺失问题(upstream `8d5094e1f`)
|
|
300
|
+
- **SIGUSR1 后清理状态**:清理 SIGUSR1 进程内重启后的过时状态(upstream `4e9f933e8`)
|
|
301
|
+
- **通知队列发送失败保留**:发送失败时保留通知队列项目(upstream `2a8360928`)
|
|
302
|
+
- **WebSocket 5MB 限制**:提升 WebSocket 最大负载至 5MB 以支持图片上传(upstream `626a1d069`)
|
|
303
|
+
- **多 Agent 用量发现**:修复多 Agent sessions.usage 发现逻辑(upstream `9271fcb3d`)
|
|
304
|
+
- **agentId transcript 路径**:使用 session key agentId 解析 transcript 路径(upstream `dc3c73361`)
|
|
305
|
+
- **agentId 贯穿状态/用量路径**:将 agentId 贯穿到所有状态和用量查询路径(upstream `990413534`)
|
|
306
|
+
- **归档旧 transcript**:在 /new 和 /reset 时归档旧 transcript 文件(upstream `31537c669`)
|
|
307
|
+
- **停止钳制 totalTokens**:停止钳制派生的 totalTokens 值(upstream `fd076eb43`)
|
|
308
|
+
- **防止子进程 FD 泄漏**:修复子进程清理时的文件描述符泄漏(upstream `4c350bc4c`)
|
|
309
|
+
- **防止缓存 TTL 双重压缩**:防止 cache-ttl 条目绕过保护导致的双重压缩(upstream `dcb921944`)
|
|
310
|
+
|
|
311
|
+
#### P1-B:定时任务与心跳(16 项)
|
|
312
|
+
|
|
313
|
+
- **Cron 调度回归修复**:修复 cron 调度和提醒投递回归问题(upstream `821520a05`)
|
|
314
|
+
- **防止跳过到期任务**:防止 recomputeNextRuns 跳过到期任务(upstream `313e2f2e8`)
|
|
315
|
+
- **Cron 心跳可靠性**:改进 cron 心跳可靠性(upstream `40e23b05f`)
|
|
316
|
+
- **legacy atMs 字段**:处理调度中的 legacy atMs 字段(upstream `b0befb5f5`)
|
|
317
|
+
- **防止跳过执行**:防止 nextRunAtMs 推进时跳过 cron 执行(upstream `39e3d58fe`)
|
|
318
|
+
- **主 session 任务传递 agentId**:修复主 session 任务传递 agentId 给 heartbeat(upstream `04e3a66f9`)
|
|
319
|
+
- **活跃任务执行时重置定时器**:在活跃任务执行期间 onTimer 触发时重新设置定时器(upstream `ace5e33ce`)
|
|
320
|
+
- **防止同时触发重复**:防止多个任务同时触发时重复执行(upstream `dd6047d99`)
|
|
321
|
+
- **调度错误隔离**:隔离调度错误防止一个坏任务影响所有任务(upstream `04f695e56`)
|
|
322
|
+
- **心跳调度器异常处理**:防止 runOnce 抛出异常时心跳调度器死亡(upstream `5147656d6`)
|
|
323
|
+
- **防止 list/status 跳过 cron**:防止 list/status 静默跳过周期性 cron 任务(upstream `c60844931`)
|
|
324
|
+
- **心跳定时器改进**:改进心跳定时器逻辑(upstream `7b89e68d1`)
|
|
325
|
+
- **心跳唤醒竞态**:防止唤醒处理器竞态导致心跳调度器静默死亡(upstream `40aff672c`)
|
|
326
|
+
- **豁免唤醒/hook 原因**:豁免 wake 和 hook 原因的空心跳跳过逻辑(upstream `7f0d6b1fc`)
|
|
327
|
+
- **HEARTBEAT_OK 清理**:忽略 HEARTBEAT_OK token 周围的非单词字符(upstream `f9379ecee`)
|
|
328
|
+
- **HEARTBEAT.md 自动创建**:工作区初始化时不再自动创建 HEARTBEAT.md(upstream `386bb0c61`)
|
|
329
|
+
|
|
330
|
+
#### P1-C:内存泄漏(7 项)
|
|
331
|
+
|
|
332
|
+
- **诊断会话状态模块**:拆分诊断会话状态模块减少内存占用(upstream `0dec23450`)
|
|
333
|
+
- **Agent 运行序列跟踪**:限定 Agent 运行序列跟踪器增长(upstream `fc8f59261`)
|
|
334
|
+
- **中止内存映射**:限定中止回调内存映射增长(upstream `414b7db8a`)
|
|
335
|
+
- **Slack 线程缓存**:限定 Slack 线程启动器缓存增长(upstream `6d0cd54ac`)
|
|
336
|
+
- **目录缓存内存**:限定出站目录缓存内存增长(upstream `48fef2786`)
|
|
337
|
+
- **远程节点缓存**:断开连接时清理远程节点缓存(upstream `dabfcbe94`)
|
|
338
|
+
- **Skills 监视器 FD**:避免 skills 监视器文件描述符耗尽(upstream `0e046f61a`)
|
|
339
|
+
|
|
340
|
+
#### P1-D:CJK 兼容(1 项)
|
|
341
|
+
|
|
342
|
+
- **Voice Wake CJK 崩溃**:防止 CJK 触发词导致 Voice Wake 崩溃(upstream `c32b92b7a`)
|
|
343
|
+
|
|
344
|
+
#### P1-E:记忆搜索(1 项)
|
|
345
|
+
|
|
346
|
+
- **Memory/FTS Unicode 查询**:使 `buildFtsQuery` 具备 Unicode 感知能力,使非 ASCII 查询(包括 CJK)生成关键词 token 而非回退到纯向量搜索(upstream `7089885ac49e` #17672,感谢 @KinGP5471)
|
|
347
|
+
|
|
348
|
+
### 📡 频道 Bug 修复(Channel Fixes)
|
|
349
|
+
|
|
350
|
+
#### P4-A:Telegram(14 项)
|
|
351
|
+
|
|
352
|
+
- **线程规格强制**:强制 DM 与 Forum 发送线程规格生效(upstream #6833)
|
|
353
|
+
- **转发元数据**:包含 `forward_from_chat` 转发元数据(upstream #8392)
|
|
354
|
+
- **DM topic threadId 注入**:自动为 DM topic 注入 threadId(upstream #7235)
|
|
355
|
+
- **session 模型覆盖**:inline 模型选择器尊重 session 模型覆盖(upstream #8193)
|
|
356
|
+
- **引用解析加固**:加固 quote 解析并保留引用上下文(upstream #12156)
|
|
357
|
+
- **过期 topic 恢复**:从过期 topic thread ID 恢复主动消息发送(upstream #11620)
|
|
358
|
+
- **Markdown spoiler**:渲染 Markdown spoiler 为 tg-spoiler 标签(upstream #11543)
|
|
359
|
+
- **DM allowFrom**:匹配 DM allowFrom 对发送者 user ID 而非用户名(upstream #12779)
|
|
360
|
+
- **blockquote 渲染**:渲染 blockquote 为原生 HTML blockquote(upstream #14608)
|
|
361
|
+
- **model picker 空消息**:处理 model picker 中无文本消息情况(upstream #14397)
|
|
362
|
+
- **REACTION_INVALID 警告**:将 REACTION_INVALID 作为非致命警告输出(upstream #14340)
|
|
363
|
+
- **命令上限 100**:bot 菜单注册命令数上限 100(upstream #15844)
|
|
364
|
+
- **skill 命令作用域**:scope skill 命令到已解析的 agent(upstream #15599)
|
|
365
|
+
- **webhook 回调超时**:设置 webhook 回调超时处理(upstream #16763)
|
|
366
|
+
|
|
367
|
+
#### P4-A 附加:媒体(1 项)
|
|
368
|
+
|
|
369
|
+
- **MP3/M4A 语音兼容**:将 MP3/M4A 视为语音兼容音频格式(upstream #15438)
|
|
370
|
+
|
|
371
|
+
#### P4-B:WhatsApp(4 项)
|
|
372
|
+
|
|
373
|
+
- **粗体/删除线转换**:将 Markdown 粗体/删除线转换为 WhatsApp 格式(upstream #14285)
|
|
374
|
+
- **纯媒体发送**:允许纯媒体发送 + 规范化前导空白负载(upstream #14408)
|
|
375
|
+
- **语音 MIME 类型**:语音消息默认 MIME 类型(upstream #14444)
|
|
376
|
+
- **文档文件名保留**:保留出站文档文件名(upstream #15594)
|
|
377
|
+
|
|
378
|
+
#### P4-C:Discord(9 项)
|
|
379
|
+
|
|
380
|
+
- **线程父级绑定**:继承线程父级频道绑定用于路由(upstream #3892)
|
|
381
|
+
- **PluralKit 代理发送者**:解析 PluralKit 代理发送者身份(upstream #5838)
|
|
382
|
+
- **论坛/媒体线程**:支持论坛/媒体 thread-create 起始消息(upstream #10062)
|
|
383
|
+
- **DM 反应处理**:处理 DM 频道的反应事件(upstream #10418)
|
|
384
|
+
- **线程 replyToMode**:线程中尊重 replyToMode 设置(upstream #11062)
|
|
385
|
+
- **纯媒体消息**:省略纯媒体消息的空内容字段(upstream #9507)
|
|
386
|
+
- **数字 guild 白名单**:避免数字 guild 白名单条目误路由(upstream #12326)
|
|
387
|
+
- **historyLimit 应用**:将频道 historyLimit 应用到 sessions(upstream #11224)
|
|
388
|
+
- **空 channels 白名单**:empty channels 配置视为无白名单而非全拒绝(upstream #16714)
|
|
389
|
+
|
|
390
|
+
#### P4-D:Slack(5 项)
|
|
391
|
+
|
|
392
|
+
- **媒体抓取限制**:加固媒体抓取限制和文件 URL 校验(upstream #6639)
|
|
393
|
+
- **mention 剥离模式**:为 /new 和 /reset 命令添加 mention stripPatterns(upstream #9971)
|
|
394
|
+
- **replyToMode 默认值**:将默认 replyToMode 从 off 改为 all(upstream #14364)
|
|
395
|
+
- **bot mention 命令检测**:检测以 bot mention 开头的命令消息(upstream #14142)
|
|
396
|
+
- **线程归属权门控**:新增 thread-ownership 出站门控插件(upstream #15775)
|
|
397
|
+
|
|
398
|
+
#### P4-E:Signal(4 项)
|
|
399
|
+
|
|
400
|
+
- **E.164 校验**:强制 E.164 电话号码格式校验(upstream #15063)
|
|
401
|
+
- **mention 渲染**:将 mention 占位符渲染为 @uuid/@phone(upstream #2013)
|
|
402
|
+
- **大小写敏感 group ID**:保留大小写敏感的 group: 目标 ID(upstream #16748)
|
|
403
|
+
- **非 x64 安装**:非 x64 Linux 上自动安装 signal-cli(upstream #15443)
|
|
404
|
+
|
|
405
|
+
#### P4-F:飞书 Feishu(4 项)
|
|
406
|
+
|
|
407
|
+
- **Buffer 直传**:直接传递 Buffer 到 SDK upload API(upstream #10345)
|
|
408
|
+
- **mention 门控群组**:仅在 bot 被 @ 时触发 mention 门控群组处理(upstream #11088)
|
|
409
|
+
- **探活状态上下文**:probe status 使用已解析的账户上下文(upstream #11233)
|
|
410
|
+
- **DocX block 顺序**:保留 DocX 顶层转换 block 顺序(upstream #13994)
|
|
411
|
+
|
|
412
|
+
#### P4-G:Web UI(4 项)
|
|
413
|
+
|
|
414
|
+
- **滚动位置**:流式输出时尊重用户滚动位置(upstream #7226)
|
|
415
|
+
- **logo 路径**:basePath 设置时正确解析 header logo 路径(upstream #7178)
|
|
416
|
+
- **DOMPurify img**:将 img 添加到 DOMPurify 允许标签列表(upstream #15437)
|
|
417
|
+
- **Windows 路径换行符**:保留 Windows 路径中的 literal `\\n` 序列(upstream #11547)
|
|
418
|
+
|
|
419
|
+
#### P4-H:TUI(6 项)
|
|
420
|
+
|
|
421
|
+
- **并发流保留**:并发 run finalize 时保留进行中的流式回复(upstream #10704)
|
|
422
|
+
- **工具边界文本**:保持 pre-tool 流式文本可见(upstream #6958)
|
|
423
|
+
- **ANSI 清理**:清理历史文本中的 ANSI/控制字符(upstream #13007)
|
|
424
|
+
- **窄终端加固**:加固窄终端渲染时的清理器(upstream #5355)
|
|
425
|
+
- **亮色主题对比**:亮色主题使用终端默认前景色渲染(upstream #16750)
|
|
426
|
+
- **流式文本保留**:保留更丰富的流式助手文本内容(upstream #15452)
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## 0.1.0
|
|
431
|
+
|
|
432
|
+
> 🎉 **版本号规范化**:从本版本起,openclaw-cn 采用标准语义化版本号 (Semver),告别日期版本。
|
|
433
|
+
> 本版本整合了 2026.2.3 ~ 2026.2.5 的所有更新内容。
|
|
434
|
+
|
|
435
|
+
### ✨ 新功能(Features)
|
|
436
|
+
|
|
437
|
+
- **飞书多 Agent 路由**:新增飞书多 Agent 路由支持,可根据 `bindings` 配置将不同用户/群聊分发到不同 Agent (#27) - 感谢 @wsbjj
|
|
438
|
+
- **飞书群聊增强**:添加群组消息引用功能、显示群组 ID、回复引用模式,增强对话上下文清晰度
|
|
439
|
+
- **飞书文档提取**:添加文档链接提取功能,支持从文本和富文本消息中提取飞书文档引用
|
|
440
|
+
- **中文命令支持**:添加斜杠命令格式支持、中文命令别名、命令帮助文本中文国际化
|
|
441
|
+
- **工作区迁移**:添加迁移旧工作区目录功能,确保用户无缝升级到新目录
|
|
442
|
+
- **火山引擎自定义 Header**:支持通过环境变量 `MODEL_AGENT_CLIENT_REQ_ID` 和 `MODEL_AGENT_CLIENT_REQ_VALUE` 为火山引擎模型请求添加自定义 Header (#24) - 感谢 @dragonforce2010
|
|
443
|
+
- **消息聊天类型**:添加消息聊天类型参数,支持不同聊天场景的处理
|
|
444
|
+
|
|
445
|
+
### 🔧 修复(Fixes)
|
|
446
|
+
|
|
447
|
+
- **飞书流式卡片 fallback**:改进 `closeStreamingMode` 返回值检查,API 失败时正确回退到普通消息 (#57) - 感谢 @Y1fe1Zh0u
|
|
448
|
+
- **飞书富文本解析**:修复 post 富文本消息解析,支持 locale 包装格式和嵌入图片下载 (#37)
|
|
449
|
+
- **依赖安装问题彻底解决**:使用 `@openclaw-cn/baileys` 替代上游 `@whiskeysockets/baileys`,彻底解决全局安装时 libsignal git 依赖导致的安装失败问题
|
|
450
|
+
- **npm/yarn 兼容**:完善 libsignal 依赖替换,添加 npm `overrides` 和 yarn `resolutions` 支持
|
|
451
|
+
- **Control UI 资源**:修复 npm 包缺少 Control UI 资源的问题 (#28)
|
|
452
|
+
- **Feishu 扩展打包**:修复 npm 包缺少 feishu 扩展 dist 目录的问题
|
|
453
|
+
- **心跳逻辑**:更新心跳跳过逻辑,使其能够处理 cron 事件
|
|
454
|
+
- **崩溃修复**:修复 model.input.includes 未定义导致的崩溃 (#32)
|
|
455
|
+
- **WSL/容器环境**:改进 WSL/容器环境下网关服务命令的错误提示 (#26)
|
|
456
|
+
|
|
457
|
+
### 📚 文档(Docs)
|
|
458
|
+
|
|
459
|
+
- 翻译记忆(memory)文档为中文 (#51) - 感谢 @Y1fe1Zh0u
|
|
460
|
+
- 翻译供应商文档为中文(openai、anthropic、moonshot、openrouter、venice 等 10 篇,moonshot 默认端点改为国内) (#48) - 感谢 @Y1fe1Zh0u
|
|
461
|
+
- 命令响应和使用说明翻译成中文(/whoami、/models、/activation、/send 等)
|
|
462
|
+
- 添加火山引擎供应商文档和配置示例
|
|
463
|
+
- 添加飞书多 Agent 路由配置说明、流式输出说明
|
|
464
|
+
- 添加 WSL 用户 gateway restart 注意事项
|
|
465
|
+
- 添加 Windows PowerShell 更新/卸载命令
|
|
466
|
+
- 添加 'disconnected (1006)' 错误排查指南
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## 2026.2.5
|
|
471
|
+
|
|
472
|
+
### ✨ 新功能(Features)
|
|
473
|
+
|
|
474
|
+
- Feishu: 新增飞书多 Agent 路由支持,可根据 `bindings` 配置将不同用户/群聊分发到不同 Agent (#27) - 感谢 @wsbjj
|
|
475
|
+
|
|
476
|
+
### 🔧 修复(Fixes)
|
|
477
|
+
|
|
478
|
+
- Dependencies: 使用 `@openclaw-cn/baileys` 替代上游 `@whiskeysockets/baileys`,彻底解决全局安装时 libsignal git 依赖导致的安装失败问题
|
|
479
|
+
- Dependencies: 完善 libsignal 依赖替换,添加 npm `overrides` 和 yarn `resolutions` 支持,修复 npm/yarn 用户仍遇到 git 依赖安装失败的问题
|
|
480
|
+
- Feishu: 优化权限缺失时的错误提示,降低国内用户配置排障门槛 (#27)
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## 2026.2.4
|
|
485
|
+
|
|
486
|
+
### ✨ 新功能(Features)
|
|
487
|
+
|
|
488
|
+
- Volcengine: 支持通过环境变量 `MODEL_AGENT_CLIENT_REQ_ID` 和 `MODEL_AGENT_CLIENT_REQ_VALUE` 为火山引擎模型请求添加自定义 Header,用于标识调用方来源 (#24) - 感谢 @dragonforce2010
|
|
489
|
+
|
|
490
|
+
### 🔧 修复(Fixes)
|
|
491
|
+
|
|
492
|
+
- Packaging: 修复 npm 包缺少 Control UI 资源的问题,导致网关管理页面无法正常显示 (#28)
|
|
493
|
+
- Dependencies: 使用 `@openclaw-cn/libsignal` 替代 git 依赖,解决中国大陆用户因无法访问 GitHub 导致安装失败的问题
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
## 2026.2.3
|
|
498
|
+
|
|
499
|
+
### 🔧 修复(Fixes)
|
|
500
|
+
|
|
501
|
+
- Packaging: 修复 npm 包缺少 feishu 扩展 dist 目录的问题,导致 onboard 选择本地飞书插件时加载失败
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## 2026.2.2
|
|
506
|
+
|
|
507
|
+
### 🚨 安全更新(Security)
|
|
508
|
+
|
|
509
|
+
- **紧急修复 CVE: GHSA-g8p2-7wf7-98mq** - 1-Click RCE 漏洞修复
|
|
510
|
+
- 修复 URL 参数 `gatewayUrl` 被自动应用的问题,现在需要用户确认
|
|
511
|
+
- 新增 WebSocket Origin 验证,阻止跨站 WebSocket 劫持 (CSWSH) 攻击
|
|
512
|
+
- 详情:https://github.com/clawdbot/clawdbot/security/advisories/GHSA-g8p2-7wf7-98mq
|
|
513
|
+
- Security: restrict local media reads to workspace/media (#4880)
|
|
514
|
+
|
|
515
|
+
### ✨ 新功能(Features)
|
|
516
|
+
|
|
517
|
+
- **飞书流式输出**:新增飞书消息流式输出支持,使用 CardKit 实现实时打字效果
|
|
518
|
+
- **小米 MiMo 模型**:新增小米 MiMo (mimo-v2-flash) 模型提供商支持
|
|
519
|
+
- **火山引擎模型**:新增火山引擎 (Volcengine ARK) 模型提供商支持 (#18) Thanks @dragonforce2010
|
|
520
|
+
- Models: 添加 Qwen 系列和 DeepSeek Reasoner 模型支持
|
|
521
|
+
- Models: 添加 Kimi K2.5 模型到合成目录 (#4407)
|
|
522
|
+
- Auth: 新增 MiniMax OAuth 插件 (upstream #4521)
|
|
523
|
+
|
|
524
|
+
### 🔧 修复(Fixes)
|
|
525
|
+
|
|
526
|
+
- Control UI: 修复全局安装时静态资源加载问题 (upstream #4909)
|
|
527
|
+
- macOS: 修复发现服务 stderr 反压问题 (upstream #3304)
|
|
528
|
+
- LINE: 修复 status 命令 TypeError (upstream #4651)
|
|
529
|
+
- Routing: 优先使用 requesterOrigin 而非过期的 session entry (upstream #4957)
|
|
530
|
+
- BlueBubbles: 修复 text+image 消息的去重逻辑 (upstream #4984)
|
|
531
|
+
- Auth: 修复有效 refresh token 时的过期警告 (upstream #4593)
|
|
532
|
+
- Telegram: 接受 react 中的数字 messageId/chatId (upstream #4533)
|
|
533
|
+
- Telegram: 修复 bold/italic HTML 嵌套问题 (upstream #4578)
|
|
534
|
+
- Telegram: 支持 undici fetch 代理 dispatcher (#4456)
|
|
535
|
+
- Telegram: 标准化账户 token 查找 (#5055)
|
|
536
|
+
- Gateway: 防止未定义的 gateway token 默认值 (#4873)
|
|
537
|
+
- Feishu: 增强账户检索逻辑和 AccountId 处理
|
|
538
|
+
|
|
539
|
+
### 📦 Docker 部署
|
|
540
|
+
|
|
541
|
+
- 新增预构建 Docker 镜像和多架构支持
|
|
542
|
+
- 改进 Docker 部署文档和故障排除指南
|
|
543
|
+
- 修复容器权限和路径兼容性问题(支持宝塔面板)
|
|
544
|
+
|
|
545
|
+
### 🔄 上游合并
|
|
546
|
+
|
|
547
|
+
本版本合并了 openclaw 2026.1.30 版本的部分功能和修复。
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## 2026.1.25
|
|
552
|
+
|
|
553
|
+
Status: unreleased.
|
|
554
|
+
|
|
555
|
+
### Changes
|
|
556
|
+
|
|
557
|
+
- Models: add Xiaomi MiMo (小米 MiMo) as model provider.
|
|
558
|
+
- Models: add Volcengine (火山引擎) as model provider. (#18) Thanks @dragonforce2010.
|
|
559
|
+
- Agents: honor tools.exec.safeBins in exec allowlist checks. (#2281)
|
|
560
|
+
- Docs: tighten Fly private deployment steps. (#2289) Thanks @dguido.
|
|
561
|
+
- Gateway: warn on hook tokens via query params; document header auth preference. (#2200) Thanks @YuriNachos.
|
|
562
|
+
- Gateway: add dangerous Control UI device auth bypass flag + audit warnings. (#2248)
|
|
563
|
+
- Doctor: warn on gateway exposure without auth. (#2016) Thanks @Alex-Alaniz.
|
|
564
|
+
- Discord: add configurable privileged gateway intents for presences/members. (#2266) Thanks @kentaro.
|
|
565
|
+
- Docs: add Vercel AI Gateway to providers sidebar. (#1901) Thanks @jerilynzheng.
|
|
566
|
+
- Agents: expand cron tool description with full schema docs. (#1988) Thanks @tomascupr.
|
|
567
|
+
- Skills: add missing dependency metadata for GitHub, Notion, Slack, Discord. (#1995) Thanks @jackheuberger.
|
|
568
|
+
- Docs: add Render deployment guide. (#1975) Thanks @anurag.
|
|
569
|
+
- Docs: add Claude Max API Proxy guide. (#1875) Thanks @atalovesyou.
|
|
570
|
+
- Docs: add DigitalOcean deployment guide. (#1870) Thanks @0xJonHoldsCrypto.
|
|
571
|
+
- Docs: add Raspberry Pi install guide. (#1871) Thanks @0xJonHoldsCrypto.
|
|
572
|
+
- Docs: add GCP Compute Engine deployment guide. (#1848) Thanks @hougangdev.
|
|
573
|
+
- Docs: add LINE channel guide. Thanks @thewilloftheshadow.
|
|
574
|
+
- Docs: credit both contributors for Control UI refresh. (#1852) Thanks @EnzeD.
|
|
575
|
+
- Onboarding: add Venice API key to non-interactive flow. (#1893) Thanks @jonisjongithub.
|
|
576
|
+
- Onboarding: strengthen security warning copy for beta + access control expectations.
|
|
577
|
+
- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
|
|
578
|
+
- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
|
|
579
|
+
- Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
|
|
580
|
+
- CI: increase Node heap size for macOS checks. (#1890) Thanks @realZachi.
|
|
581
|
+
- macOS: avoid crash when rendering code blocks by bumping Textual to 0.3.1. (#2033) Thanks @garricn.
|
|
582
|
+
- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
|
|
583
|
+
- Update: ignore dist/control-ui for dirty checks and restore after ui builds. (#1976) Thanks @Glucksberg.
|
|
584
|
+
- Telegram: allow caption param for media sends. (#1888) Thanks @mguellsegarra.
|
|
585
|
+
- Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
|
|
586
|
+
- Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
|
|
587
|
+
- Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla.
|
|
588
|
+
- Routing: precompile session key regexes. (#1697) Thanks @Ray0907.
|
|
589
|
+
- TUI: avoid width overflow when rendering selection lists. (#1686) Thanks @mossein.
|
|
590
|
+
- Telegram: keep topic IDs in restart sentinel notifications. (#1807) Thanks @hsrvc.
|
|
591
|
+
- Config: apply config.env before ${VAR} substitution. (#1813) Thanks @spanishflu-est1918.
|
|
592
|
+
- Slack: clear ack reaction after streamed replies. (#2044) Thanks @fancyboi999.
|
|
593
|
+
- macOS: keep custom SSH usernames in remote target. (#2046) Thanks @algal.
|
|
594
|
+
|
|
595
|
+
### Fixes
|
|
596
|
+
|
|
597
|
+
- Telegram: wrap reasoning italics per line to avoid raw underscores. (#2181) Thanks @YuriNachos.
|
|
598
|
+
- Voice Call: enforce Twilio webhook signature verification for ngrok URLs; disable ngrok free tier bypass by default.
|
|
599
|
+
- Security: harden Tailscale Serve auth by validating identity via local tailscaled before trusting headers.
|
|
600
|
+
- Build: align memory-core peer dependency with lockfile.
|
|
601
|
+
- Security: add mDNS discovery mode with minimal default to reduce information disclosure. (#1882) Thanks @orlyjamie.
|
|
602
|
+
- Security: harden URL fetches with DNS pinning to reduce rebinding risk. Thanks Chris Zheng.
|
|
603
|
+
- Web UI: improve WebChat image paste previews and allow image-only sends. (#1925) Thanks @smartprogrammer93.
|
|
604
|
+
- Security: wrap external hook content by default with a per-hook opt-out. (#1827) Thanks @mertcicekci0.
|
|
605
|
+
- Gateway: default auth now fail-closed (token/password required; Tailscale Serve identity remains allowed).
|
|
606
|
+
|
|
607
|
+
## 2026.1.24-3
|
|
608
|
+
|
|
609
|
+
### Fixes
|
|
610
|
+
|
|
611
|
+
- Slack: fix image downloads failing due to missing Authorization header on cross-origin redirects. (#1936) Thanks @sanderhelgesen.
|
|
612
|
+
- Gateway: harden reverse proxy handling for local-client detection and unauthenticated proxied connects. (#1795) Thanks @orlyjamie.
|
|
613
|
+
- Security audit: flag loopback Control UI with auth disabled as critical. (#1795) Thanks @orlyjamie.
|
|
614
|
+
- CLI: resume claude-cli sessions and stream CLI replies to TUI clients. (#1921) Thanks @rmorse.
|
|
615
|
+
|
|
616
|
+
## 2026.1.24-2
|
|
617
|
+
|
|
618
|
+
### Fixes
|
|
619
|
+
|
|
620
|
+
- Packaging: include dist/link-understanding output in npm tarball (fixes missing apply.js import on install).
|
|
621
|
+
|
|
622
|
+
## 2026.1.24-1
|
|
623
|
+
|
|
624
|
+
### Fixes
|
|
625
|
+
|
|
626
|
+
- Packaging: include dist/shared output in npm tarball (fixes missing reasoning-tags import on install).
|
|
627
|
+
|
|
628
|
+
## 2026.1.24
|
|
629
|
+
|
|
630
|
+
### Highlights
|
|
631
|
+
|
|
632
|
+
- Providers: Ollama discovery + docs; Venice guide upgrades + cross-links. (#1606) Thanks @abhaymundhara. https://docs.clawd.bot/providers/ollama https://docs.clawd.bot/providers/venice
|
|
633
|
+
- Channels: LINE plugin (Messaging API) with rich replies + quick replies. (#1630) Thanks @plum-dawg.
|
|
634
|
+
- TTS: Edge fallback (keyless) + `/tts` auto modes. (#1668, #1667) Thanks @steipete, @sebslight. https://docs.clawd.bot/tts
|
|
635
|
+
- Exec approvals: approve in-chat via `/approve` across all channels (including plugins). (#1621) Thanks @czekaj. https://docs.clawd.bot/tools/exec-approvals https://docs.clawd.bot/tools/slash-commands
|
|
636
|
+
- Telegram: DM topics as separate sessions + outbound link preview toggle. (#1597, #1700) Thanks @rohannagpal, @zerone0x. https://docs.clawd.bot/channels/telegram
|
|
637
|
+
|
|
638
|
+
### Changes
|
|
639
|
+
|
|
640
|
+
- Channels: add LINE plugin (Messaging API) with rich replies, quick replies, and plugin HTTP registry. (#1630) Thanks @plum-dawg.
|
|
641
|
+
- TTS: add Edge TTS provider fallback, defaulting to keyless Edge with MP3 retry on format failures. (#1668) Thanks @steipete. https://docs.clawd.bot/tts
|
|
642
|
+
- TTS: add auto mode enum (off/always/inbound/tagged) with per-session `/tts` override. (#1667) Thanks @sebslight. https://docs.clawd.bot/tts
|
|
643
|
+
- Telegram: treat DM topics as separate sessions and keep DM history limits stable with thread suffixes. (#1597) Thanks @rohannagpal.
|
|
644
|
+
- Telegram: add `channels.telegram.linkPreview` to toggle outbound link previews. (#1700) Thanks @zerone0x. https://docs.clawd.bot/channels/telegram
|
|
645
|
+
- Web search: add Brave freshness filter parameter for time-scoped results. (#1688) Thanks @JonUleis. https://docs.clawd.bot/tools/web
|
|
646
|
+
- UI: refresh Control UI dashboard design system (colors, icons, typography). (#1745, #1786) Thanks @EnzeD, @mousberg.
|
|
647
|
+
- Exec approvals: forward approval prompts to chat with `/approve` for all channels (including plugins). (#1621) Thanks @czekaj. https://docs.clawd.bot/tools/exec-approvals https://docs.clawd.bot/tools/slash-commands
|
|
648
|
+
- Gateway: expose config.patch in the gateway tool with safe partial updates + restart sentinel. (#1653) Thanks @Glucksberg.
|
|
649
|
+
- Diagnostics: add diagnostic flags for targeted debug logs (config + env override). https://docs.clawd.bot/diagnostics/flags
|
|
650
|
+
- Docs: expand FAQ (migration, scheduling, concurrency, model recommendations, OpenAI subscription auth, Pi sizing, hackable install, docs SSL workaround).
|
|
651
|
+
- Docs: add verbose installer troubleshooting guidance.
|
|
652
|
+
- Docs: add macOS VM guide with local/hosted options + VPS/nodes guidance. (#1693) Thanks @f-trycua.
|
|
653
|
+
- Docs: add Bedrock EC2 instance role setup + IAM steps. (#1625) Thanks @sergical. https://docs.clawd.bot/bedrock
|
|
654
|
+
- Docs: update Fly.io guide notes.
|
|
655
|
+
- Dev: add prek pre-commit hooks + dependabot config for weekly updates. (#1720) Thanks @dguido.
|
|
656
|
+
|
|
657
|
+
### Fixes
|
|
658
|
+
|
|
659
|
+
- Web UI: fix config/debug layout overflow, scrolling, and code block sizing. (#1715) Thanks @saipreetham589.
|
|
660
|
+
- Web UI: show Stop button during active runs, swap back to New session when idle. (#1664) Thanks @ndbroadbent.
|
|
661
|
+
- Web UI: clear stale disconnect banners on reconnect; allow form saves with unsupported schema paths but block missing schema. (#1707) Thanks @Glucksberg.
|
|
662
|
+
- Web UI: hide internal `message_id` hints in chat bubbles.
|
|
663
|
+
- Gateway: allow Control UI token-only auth to skip device pairing even when device identity is present (`gateway.controlUi.allowInsecureAuth`). (#1679) Thanks @steipete.
|
|
664
|
+
- Matrix: decrypt E2EE media attachments with preflight size guard. (#1744) Thanks @araa47.
|
|
665
|
+
- BlueBubbles: route phone-number targets to DMs, avoid leaking routing IDs, and auto-create missing DMs (Private API required). (#1751) Thanks @tyler6204. https://docs.clawd.bot/channels/bluebubbles
|
|
666
|
+
- BlueBubbles: keep part-index GUIDs in reply tags when short IDs are missing.
|
|
667
|
+
- iMessage: normalize chat_id/chat_guid/chat_identifier prefixes case-insensitively and keep service-prefixed handles stable. (#1708) Thanks @aaronn.
|
|
668
|
+
- Signal: repair reaction sends (group/UUID targets + CLI author flags). (#1651) Thanks @vilkasdev.
|
|
669
|
+
- Signal: add configurable signal-cli startup timeout + external daemon mode docs. (#1677) https://docs.clawd.bot/channels/signal
|
|
670
|
+
- Telegram: set fetch duplex="half" for uploads on Node 22 to avoid sendPhoto failures. (#1684) Thanks @commdata2338.
|
|
671
|
+
- Telegram: use wrapped fetch for long-polling on Node to normalize AbortSignal handling. (#1639)
|
|
672
|
+
- Telegram: honor per-account proxy for outbound API calls. (#1774) Thanks @radek-paclt.
|
|
673
|
+
- Telegram: fall back to text when voice notes are blocked by privacy settings. (#1725) Thanks @foeken.
|
|
674
|
+
- Voice Call: return stream TwiML for outbound conversation calls on initial Twilio webhook. (#1634)
|
|
675
|
+
- Voice Call: serialize Twilio TTS playback and cancel on barge-in to prevent overlap. (#1713) Thanks @dguido.
|
|
676
|
+
- Google Chat: tighten email allowlist matching, typing cleanup, media caps, and onboarding/docs/tests. (#1635) Thanks @iHildy.
|
|
677
|
+
- Google Chat: normalize space targets without double `spaces/` prefix.
|
|
678
|
+
- Agents: auto-compact on context overflow prompt errors before failing. (#1627) Thanks @rodrigouroz.
|
|
679
|
+
- Agents: use the active auth profile for auto-compaction recovery.
|
|
680
|
+
- Media understanding: skip image understanding when the primary model already supports vision. (#1747) Thanks @tyler6204.
|
|
681
|
+
- Models: default missing custom provider fields so minimal configs are accepted.
|
|
682
|
+
- Messaging: keep newline chunking safe for fenced markdown blocks across channels.
|
|
683
|
+
- Messaging: treat newline chunking as paragraph-aware (blank-line splits) to keep lists and headings together. (#1726) Thanks @tyler6204.
|
|
684
|
+
- TUI: reload history after gateway reconnect to restore session state. (#1663)
|
|
685
|
+
- Heartbeat: normalize target identifiers for consistent routing.
|
|
686
|
+
- Exec: keep approvals for elevated ask unless full mode. (#1616) Thanks @ivancasco.
|
|
687
|
+
- Exec: treat Windows platform labels as Windows for node shell selection. (#1760) Thanks @ymat19.
|
|
688
|
+
- Gateway: include inline config env vars in service install environments. (#1735) Thanks @Seredeep.
|
|
689
|
+
- Gateway: skip Tailscale DNS probing when tailscale.mode is off. (#1671)
|
|
690
|
+
- Gateway: reduce log noise for late invokes + remote node probes; debounce skills refresh. (#1607) Thanks @petter-b.
|
|
691
|
+
- Gateway: clarify Control UI/WebChat auth error hints for missing tokens. (#1690)
|
|
692
|
+
- Gateway: listen on IPv6 loopback when bound to 127.0.0.1 so localhost webhooks work.
|
|
693
|
+
- Gateway: store lock files in the temp directory to avoid stale locks on persistent volumes. (#1676)
|
|
694
|
+
- macOS: default direct-transport `ws://` URLs to port 18789; document `gateway.remote.transport`. (#1603) Thanks @ngutman.
|
|
695
|
+
- Tests: cap Vitest workers on CI macOS to reduce timeouts. (#1597) Thanks @rohannagpal.
|
|
696
|
+
- Tests: avoid fake-timer dependency in embedded runner stream mock to reduce CI flakes. (#1597) Thanks @rohannagpal.
|
|
697
|
+
- Tests: increase embedded runner ordering test timeout to reduce CI flakes. (#1597) Thanks @rohannagpal.
|
|
698
|
+
|
|
699
|
+
## 2026.1.23-1
|
|
700
|
+
|
|
701
|
+
### Fixes
|
|
702
|
+
|
|
703
|
+
- Packaging: include dist/tts output in npm tarball (fixes missing dist/tts/tts.js).
|
|
704
|
+
|
|
705
|
+
## 2026.1.23
|
|
706
|
+
|
|
707
|
+
### Highlights
|
|
708
|
+
|
|
709
|
+
- TTS: move Telegram TTS into core + enable model-driven TTS tags by default for expressive audio replies. (#1559) Thanks @Glucksberg. https://docs.clawd.bot/tts
|
|
710
|
+
- Gateway: add `/tools/invoke` HTTP endpoint for direct tool calls (auth + tool policy enforced). (#1575) Thanks @vignesh07. https://docs.clawd.bot/gateway/tools-invoke-http-api
|
|
711
|
+
- Heartbeat: per-channel visibility controls (OK/alerts/indicator). (#1452) Thanks @dlauer. https://docs.clawd.bot/gateway/heartbeat
|
|
712
|
+
- Deploy: add Fly.io deployment support + guide. (#1570) https://docs.clawd.bot/platforms/fly
|
|
713
|
+
- Channels: add Tlon/Urbit channel plugin (DMs, group mentions, thread replies). (#1544) Thanks @wca4a. https://docs.clawd.bot/channels/tlon
|
|
714
|
+
|
|
715
|
+
### Changes
|
|
716
|
+
|
|
717
|
+
- Channels: allow per-group tool allow/deny policies across built-in + plugin channels. (#1546) Thanks @adam91holt. https://docs.clawd.bot/multi-agent-sandbox-tools
|
|
718
|
+
- Agents: add Bedrock auto-discovery defaults + config overrides. (#1553) Thanks @fal3. https://docs.clawd.bot/bedrock
|
|
719
|
+
- CLI: add `clawdbot system` for system events + heartbeat controls; remove standalone `wake`. (commit 71203829d) https://docs.clawd.bot/cli/system
|
|
720
|
+
- CLI: add live auth probes to `clawdbot models status` for per-profile verification. (commit 40181afde) https://docs.clawd.bot/cli/models
|
|
721
|
+
- CLI: restart the gateway by default after `clawdbot update`; add `--no-restart` to skip it. (commit 2c85b1b40)
|
|
722
|
+
- Browser: add node-host proxy auto-routing for remote gateways (configurable per gateway/node). (commit c3cb26f7c)
|
|
723
|
+
- Plugins: add optional `llm-task` JSON-only tool for workflows. (#1498) Thanks @vignesh07. https://docs.clawd.bot/tools/llm-task
|
|
724
|
+
- Markdown: add per-channel table conversion (bullets for Signal/WhatsApp, code blocks elsewhere). (#1495) Thanks @odysseus0.
|
|
725
|
+
- Agents: keep system prompt time zone-only and move current time to `session_status` for better cache hits. (commit 66eec295b)
|
|
726
|
+
- Agents: remove redundant bash tool alias from tool registration/display. (#1571) Thanks @Takhoffman.
|
|
727
|
+
- Docs: add cron vs heartbeat decision guide (with Lobster workflow notes). (#1533) Thanks @JustYannicc. https://docs.clawd.bot/automation/cron-vs-heartbeat
|
|
728
|
+
- Docs: clarify HEARTBEAT.md empty file skips heartbeats, missing file still runs. (#1535) Thanks @JustYannicc. https://docs.clawd.bot/gateway/heartbeat
|
|
729
|
+
|
|
730
|
+
### Fixes
|
|
731
|
+
|
|
732
|
+
- Sessions: accept non-UUID sessionIds for history/send/status while preserving agent scoping. (#1518)
|
|
733
|
+
- Heartbeat: accept plugin channel ids for heartbeat target validation + UI hints.
|
|
734
|
+
- Messaging/Sessions: mirror outbound sends into target session keys (threads + dmScope), create session entries on send, and normalize session key casing. (#1520, commit 4b6cdd1d3)
|
|
735
|
+
- Sessions: reject array-backed session stores to prevent silent wipes. (#1469)
|
|
736
|
+
- Gateway: compare Linux process start time to avoid PID recycling lock loops; keep locks unless stale. (#1572) Thanks @steipete.
|
|
737
|
+
- Gateway: accept null optional fields in exec approval requests. (#1511) Thanks @pvoo.
|
|
738
|
+
- Exec approvals: persist allowlist entry ids to keep macOS allowlist rows stable. (#1521) Thanks @ngutman.
|
|
739
|
+
- Exec: honor tools.exec ask/security defaults for elevated approvals (avoid unwanted prompts). (commit 5662a9cdf)
|
|
740
|
+
- Daemon: use platform PATH delimiters when building minimal service paths. (commit a4e57d3ac)
|
|
741
|
+
- Linux: include env-configured user bin roots in systemd PATH and align PATH audits. (#1512) Thanks @robbyczgw-cla.
|
|
742
|
+
- Tailscale: retry serve/funnel with sudo only for permission errors and keep original failure details. (#1551) Thanks @sweepies.
|
|
743
|
+
- Docker: update gateway command in docker-compose and Hetzner guide. (#1514)
|
|
744
|
+
- Agents: show tool error fallback when the last assistant turn only invoked tools (prevents silent stops). (commit 8ea8801d0)
|
|
745
|
+
- Agents: ignore IDENTITY.md template placeholders when parsing identity. (#1556)
|
|
746
|
+
- Agents: drop orphaned OpenAI Responses reasoning blocks on model switches. (#1562) Thanks @roshanasingh4.
|
|
747
|
+
- Agents: add CLI log hint to "agent failed before reply" messages. (#1550) Thanks @sweepies.
|
|
748
|
+
- Agents: warn and ignore tool allowlists that only reference unknown or unloaded plugin tools. (#1566)
|
|
749
|
+
- Agents: treat plugin-only tool allowlists as opt-ins; keep core tools enabled. (#1467)
|
|
750
|
+
- Agents: honor enqueue overrides for embedded runs to avoid queue deadlocks in tests. (commit 084002998)
|
|
751
|
+
- Slack: honor open groupPolicy for unlisted channels in message + slash gating. (#1563) Thanks @itsjaydesu.
|
|
752
|
+
- Discord: limit autoThread mention bypass to bot-owned threads; keep ack reactions mention-gated. (#1511) Thanks @pvoo.
|
|
753
|
+
- Discord: retry rate-limited allowlist resolution + command deploy to avoid gateway crashes. (commit f70ac0c7c)
|
|
754
|
+
- Mentions: ignore mentionPattern matches when another explicit mention is present in group chats (Slack/Discord/Telegram/WhatsApp). (commit d905ca0e0)
|
|
755
|
+
- Telegram: render markdown in media captions. (#1478)
|
|
756
|
+
- MS Teams: remove `.default` suffix from Graph scopes and Bot Framework probe scopes. (#1507, #1574) Thanks @Evizero.
|
|
757
|
+
- Browser: keep extension relay tabs controllable when the extension reuses a session id after switching tabs. (#1160)
|
|
758
|
+
- Voice wake: auto-save wake words on blur/submit across iOS/Android and align limits with macOS. (commit 69f645c66)
|
|
759
|
+
- UI: keep the Control UI sidebar visible while scrolling long pages. (#1515) Thanks @pookNast.
|
|
760
|
+
- UI: cache Control UI markdown rendering + memoize chat text extraction to reduce Safari typing jank. (commit d57cb2e1a)
|
|
761
|
+
- TUI: forward unknown slash commands, include Gateway commands in autocomplete, and render slash replies as system output. (commit 1af227b61, commit 8195497ce, commit 6fba598ea)
|
|
762
|
+
- CLI: auth probe output polish (table output, inline errors, reduced noise, and wrap fixes in `clawdbot models status`). (commit da3f2b489, commit 00ae21bed, commit 31e59cd58, commit f7dc27f2d, commit 438e782f8, commit 886752217, commit aabe0bed3, commit 81535d512, commit c63144ab1)
|
|
763
|
+
- Media: only parse `MEDIA:` tags when they start the line to avoid stripping prose mentions. (#1206)
|
|
764
|
+
- Media: preserve PNG alpha when possible; fall back to JPEG when still over size cap. (#1491) Thanks @robbyczgw-cla.
|
|
765
|
+
- Skills: gate bird Homebrew install to macOS. (#1569) Thanks @bradleypriest.
|
|
766
|
+
|
|
767
|
+
## 2026.1.22
|
|
768
|
+
|
|
769
|
+
### Changes
|
|
770
|
+
|
|
771
|
+
- Highlight: Compaction safeguard now uses adaptive chunking, progressive fallback, and UI status + retries. (#1466) Thanks @dlauer.
|
|
772
|
+
- Providers: add Antigravity usage tracking to status output. (#1490) Thanks @patelhiren.
|
|
773
|
+
- Slack: add chat-type reply threading overrides via `replyToModeByChatType`. (#1442) Thanks @stefangalescu.
|
|
774
|
+
- BlueBubbles: add `asVoice` support for MP3/CAF voice memos in sendAttachment. (#1477, #1482) Thanks @Nicell.
|
|
775
|
+
- Onboarding: add hatch choice (TUI/Web/Later), token explainer, background dashboard seed on macOS, and showcase link.
|
|
776
|
+
|
|
777
|
+
### Fixes
|
|
778
|
+
|
|
779
|
+
- BlueBubbles: stop typing indicator on idle/no-reply. (#1439) Thanks @Nicell.
|
|
780
|
+
- Message tool: keep path/filePath as-is for send; hydrate buffers only for sendAttachment. (#1444) Thanks @hopyky.
|
|
781
|
+
- Auto-reply: only report a model switch when session state is available. (#1465) Thanks @robbyczgw-cla.
|
|
782
|
+
- Control UI: resolve local avatar URLs with basePath across injection + identity RPC. (#1457) Thanks @dlauer.
|
|
783
|
+
- Agents: sanitize assistant history text to strip tool-call markers. (#1456) Thanks @zerone0x.
|
|
784
|
+
- Discord: clarify Message Content Intent onboarding hint. (#1487) Thanks @kyleok.
|
|
785
|
+
- Gateway: stop the service before uninstalling and fail if it remains loaded.
|
|
786
|
+
- Agents: surface concrete API error details instead of generic AI service errors.
|
|
787
|
+
- Exec: fall back to non-PTY when PTY spawn fails (EBADF). (#1484)
|
|
788
|
+
- Exec approvals: allow per-segment allowlists for chained shell commands on gateway + node hosts. (#1458) Thanks @czekaj.
|
|
789
|
+
- Agents: make OpenAI sessions image-sanitize-only; gate tool-id/repair sanitization by provider.
|
|
790
|
+
- Doctor: honor CLAWDBOT_GATEWAY_TOKEN for auth checks and security audit token reuse. (#1448) Thanks @azade-c.
|
|
791
|
+
- Agents: make tool summaries more readable and only show optional params when set.
|
|
792
|
+
- Agents: honor SOUL.md guidance even when the file is nested or path-qualified. (#1434) Thanks @neooriginal.
|
|
793
|
+
- Matrix (plugin): persist m.direct for resolved DMs and harden room fallback. (#1436, #1486) Thanks @sibbl.
|
|
794
|
+
- CLI: prefer `~` for home paths in output.
|
|
795
|
+
- Mattermost (plugin): enforce pairing/allowlist gating, keep @username targets, and clarify plugin-only docs. (#1428) Thanks @damoahdominic.
|
|
796
|
+
- Agents: centralize transcript sanitization in the runner; keep <final> tags and error turns intact.
|
|
797
|
+
- Auth: skip auth profiles in cooldown during initial selection and rotation. (#1316) Thanks @odrobnik.
|
|
798
|
+
- Agents/TUI: honor user-pinned auth profiles during cooldown and preserve search picker ranking. (#1432) Thanks @tobiasbischoff.
|
|
799
|
+
- Docs: fix gog auth services example to include docs scope. (#1454) Thanks @zerone0x.
|
|
800
|
+
- Slack: reduce WebClient retries to avoid duplicate sends. (#1481)
|
|
801
|
+
- Slack: read thread replies for message reads when threadId is provided (replies-only). (#1450) Thanks @rodrigouroz.
|
|
802
|
+
- Discord: honor accountId across message actions and cron deliveries. (#1492) Thanks @svkozak.
|
|
803
|
+
- macOS: prefer linked channels in gateway summary to avoid false “not linked” status.
|
|
804
|
+
- macOS/tests: fix gateway summary lookup after guard unwrap; prevent browser opens during tests. (ECID-1483)
|
|
805
|
+
|
|
806
|
+
## 2026.1.21-2
|
|
807
|
+
|
|
808
|
+
### Fixes
|
|
809
|
+
|
|
810
|
+
- Control UI: ignore bootstrap identity placeholder text for avatar values and fall back to the default avatar. https://docs.clawd.bot/cli/agents https://docs.clawd.bot/web/control-ui
|
|
811
|
+
- Slack: remove deprecated `filetype` field from `files.uploadV2` to eliminate API warnings. (#1447)
|
|
812
|
+
|
|
813
|
+
## 2026.1.21
|
|
814
|
+
|
|
815
|
+
### Changes
|
|
816
|
+
|
|
817
|
+
- Highlight: Lobster optional plugin tool for typed workflows + approval gates. https://docs.clawd.bot/tools/lobster
|
|
818
|
+
- Lobster: allow workflow file args via `argsJson` in the plugin tool. https://docs.clawd.bot/tools/lobster
|
|
819
|
+
- Heartbeat: allow running heartbeats in an explicit session key. (#1256) Thanks @zknicker.
|
|
820
|
+
- CLI: default exec approvals to the local host, add gateway/node targeting flags, and show target details in allowlist output.
|
|
821
|
+
- CLI: exec approvals mutations render tables instead of raw JSON.
|
|
822
|
+
- Exec approvals: support wildcard agent allowlists (`*`) across all agents.
|
|
823
|
+
- Exec approvals: allowlist matches resolved binary paths only, add safe stdin-only bins, and tighten allowlist shell parsing.
|
|
824
|
+
- Nodes: expose node PATH in status/describe and bootstrap PATH for node-host execution.
|
|
825
|
+
- CLI: flatten node service commands under `clawdbot node` and remove `service node` docs.
|
|
826
|
+
- CLI: move gateway service commands under `clawdbot gateway` and add `gateway probe` for reachability.
|
|
827
|
+
- Sessions: add per-channel reset overrides via `session.resetByChannel`. (#1353) Thanks @cash-echo-bot.
|
|
828
|
+
- Agents: add identity avatar config support and Control UI avatar rendering. (#1329, #1424) Thanks @dlauer.
|
|
829
|
+
- UI: show per-session assistant identity in the Control UI. (#1420) Thanks @robbyczgw-cla.
|
|
830
|
+
- CLI: add `clawdbot update wizard` for interactive channel selection and restart prompts. https://docs.clawd.bot/cli/update
|
|
831
|
+
- Signal: add typing indicators and DM read receipts via signal-cli.
|
|
832
|
+
- MSTeams: add file uploads, adaptive cards, and attachment handling improvements. (#1410) Thanks @Evizero.
|
|
833
|
+
- Onboarding: remove the run setup-token auth option (paste setup-token or reuse CLI creds instead).
|
|
834
|
+
- Docs: add troubleshooting entry for gateway.mode blocking gateway start. https://docs.clawd.bot/gateway/troubleshooting
|
|
835
|
+
- Docs: add /model allowlist troubleshooting note. (#1405)
|
|
836
|
+
- Docs: add per-message Gmail search example for gog. (#1220) Thanks @mbelinky.
|
|
837
|
+
|
|
838
|
+
### Breaking
|
|
839
|
+
|
|
840
|
+
- **BREAKING:** Control UI now rejects insecure HTTP without device identity by default. Use HTTPS (Tailscale Serve) or set `gateway.controlUi.allowInsecureAuth: true` to allow token-only auth. https://docs.clawd.bot/web/control-ui#insecure-http
|
|
841
|
+
- **BREAKING:** Envelope and system event timestamps now default to host-local time (was UTC) so agents don’t have to constantly convert.
|
|
842
|
+
|
|
843
|
+
### Fixes
|
|
844
|
+
|
|
845
|
+
- Nodes/macOS: prompt on allowlist miss for node exec approvals, persist allowlist decisions, and flatten node invoke errors. (#1394) Thanks @ngutman.
|
|
846
|
+
- Gateway: keep auto bind loopback-first and add explicit tailnet binding to avoid Tailscale taking over local UI. (#1380)
|
|
847
|
+
- Memory: prevent CLI hangs by deferring vector probes, adding sqlite-vec/embedding timeouts, and showing sync progress early.
|
|
848
|
+
- Agents: enforce 9-char alphanumeric tool call ids for Mistral providers. (#1372) Thanks @zerone0x.
|
|
849
|
+
- Embedded runner: persist injected history images so attachments aren’t reloaded each turn. (#1374) Thanks @Nicell.
|
|
850
|
+
- Nodes tool: include agent/node/gateway context in tool failure logs to speed approval debugging.
|
|
851
|
+
- macOS: exec approvals now respect wildcard agent allowlists (`*`).
|
|
852
|
+
- macOS: allow SSH agent auth when no identity file is set. (#1384) Thanks @ameno-.
|
|
853
|
+
- Gateway: prevent multiple gateways from sharing the same config/state at once (singleton lock).
|
|
854
|
+
- UI: remove the chat stop button and keep the composer aligned to the bottom edge.
|
|
855
|
+
- Typing: start instant typing indicators at run start so DMs and mentions show immediately.
|
|
856
|
+
- Configure: restrict the model allowlist picker to OAuth-compatible Anthropic models and preselect Opus 4.5.
|
|
857
|
+
- Configure: seed model fallbacks from the allowlist selection when multiple models are chosen.
|
|
858
|
+
- Model picker: list the full catalog when no model allowlist is configured.
|
|
859
|
+
- Discord: honor wildcard channel configs via shared match helpers. (#1334) Thanks @pvoo.
|
|
860
|
+
- BlueBubbles: resolve short message IDs safely and expose full IDs in templates. (#1387) Thanks @tyler6204.
|
|
861
|
+
- Infra: preserve fetch helper methods when wrapping abort signals. (#1387)
|
|
862
|
+
- macOS: default distribution packaging to universal binaries. (#1396) Thanks @JustYannicc.
|
|
863
|
+
|
|
864
|
+
## 2026.1.20
|
|
865
|
+
|
|
866
|
+
### Changes
|
|
867
|
+
|
|
868
|
+
- Control UI: add copy-as-markdown with error feedback. (#1345) https://docs.clawd.bot/web/control-ui
|
|
869
|
+
- Control UI: drop the legacy list view. (#1345) https://docs.clawd.bot/web/control-ui
|
|
870
|
+
- TUI: add syntax highlighting for code blocks. (#1200) https://docs.clawd.bot/tui
|
|
871
|
+
- TUI: session picker shows derived titles, fuzzy search, relative times, and last message preview. (#1271) https://docs.clawd.bot/tui
|
|
872
|
+
- TUI: add a searchable model picker for quicker model selection. (#1198) https://docs.clawd.bot/tui
|
|
873
|
+
- TUI: add input history (up/down) for submitted messages. (#1348) https://docs.clawd.bot/tui
|
|
874
|
+
- ACP: add `clawdbot acp` for IDE integrations. https://docs.clawd.bot/cli/acp
|
|
875
|
+
- ACP: add `clawdbot acp client` interactive harness for debugging. https://docs.clawd.bot/cli/acp
|
|
876
|
+
- Skills: add download installs with OS-filtered options. https://docs.clawd.bot/tools/skills
|
|
877
|
+
- Skills: add the local sherpa-onnx-tts skill. https://docs.clawd.bot/tools/skills
|
|
878
|
+
- Memory: add hybrid BM25 + vector search (FTS5) with weighted merging and fallback. https://docs.clawd.bot/concepts/memory
|
|
879
|
+
- Memory: add SQLite embedding cache to speed up reindexing and frequent updates. https://docs.clawd.bot/concepts/memory
|
|
880
|
+
- Memory: add OpenAI batch indexing for embeddings when configured. https://docs.clawd.bot/concepts/memory
|
|
881
|
+
- Memory: enable OpenAI batch indexing by default for OpenAI embeddings. https://docs.clawd.bot/concepts/memory
|
|
882
|
+
- Memory: allow parallel OpenAI batch indexing jobs (default concurrency: 2). https://docs.clawd.bot/concepts/memory
|
|
883
|
+
- Memory: render progress immediately, color batch statuses in verbose logs, and poll OpenAI batch status every 2s by default. https://docs.clawd.bot/concepts/memory
|
|
884
|
+
- Memory: add `--verbose` logging for memory status + batch indexing details. https://docs.clawd.bot/concepts/memory
|
|
885
|
+
- Memory: add native Gemini embeddings provider for memory search. (#1151) https://docs.clawd.bot/concepts/memory
|
|
886
|
+
- Browser: allow config defaults for efficient snapshots in the tool/CLI. (#1336) https://docs.clawd.bot/tools/browser
|
|
887
|
+
- Nostr: add the Nostr channel plugin with profile management + onboarding defaults. (#1323) https://docs.clawd.bot/channels/nostr
|
|
888
|
+
- Matrix: migrate to matrix-bot-sdk with E2EE support, location handling, and group allowlist upgrades. (#1298) https://docs.clawd.bot/channels/matrix
|
|
889
|
+
- Slack: add HTTP webhook mode via Bolt HTTP receiver. (#1143) https://docs.clawd.bot/channels/slack
|
|
890
|
+
- Telegram: enrich forwarded-message context with normalized origin details + legacy fallback. (#1090) https://docs.clawd.bot/channels/telegram
|
|
891
|
+
- Discord: fall back to `/skill` when native command limits are exceeded. (#1287)
|
|
892
|
+
- Discord: expose `/skill` globally. (#1287)
|
|
893
|
+
- Zalouser: add channel dock metadata, config schema, setup wiring, probe, and status issues. (#1219) https://docs.clawd.bot/plugins/zalouser
|
|
894
|
+
- Plugins: require manifest-embedded config schemas with preflight validation warnings. (#1272) https://docs.clawd.bot/plugins/manifest
|
|
895
|
+
- Plugins: move channel catalog metadata into plugin manifests. (#1290) https://docs.clawd.bot/plugins/manifest
|
|
896
|
+
- Plugins: align Nextcloud Talk policy helpers with core patterns. (#1290) https://docs.clawd.bot/plugins/manifest
|
|
897
|
+
- Plugins/UI: let channel plugin metadata drive UI labels/icons and cron channel options. (#1306) https://docs.clawd.bot/web/control-ui
|
|
898
|
+
- Agents/UI: add agent avatar support in identity config, IDENTITY.md, and the Control UI. (#1329) https://docs.clawd.bot/gateway/configuration
|
|
899
|
+
- Plugins: add plugin slots with a dedicated memory slot selector. https://docs.clawd.bot/plugins/agent-tools
|
|
900
|
+
- Plugins: ship the bundled BlueBubbles channel plugin (disabled by default). https://docs.clawd.bot/channels/bluebubbles
|
|
901
|
+
- Plugins: migrate bundled messaging extensions to the plugin SDK and resolve plugin-sdk imports in the loader.
|
|
902
|
+
- Plugins: migrate the Zalo plugin to the shared plugin SDK runtime. https://docs.clawd.bot/channels/zalo
|
|
903
|
+
- Plugins: migrate the Zalo Personal plugin to the shared plugin SDK runtime. https://docs.clawd.bot/plugins/zalouser
|
|
904
|
+
- Plugins: allow optional agent tools with explicit allowlists and add the plugin tool authoring guide. https://docs.clawd.bot/plugins/agent-tools
|
|
905
|
+
- Plugins: auto-enable bundled channel/provider plugins when configuration is present.
|
|
906
|
+
- Plugins: sync plugin sources on channel switches and update npm-installed plugins during `clawdbot update`.
|
|
907
|
+
- Plugins: share npm plugin update logic between `clawdbot update` and `clawdbot plugins update`.
|
|
908
|
+
|
|
909
|
+
- Gateway/API: add `/v1/responses` (OpenResponses) with item-based input + semantic streaming events. (#1229)
|
|
910
|
+
- Gateway/API: expand `/v1/responses` to support file/image inputs, tool_choice, usage, and output limits. (#1229)
|
|
911
|
+
- Usage: add `/usage cost` summaries and macOS menu cost charts. https://docs.clawd.bot/reference/api-usage-costs
|
|
912
|
+
- Security: warn when <=300B models run without sandboxing while web tools are enabled. https://docs.clawd.bot/cli/security
|
|
913
|
+
- Exec: add host/security/ask routing for gateway + node exec. https://docs.clawd.bot/tools/exec
|
|
914
|
+
- Exec: add `/exec` directive for per-session exec defaults (host/security/ask/node). https://docs.clawd.bot/tools/exec
|
|
915
|
+
- Exec approvals: migrate approvals to `~/.clawdbot/exec-approvals.json` with per-agent allowlists + skill auto-allow toggle, and add approvals UI + node exec lifecycle events. https://docs.clawd.bot/tools/exec-approvals
|
|
916
|
+
- Nodes: add headless node host (`clawdbot node start`) for `system.run`/`system.which`. https://docs.clawd.bot/cli/node
|
|
917
|
+
- Nodes: add node daemon service install/status/start/stop/restart. https://docs.clawd.bot/cli/node
|
|
918
|
+
- Bridge: add `skills.bins` RPC to support node host auto-allow skill bins.
|
|
919
|
+
- Sessions: add daily reset policy with per-type overrides and idle windows (default 4am local), preserving legacy idle-only configs. (#1146) https://docs.clawd.bot/concepts/session
|
|
920
|
+
- Sessions: allow `sessions_spawn` to override thinking level for sub-agent runs. https://docs.clawd.bot/tools/subagents
|
|
921
|
+
- Channels: unify thread/topic allowlist matching + command/mention gating helpers across core providers. https://docs.clawd.bot/concepts/groups
|
|
922
|
+
- Models: add Qwen Portal OAuth provider support. (#1120) https://docs.clawd.bot/providers/qwen
|
|
923
|
+
- Onboarding: add allowlist prompts and username-to-id resolution across core and extension channels. https://docs.clawd.bot/start/onboarding
|
|
924
|
+
- Docs: clarify allowlist input types and onboarding behavior for messaging channels. https://docs.clawd.bot/start/onboarding
|
|
925
|
+
- Docs: refresh Android node discovery docs for the Gateway WS service type. https://docs.clawd.bot/platforms/android
|
|
926
|
+
- Docs: surface Amazon Bedrock in provider lists and clarify Bedrock auth env vars. (#1289) https://docs.clawd.bot/bedrock
|
|
927
|
+
- Docs: clarify WhatsApp voice notes. https://docs.clawd.bot/channels/whatsapp
|
|
928
|
+
- Docs: clarify Windows WSL portproxy LAN access notes. https://docs.clawd.bot/platforms/windows
|
|
929
|
+
- Docs: refresh bird skill install metadata and usage notes. (#1302) https://docs.clawd.bot/tools/browser-login
|
|
930
|
+
- Agents: add local docs path resolution and include docs/mirror/source/community pointers in the system prompt.
|
|
931
|
+
- Agents: clarify node_modules read-only guidance in agent instructions.
|
|
932
|
+
- Config: stamp last-touched metadata on write and warn if the config is newer than the running build.
|
|
933
|
+
- macOS: hide usage section when usage is unavailable instead of showing provider errors.
|
|
934
|
+
- Android: migrate node transport to the Gateway WebSocket protocol with TLS pinning support + gateway discovery naming.
|
|
935
|
+
- Android: send structured payloads in node events/invokes and include user-agent metadata in gateway connects.
|
|
936
|
+
- Android: remove legacy bridge transport code now that nodes use the gateway protocol.
|
|
937
|
+
- Android: bump okhttp + dnsjava to satisfy lint dependency checks.
|
|
938
|
+
- Build: update workspace + core/plugin deps.
|
|
939
|
+
- Build: use tsgo for dev/watch builds by default (opt out with `CLAWDBOT_TS_COMPILER=tsc`).
|
|
940
|
+
- Repo: remove the Peekaboo git submodule now that the SPM release is used.
|
|
941
|
+
- macOS: switch PeekabooBridge integration to the tagged Swift Package Manager release.
|
|
942
|
+
- macOS: stop syncing Peekaboo in postinstall.
|
|
943
|
+
- Swabble: use the tagged Commander Swift package release.
|
|
944
|
+
|
|
945
|
+
### Breaking
|
|
946
|
+
|
|
947
|
+
- **BREAKING:** Reject invalid/unknown config entries and refuse to start the gateway for safety. Run `clawdbot doctor --fix` to repair, then update plugins (`clawdbot plugins update`) if you use any.
|
|
948
|
+
|
|
949
|
+
### Fixes
|
|
950
|
+
|
|
951
|
+
- Discovery: shorten Bonjour DNS-SD service type to `_clawdbot-gw._tcp` and update discovery clients/docs.
|
|
952
|
+
- Diagnostics: export OTLP logs, correct queue depth tracking, and document message-flow telemetry.
|
|
953
|
+
- Diagnostics: emit message-flow diagnostics across channels via shared dispatch. (#1244)
|
|
954
|
+
- Diagnostics: gate heartbeat/webhook logging. (#1244)
|
|
955
|
+
- Gateway: strip inbound envelope headers from chat history messages to keep clients clean.
|
|
956
|
+
- Gateway: clarify unauthorized handshake responses with token/password mismatch guidance.
|
|
957
|
+
- Gateway: allow mobile node client ids for iOS + Android handshake validation. (#1354)
|
|
958
|
+
- Gateway: clarify connect/validation errors for gateway params. (#1347)
|
|
959
|
+
- Gateway: preserve restart wake routing + thread replies across restarts. (#1337)
|
|
960
|
+
- Gateway: reschedule per-agent heartbeats on config hot reload without restarting the runner.
|
|
961
|
+
- Gateway: require authorized restarts for SIGUSR1 (restart/apply/update) so config gating can't be bypassed.
|
|
962
|
+
- Cron: auto-deliver isolated agent output to explicit targets without tool calls. (#1285)
|
|
963
|
+
- Agents: preserve subagent announce thread/topic routing + queued replies across channels. (#1241)
|
|
964
|
+
- Agents: propagate accountId into embedded runs so sub-agent announce routing honors the originating account. (#1058)
|
|
965
|
+
- Agents: avoid treating timeout errors with "aborted" messages as user aborts, so model fallback still runs. (#1137)
|
|
966
|
+
- Agents: sanitize oversized image payloads before send and surface image-dimension errors.
|
|
967
|
+
- Sessions: fall back to session labels when listing display names. (#1124)
|
|
968
|
+
- Compaction: include tool failure summaries in safeguard compaction to prevent retry loops. (#1084)
|
|
969
|
+
- Config: log invalid config issues once per run and keep invalid-config errors stackless.
|
|
970
|
+
- Config: allow Perplexity as a web_search provider in config validation. (#1230)
|
|
971
|
+
- Config: allow custom fields under `skills.entries.<name>.config` for skill credentials/config. (#1226)
|
|
972
|
+
- Doctor: clarify plugin auto-enable hint text in the startup banner.
|
|
973
|
+
- Doctor: canonicalize legacy session keys in session stores to prevent stale metadata. (#1169)
|
|
974
|
+
- Docs: make docs:list fail fast with a clear error if the docs directory is missing.
|
|
975
|
+
- Plugins: add Nextcloud Talk manifest for plugin config validation. (#1297)
|
|
976
|
+
- Plugins: surface plugin load/register/config errors in gateway logs with plugin/source context.
|
|
977
|
+
- CLI: preserve cron delivery settings when editing message payloads. (#1322)
|
|
978
|
+
- CLI: keep `clawdbot logs` output resilient to broken pipes while preserving progress output.
|
|
979
|
+
- CLI: avoid duplicating --profile/--dev flags when formatting commands.
|
|
980
|
+
- CLI: centralize CLI command registration to keep fast-path routing and program wiring in sync. (#1207)
|
|
981
|
+
- CLI: keep banners on routed commands, restore config guarding outside fast-path routing, and tighten fast-path flag parsing while skipping console capture for extra speed. (#1195)
|
|
982
|
+
- CLI: skip runner rebuilds when dist is fresh. (#1231)
|
|
983
|
+
- CLI: add WSL2/systemd unavailable hints in daemon status/doctor output.
|
|
984
|
+
- Status: route native `/status` to the active agent so model selection reflects the correct profile. (#1301)
|
|
985
|
+
- Status: show both usage windows with reset hints when usage data is available. (#1101)
|
|
986
|
+
- UI: keep config form enums typed, preserve empty strings, protect sensitive defaults, and deepen config search. (#1315)
|
|
987
|
+
- UI: preserve ordered list numbering in chat markdown. (#1341)
|
|
988
|
+
- UI: allow Control UI to read gatewayUrl from URL params for remote WebSocket targets. (#1342)
|
|
989
|
+
- UI: prevent double-scroll in Control UI chat by locking chat layout to the viewport. (#1283)
|
|
990
|
+
- UI: enable shell mode for sync Windows spawns to avoid `pnpm ui:build` EINVAL. (#1212)
|
|
991
|
+
- TUI: keep thinking blocks ordered before content during streaming and isolate per-run assembly. (#1202)
|
|
992
|
+
- TUI: align custom editor initialization with the latest pi-tui API. (#1298)
|
|
993
|
+
- TUI: show generic empty-state text for searchable pickers. (#1201)
|
|
994
|
+
- TUI: highlight model search matches and stabilize search ordering.
|
|
995
|
+
- Configure: hide OpenRouter auto routing model from the model picker. (#1182)
|
|
996
|
+
- Memory: show total file counts + scan issues in `clawdbot memory status`.
|
|
997
|
+
- Memory: fall back to non-batch embeddings after repeated batch failures.
|
|
998
|
+
- Memory: apply OpenAI batch defaults even without explicit remote config.
|
|
999
|
+
- Memory: index atomically so failed reindex preserves the previous memory database. (#1151)
|
|
1000
|
+
- Memory: avoid sqlite-vec unique constraint failures when reindexing duplicate chunk ids. (#1151)
|
|
1001
|
+
- Memory: retry transient 5xx errors (Cloudflare) during embedding indexing.
|
|
1002
|
+
- Memory: parallelize embedding indexing with rate-limit retries.
|
|
1003
|
+
- Memory: split overly long lines to keep embeddings under token limits.
|
|
1004
|
+
- Memory: skip empty chunks to avoid invalid embedding inputs.
|
|
1005
|
+
- Memory: split embedding batches to avoid OpenAI token limits during indexing.
|
|
1006
|
+
- Memory: probe sqlite-vec availability in `clawdbot memory status`.
|
|
1007
|
+
- Exec approvals: enforce allowlist when ask is off.
|
|
1008
|
+
- Exec approvals: prefer raw command for node approvals/events.
|
|
1009
|
+
- Tools: show exec elevated flag before the command and keep it outside markdown in tool summaries.
|
|
1010
|
+
- Tools: return a companion-app-required message when node exec is requested with no paired node.
|
|
1011
|
+
- Tools: return a companion-app-required message when `system.run` is requested without a supporting node.
|
|
1012
|
+
- Exec: default gateway/node exec security to allowlist when unset (sandbox stays deny).
|
|
1013
|
+
- Exec: prefer bash when fish is default shell, falling back to sh if bash is missing. (#1297)
|
|
1014
|
+
- Exec: merge login-shell PATH for host=gateway exec while keeping daemon PATH minimal. (#1304)
|
|
1015
|
+
- Streaming: emit assistant deltas for OpenAI-compatible SSE chunks. (#1147)
|
|
1016
|
+
- Discord: make resolve warnings avoid raw JSON payloads on rate limits.
|
|
1017
|
+
- Discord: process message handlers in parallel across sessions to avoid event queue blocking. (#1295)
|
|
1018
|
+
- Discord: stop reconnecting the gateway after aborts to prevent duplicate listeners.
|
|
1019
|
+
- Discord: only emit slow listener warnings after 30s.
|
|
1020
|
+
- Discord: inherit parent channel allowlists for thread slash commands and reactions. (#1123)
|
|
1021
|
+
- Telegram: honor pairing allowlists for native slash commands.
|
|
1022
|
+
- Telegram: preserve hidden text_link URLs by expanding entities in inbound text. (#1118)
|
|
1023
|
+
- Slack: resolve Bolt import interop for Bun + Node. (#1191)
|
|
1024
|
+
- Web search: infer Perplexity base URL from API key source (direct vs OpenRouter).
|
|
1025
|
+
- Web fetch: harden SSRF protection with shared hostname checks and redirect limits. (#1346)
|
|
1026
|
+
- Browser: register AI snapshot refs for act commands. (#1282)
|
|
1027
|
+
- Voice call: include request query in Twilio webhook verification when publicUrl is set. (#864)
|
|
1028
|
+
- Anthropic: default API prompt caching to 1h with configurable TTL override.
|
|
1029
|
+
- Anthropic: ignore TTL for OAuth.
|
|
1030
|
+
- Auth profiles: keep auto-pinned preference while allowing rotation on failover. (#1138)
|
|
1031
|
+
- Auth profiles: user pins stay locked. (#1138)
|
|
1032
|
+
- Model catalog: avoid caching import failures, log transient discovery errors, and keep partial results. (#1332)
|
|
1033
|
+
- Tests: stabilize Windows gateway/CLI tests by skipping sidecars, normalizing argv, and extending timeouts.
|
|
1034
|
+
- Tests: stabilize plugin SDK resolution and embedded agent timeouts.
|
|
1035
|
+
- Windows: install gateway scheduled task as the current user.
|
|
1036
|
+
- Windows: show friendly guidance instead of failing on access denied.
|
|
1037
|
+
- macOS: load menu session previews asynchronously so items populate while the menu is open.
|
|
1038
|
+
- macOS: use label colors for session preview text so previews render in menu subviews.
|
|
1039
|
+
- macOS: suppress usage error text in the menubar cost view.
|
|
1040
|
+
- macOS: Doctor repairs LaunchAgent bootstrap issues for Gateway + Node when listed but not loaded. (#1166)
|
|
1041
|
+
- macOS: avoid touching launchd in Remote over SSH so quitting the app no longer disables the remote gateway. (#1105)
|
|
1042
|
+
- macOS: bundle Textual resources in packaged app builds to avoid code block crashes. (#1006)
|
|
1043
|
+
- Daemon: include HOME in service environments to avoid missing HOME errors. (#1214)
|
|
1044
|
+
|
|
1045
|
+
Thanks @AlexMikhalev, @CoreyH, @John-Rood, @KrauseFx, @MaudeBot, @Nachx639, @NicholaiVogel, @RyanLisse, @ThePickle31, @VACInc, @Whoaa512, @YuriNachos, @aaronveklabs, @abdaraxus, @alauppe, @ameno-, @artuskg, @austinm911, @bradleypriest, @cheeeee, @dougvk, @fogboots, @gnarco, @gumadeiras, @jdrhyne, @joelklabo, @longmaba, @mukhtharcm, @odysseus0, @oscargavin, @rhjoh, @sebslight, @sibbl, @sleontenko, @steipete, @suminhthanh, @thewilloftheshadow, @tyler6204, @vignesh07, @visionik, @ysqander, @zerone0x.
|
|
1046
|
+
|
|
1047
|
+
## 2026.1.16-2
|
|
1048
|
+
|
|
1049
|
+
### Changes
|
|
1050
|
+
|
|
1051
|
+
- CLI: stamp build commit into dist metadata so banners show the commit in npm installs.
|
|
1052
|
+
- CLI: close memory manager after memory commands to avoid hanging processes. (#1127) — thanks @NicholasSpisak.
|
|
1053
|
+
|
|
1054
|
+
## 2026.1.16-1
|
|
1055
|
+
|
|
1056
|
+
### Highlights
|
|
1057
|
+
|
|
1058
|
+
- Hooks: add hooks system with bundled hooks, CLI tooling, and docs. (#1028) — thanks @ThomsenDrake. https://docs.clawd.bot/hooks
|
|
1059
|
+
- Media: add inbound media understanding (image/audio/video) with provider + CLI fallbacks. https://docs.clawd.bot/nodes/media-understanding
|
|
1060
|
+
- Plugins: add Zalo Personal plugin (`@clawdbot/zalouser`) and unify channel directory for plugins. (#1032) — thanks @suminhthanh. https://docs.clawd.bot/plugins/zalouser
|
|
1061
|
+
- Models: add Vercel AI Gateway auth choice + onboarding updates. (#1016) — thanks @timolins. https://docs.clawd.bot/providers/vercel-ai-gateway
|
|
1062
|
+
- Sessions: add `session.identityLinks` for cross-platform DM session li nking. (#1033) — thanks @thewilloftheshadow. https://docs.clawd.bot/concepts/session
|
|
1063
|
+
- Web search: add `country`/`language` parameters (schema + Brave API) and docs. (#1046) — thanks @YuriNachos. https://docs.clawd.bot/tools/web
|
|
1064
|
+
|
|
1065
|
+
### Breaking
|
|
1066
|
+
|
|
1067
|
+
- **BREAKING:** `clawdbot message` and message tool now require `target` (dropping `to`/`channelId` for destinations). (#1034) — thanks @tobalsan.
|
|
1068
|
+
- **BREAKING:** Channel auth now prefers config over env for Discord/Telegram/Matrix (env is fallback only). (#1040) — thanks @thewilloftheshadow.
|
|
1069
|
+
- **BREAKING:** Drop legacy `chatType: "room"` support; use `chatType: "channel"`.
|
|
1070
|
+
- **BREAKING:** remove legacy provider-specific target resolution fallbacks; target resolution is centralized with plugin hints + directory lookups.
|
|
1071
|
+
- **BREAKING:** `clawdbot hooks` is now `clawdbot webhooks`; hooks live under `clawdbot hooks`. https://docs.clawd.bot/cli/webhooks
|
|
1072
|
+
- **BREAKING:** `clawdbot plugins install <path>` now copies into `~/.clawdbot/extensions` (use `--link` to keep path-based loading).
|
|
1073
|
+
|
|
1074
|
+
### Changes
|
|
1075
|
+
|
|
1076
|
+
- Plugins: ship bundled plugins disabled by default and allow overrides by installed versions. (#1066) — thanks @ItzR3NO.
|
|
1077
|
+
- Plugins: add bundled Antigravity + Gemini CLI OAuth + Copilot Proxy provider plugins. (#1066) — thanks @ItzR3NO.
|
|
1078
|
+
- Tools: improve `web_fetch` extraction using Readability (with fallback).
|
|
1079
|
+
- Tools: add Firecrawl fallback for `web_fetch` when configured.
|
|
1080
|
+
- Tools: send Chrome-like headers by default for `web_fetch` to improve extraction on bot-sensitive sites.
|
|
1081
|
+
- Tools: Firecrawl fallback now uses bot-circumvention + cache by default; remove basic HTML fallback when extraction fails.
|
|
1082
|
+
- Tools: default `exec` exit notifications and auto-migrate legacy `tools.bash` to `tools.exec`.
|
|
1083
|
+
- Tools: add `exec` PTY support for interactive sessions. https://docs.clawd.bot/tools/exec
|
|
1084
|
+
- Tools: add tmux-style `process send-keys` and bracketed paste helpers for PTY sessions.
|
|
1085
|
+
- Tools: add `process submit` helper to send CR for PTY sessions.
|
|
1086
|
+
- Tools: respond to PTY cursor position queries to unblock interactive TUIs.
|
|
1087
|
+
- Tools: include tool outputs in verbose mode and expand verbose tool feedback.
|
|
1088
|
+
- Skills: update coding-agent guidance to prefer PTY-enabled exec runs and simplify tmux usage.
|
|
1089
|
+
- TUI: refresh session token counts after runs complete or fail. (#1079) — thanks @d-ploutarchos.
|
|
1090
|
+
- Status: trim `/status` to current-provider usage only and drop the OAuth/token block.
|
|
1091
|
+
- Directory: unify `clawdbot directory` across channels and plugin channels.
|
|
1092
|
+
- UI: allow deleting sessions from the Control UI.
|
|
1093
|
+
- Memory: add sqlite-vec vector acceleration with CLI status details.
|
|
1094
|
+
- Memory: add experimental session transcript indexing for memory_search (opt-in via memorySearch.experimental.sessionMemory + sources).
|
|
1095
|
+
- Skills: add user-invocable skill commands and expanded skill command registration.
|
|
1096
|
+
- Telegram: default reaction level to minimal and enable reaction notifications by default.
|
|
1097
|
+
- Telegram: allow reply-chain messages to bypass mention gating in groups. (#1038) — thanks @adityashaw2.
|
|
1098
|
+
- iMessage: add remote attachment support for VM/SSH deployments.
|
|
1099
|
+
- Messages: refresh live directory cache results when resolving targets.
|
|
1100
|
+
- Messages: mirror delivered outbound text/media into session transcripts. (#1031) — thanks @TSavo.
|
|
1101
|
+
- Messages: avoid redundant sender envelopes for iMessage + Signal group chats. (#1080) — thanks @tyler6204.
|
|
1102
|
+
- Media: normalize Deepgram audio upload bytes for fetch compatibility.
|
|
1103
|
+
- Cron: isolated cron jobs now start a fresh session id on every run to prevent context buildup.
|
|
1104
|
+
- Docs: add `/help` hub, Node/npm PATH guide, and expand directory CLI docs.
|
|
1105
|
+
- Config: support env var substitution in config values. (#1044) — thanks @sebslight.
|
|
1106
|
+
- Health: add per-agent session summaries and account-level health details, and allow selective probes. (#1047) — thanks @gumadeiras.
|
|
1107
|
+
- Hooks: add hook pack installs (npm/path/zip/tar) with `clawdbot.hooks` manifests and `clawdbot hooks install/update`.
|
|
1108
|
+
- Plugins: add zip installs and `--link` to avoid copying local paths.
|
|
1109
|
+
|
|
1110
|
+
### Fixes
|
|
1111
|
+
|
|
1112
|
+
- macOS: drain subprocess pipes before waiting to avoid deadlocks. (#1081) — thanks @thesash.
|
|
1113
|
+
- Verbose: wrap tool summaries/output in markdown only for markdown-capable channels.
|
|
1114
|
+
- Tools: include provider/session context in elevated exec denial errors.
|
|
1115
|
+
- Tools: normalize exec tool alias naming in tool error logs.
|
|
1116
|
+
- Logging: reuse shared ANSI stripping to keep console capture lint-clean.
|
|
1117
|
+
- Logging: prefix nested agent output with session/run/channel context.
|
|
1118
|
+
- Telegram: accept tg/group/telegram prefixes + topic targets for inline button validation. (#1072) — thanks @danielz1z.
|
|
1119
|
+
- Telegram: split long captions into follow-up messages.
|
|
1120
|
+
- Config: block startup on invalid config, preserve best-effort doctor config, and keep rolling config backups. (#1083) — thanks @mukhtharcm.
|
|
1121
|
+
- Sub-agents: normalize announce delivery origin + queue bucketing by accountId to keep multi-account routing stable. (#1061, #1058) — thanks @adam91holt.
|
|
1122
|
+
- Sessions: include deliveryContext in sessions.list and reuse normalized delivery routing for announce/restart fallbacks. (#1058)
|
|
1123
|
+
- Sessions: propagate deliveryContext into last-route updates to keep account/channel routing stable. (#1058)
|
|
1124
|
+
- Sessions: preserve overrides on `/new` reset.
|
|
1125
|
+
- Memory: prevent unhandled rejections when watch/interval sync fails. (#1076) — thanks @roshanasingh4.
|
|
1126
|
+
- Memory: avoid gateway crash when embeddings return 429/insufficient_quota (disable tool + surface error). (#1004)
|
|
1127
|
+
- Gateway: honor explicit delivery targets without implicit accountId fallback; preserve lastAccountId for implicit routing.
|
|
1128
|
+
- Gateway: avoid reusing last-to/accountId when the requested channel differs; sync deliveryContext with last route fields.
|
|
1129
|
+
- Build: allow `@lydell/node-pty` builds on supported platforms.
|
|
1130
|
+
- Repo: fix oxlint config filename and move ignore pattern into config. (#1064) — thanks @connorshea.
|
|
1131
|
+
- Messages: `/stop` now hard-aborts queued followups and sub-agent runs; suppress zero-count stop notes.
|
|
1132
|
+
- Messages: honor message tool channel when deduping sends.
|
|
1133
|
+
- Messages: include sender labels for live group messages across channels, matching queued/history formatting. (#1059)
|
|
1134
|
+
- Sessions: reset `compactionCount` on `/new` and `/reset`, and preserve `sessions.json` file mode (0600).
|
|
1135
|
+
- Sessions: repair orphaned user turns before embedded prompts.
|
|
1136
|
+
- Sessions: hard-stop `sessions.delete` cleanup.
|
|
1137
|
+
- Channels: treat replies to the bot as implicit mentions across supported channels.
|
|
1138
|
+
- Channels: normalize object-format capabilities in channel capability parsing.
|
|
1139
|
+
- Security: default-deny slash/control commands unless a channel computed `CommandAuthorized` (fixes accidental “open” behavior), and ensure WhatsApp + Zalo plugin channels gate inline `/…` tokens correctly. https://docs.clawd.bot/gateway/security
|
|
1140
|
+
- Security: redact sensitive text in gateway WS logs.
|
|
1141
|
+
- Tools: cap pending `exec` process output to avoid unbounded buffers.
|
|
1142
|
+
- CLI: speed up `clawdbot sandbox-explain` by avoiding heavy plugin imports when normalizing channel ids.
|
|
1143
|
+
- Browser: remote profile tab operations prefer persistent Playwright and avoid silent HTTP fallbacks. (#1057) — thanks @mukhtharcm.
|
|
1144
|
+
- Browser: remote profile tab ops follow-up: shared Playwright loader, Playwright-based focus, and more coverage (incl. opt-in live Browserless test). (follow-up to #1057) — thanks @mukhtharcm.
|
|
1145
|
+
- Browser: refresh extension relay tab metadata after navigation so `/json/list` stays current. (#1073) — thanks @roshanasingh4.
|
|
1146
|
+
- WhatsApp: scope self-chat response prefix; inject pending-only group history and clear after any processed message.
|
|
1147
|
+
- WhatsApp: include `linked` field in `describeAccount`.
|
|
1148
|
+
- Agents: drop unsigned Gemini tool calls and avoid JSON Schema `format` keyword collisions.
|
|
1149
|
+
- Agents: hide the image tool when the primary model already supports images.
|
|
1150
|
+
- Agents: avoid duplicate sends by replying with `NO_REPLY` after `message` tool sends.
|
|
1151
|
+
- Auth: inherit/merge sub-agent auth profiles from the main agent.
|
|
1152
|
+
- Gateway: resolve local auth for security probe and validate gateway token/password file modes. (#1011, #1022) — thanks @ivanrvpereira, @kkarimi.
|
|
1153
|
+
- Signal/iMessage: bound transport readiness waits to 30s with periodic logging. (#1014) — thanks @Szpadel.
|
|
1154
|
+
- iMessage: avoid RPC restart loops.
|
|
1155
|
+
- OpenAI image-gen: handle URL + `b64_json` responses and remove deprecated `response_format` (use URL downloads).
|
|
1156
|
+
- CLI: auto-update global installs when installed via a package manager.
|
|
1157
|
+
- Routing: migrate legacy `accountID` bindings to `accountId` and remove legacy fallback lookups. (#1047) — thanks @gumadeiras.
|
|
1158
|
+
- Discord: truncate skill command descriptions to 100 chars for slash command limits. (#1018) — thanks @evalexpr.
|
|
1159
|
+
- Security: bump `tar` to 7.5.3.
|
|
1160
|
+
- Models: align ZAI thinking toggles.
|
|
1161
|
+
- iMessage/Signal: include sender metadata for non-queued group messages. (#1059)
|
|
1162
|
+
- Discord: preserve whitespace when chunking long lines so message splits keep spacing intact.
|
|
1163
|
+
- Skills: fix skills watcher ignored list typing (tsc).
|
|
1164
|
+
|
|
1165
|
+
## 2026.1.15
|
|
1166
|
+
|
|
1167
|
+
### Highlights
|
|
1168
|
+
|
|
1169
|
+
- Plugins: add provider auth registry + `clawdbot models auth login` for plugin-driven OAuth/API key flows.
|
|
1170
|
+
- Browser: improve remote CDP/Browserless support (auth passthrough, `wss` upgrade, timeouts, clearer errors).
|
|
1171
|
+
- Heartbeat: per-agent configuration + 24h duplicate suppression. (#980) — thanks @voidserf.
|
|
1172
|
+
- Security: audit warns on weak model tiers; app nodes store auth tokens encrypted (Keychain/SecurePrefs).
|
|
1173
|
+
|
|
1174
|
+
### Breaking
|
|
1175
|
+
|
|
1176
|
+
- **BREAKING:** iOS minimum version is now 18.0 to support Textual markdown rendering in native chat. (#702)
|
|
1177
|
+
- **BREAKING:** Microsoft Teams is now a plugin; install `@clawdbot/msteams` via `clawdbot plugins install @clawdbot/msteams`.
|
|
1178
|
+
- **BREAKING:** Channel auth now prefers config over env for Discord/Telegram/Matrix (env is fallback only). (#1040) — thanks @thewilloftheshadow.
|
|
1179
|
+
|
|
1180
|
+
### Changes
|
|
1181
|
+
|
|
1182
|
+
- UI/Apps: move channel/config settings to schema-driven forms and rename Connections → Channels. (#1040) — thanks @thewilloftheshadow.
|
|
1183
|
+
- CLI: set process titles to `clawdbot-<command>` for clearer process listings.
|
|
1184
|
+
- CLI/macOS: sync remote SSH target/identity to config and let `gateway status` auto-infer SSH targets (ssh-config aware).
|
|
1185
|
+
- Telegram: scope inline buttons with allowlist default + callback gating in DMs/groups.
|
|
1186
|
+
- Telegram: default reaction notifications to own.
|
|
1187
|
+
- Tools: improve `web_fetch` extraction using Readability (with fallback).
|
|
1188
|
+
- Heartbeat: tighten prompt guidance + suppress duplicate alerts for 24h. (#980) — thanks @voidserf.
|
|
1189
|
+
- Repo: ignore local identity files to avoid accidental commits. (#1001) — thanks @gerardward2007.
|
|
1190
|
+
- Sessions/Security: add `session.dmScope` for multi-user DM isolation and audit warnings. (#948) — thanks @Alphonse-arianee.
|
|
1191
|
+
- Plugins: add provider auth registry + `clawdbot models auth login` for plugin-driven OAuth/API key flows.
|
|
1192
|
+
- Onboarding: switch channels setup to a single-select loop with per-channel actions and disabled hints in the picker.
|
|
1193
|
+
- TUI: show provider/model labels for the active session and default model.
|
|
1194
|
+
- Heartbeat: add per-agent heartbeat configuration and multi-agent docs example.
|
|
1195
|
+
- UI: show gateway auth guidance + doc link on unauthorized Control UI connections.
|
|
1196
|
+
- UI: add session deletion action in Control UI sessions list. (#1017) — thanks @Szpadel.
|
|
1197
|
+
- Security: warn on weak model tiers (Haiku, below GPT-5, below Claude 4.5) in `clawdbot security audit`.
|
|
1198
|
+
- Apps: store node auth tokens encrypted (Keychain/SecurePrefs).
|
|
1199
|
+
- Daemon: share profile/state-dir resolution across service helpers and honor `CLAWDBOT_STATE_DIR` for Windows task scripts.
|
|
1200
|
+
- Docs: clarify multi-gateway rescue bot guidance. (#969) — thanks @bjesuiter.
|
|
1201
|
+
- Agents: add Current Date & Time system prompt section with configurable time format (auto/12/24).
|
|
1202
|
+
- Tools: normalize Slack/Discord message timestamps with `timestampMs`/`timestampUtc` while keeping raw provider fields.
|
|
1203
|
+
- macOS: add `system.which` for prompt-free remote skill discovery (with gateway fallback to `system.run`).
|
|
1204
|
+
- Docs: add Date & Time guide and update prompt/timezone configuration docs.
|
|
1205
|
+
- Messages: debounce rapid inbound messages across channels with per-connector overrides. (#971) — thanks @juanpablodlc.
|
|
1206
|
+
- Messages: allow media-only sends (CLI/tool) and show Telegram voice recording status for voice notes. (#957) — thanks @rdev.
|
|
1207
|
+
- Auth/Status: keep auth profiles sticky per session (rotate on compaction/new), surface provider usage headers in `/status` and `clawdbot models status`, and update docs.
|
|
1208
|
+
- CLI: add `--json` output for `clawdbot daemon` lifecycle/install commands.
|
|
1209
|
+
- Memory: make `node-llama-cpp` an optional dependency (avoid Node 25 install failures) and improve local-embeddings fallback/errors.
|
|
1210
|
+
- Browser: add `snapshot refs=aria` (Playwright aria-ref ids) for self-resolving refs across `snapshot` → `act`.
|
|
1211
|
+
- Browser: `profile="chrome"` now defaults to host control and returns clearer “attach a tab” errors.
|
|
1212
|
+
- Browser: prefer stable Chrome for auto-detect, with Brave/Edge fallbacks and updated docs. (#983) — thanks @cpojer.
|
|
1213
|
+
- Browser: increase remote CDP reachability timeouts + add `remoteCdpTimeoutMs`/`remoteCdpHandshakeTimeoutMs`.
|
|
1214
|
+
- Browser: preserve auth/query tokens for remote CDP endpoints and pass Basic auth for CDP HTTP/WS. (#895) — thanks @mukhtharcm.
|
|
1215
|
+
- Telegram: add bidirectional reaction support with configurable notifications and agent guidance. (#964) — thanks @bohdanpodvirnyi.
|
|
1216
|
+
- Telegram: allow custom commands in the bot menu (merged with native; conflicts ignored). (#860) — thanks @nachoiacovino.
|
|
1217
|
+
- Discord: allow allowlisted guilds without channel lists to receive messages when `groupPolicy="allowlist"`. — thanks @thewilloftheshadow.
|
|
1218
|
+
- Discord: allow emoji/sticker uploads + channel actions in config defaults. (#870) — thanks @JDIVE.
|
|
1219
|
+
|
|
1220
|
+
### Fixes
|
|
1221
|
+
|
|
1222
|
+
- Messages: make `/stop` clear queued followups and pending session lane work for a hard abort.
|
|
1223
|
+
- Messages: make `/stop` abort active sub-agent runs spawned from the requester session and report how many were stopped.
|
|
1224
|
+
- WhatsApp: report linked status consistently in channel status. (#1050) — thanks @YuriNachos.
|
|
1225
|
+
- Sessions: keep per-session overrides when `/new` resets compaction counters. (#1050) — thanks @YuriNachos.
|
|
1226
|
+
- Skills: allow OpenAI image-gen helper to handle URL or base64 responses. (#1050) — thanks @YuriNachos.
|
|
1227
|
+
- WhatsApp: default response prefix only for self-chat, using identity name when set.
|
|
1228
|
+
- Signal/iMessage: bound transport readiness waits to 30s with periodic logging. (#1014) — thanks @Szpadel.
|
|
1229
|
+
- iMessage: treat missing `imsg rpc` support as fatal to avoid restart loops.
|
|
1230
|
+
- Auth: merge main auth profiles into per-agent stores for sub-agents and document inheritance. (#1013) — thanks @marcmarg.
|
|
1231
|
+
- Agents: avoid JSON Schema `format` collisions in tool params by renaming snapshot format fields. (#1013) — thanks @marcmarg.
|
|
1232
|
+
- Fix: make `clawdbot update` auto-update global installs when installed via a package manager.
|
|
1233
|
+
- Fix: list model picker entries as provider/model pairs for explicit selection. (#970) — thanks @mcinteerj.
|
|
1234
|
+
- Fix: align OpenAI image-gen defaults with DALL-E 3 standard quality and document output formats. (#880) — thanks @mkbehr.
|
|
1235
|
+
- Fix: persist `gateway.mode=local` after selecting Local run mode in `clawdbot configure`, even if no other sections are chosen.
|
|
1236
|
+
- Daemon: fix profile-aware service label resolution (env-driven) and add coverage for launchd/systemd/schtasks. (#969) — thanks @bjesuiter.
|
|
1237
|
+
- Agents: avoid false positives when logging unsupported Google tool schema keywords.
|
|
1238
|
+
- Agents: skip Gemini history downgrades for google-antigravity to preserve tool calls. (#894) — thanks @mukhtharcm.
|
|
1239
|
+
- Status: restore usage summary line for current provider when no OAuth profiles exist.
|
|
1240
|
+
- Fix: guard model fallback against undefined provider/model values. (#954) — thanks @roshanasingh4.
|
|
1241
|
+
- Fix: refactor session store updates, add chat.inject, and harden subagent cleanup flow. (#944) — thanks @tyler6204.
|
|
1242
|
+
- Fix: clean up suspended CLI processes across backends. (#978) — thanks @Nachx639.
|
|
1243
|
+
- Fix: support MiniMax coding plan usage responses with `model_remains`/`current_interval_*` payloads.
|
|
1244
|
+
- Fix: honor message tool channel for duplicate suppression (prefer `NO_REPLY` after `message` tool sends). (#1053) — thanks @sashcatanzarite.
|
|
1245
|
+
- Fix: suppress WhatsApp pairing replies for historical catch-up DMs on initial link. (#904)
|
|
1246
|
+
- Browser: extension mode recovers when only one tab is attached (stale targetId fallback).
|
|
1247
|
+
- Browser: fix `tab not found` for extension relay snapshots/actions when Playwright blocks `newCDPSession` (use the single available Page).
|
|
1248
|
+
- Browser: upgrade `ws` → `wss` when remote CDP uses `https` (fixes Browserless handshake).
|
|
1249
|
+
- Telegram: skip `message_thread_id=1` for General topic sends while keeping typing indicators. (#848) — thanks @azade-c.
|
|
1250
|
+
- Fix: sanitize user-facing error text + strip `<final>` tags across reply pipelines. (#975) — thanks @ThomsenDrake.
|
|
1251
|
+
- Fix: normalize pairing CLI aliases, allow extension channels, and harden Zalo webhook payload parsing. (#991) — thanks @longmaba.
|
|
1252
|
+
- Fix: allow local Tailscale Serve hostnames without treating tailnet clients as direct. (#885) — thanks @oswalpalash.
|
|
1253
|
+
- Fix: reset sessions after role-ordering conflicts to recover from consecutive user turns. (#998)
|
|
1254
|
+
|
|
1255
|
+
## 2026.1.14-1
|
|
1256
|
+
|
|
1257
|
+
### Highlights
|
|
1258
|
+
|
|
1259
|
+
- Web search: `web_search`/`web_fetch` tools (Brave API) + first-time setup in onboarding/configure.
|
|
1260
|
+
- Browser control: Chrome extension relay takeover mode + remote browser control via `clawdbot browser serve`.
|
|
1261
|
+
- Plugins: channel plugins (gateway HTTP hooks) + Zalo plugin + onboarding install flow. (#854) — thanks @longmaba.
|
|
1262
|
+
- Security: expanded `clawdbot security audit` (+ `--fix`), detect-secrets CI scan, and a `SECURITY.md` reporting policy.
|
|
1263
|
+
|
|
1264
|
+
### Changes
|
|
1265
|
+
|
|
1266
|
+
- Docs: clarify per-agent auth stores, sandboxed skill binaries, and elevated semantics.
|
|
1267
|
+
- Docs: add FAQ entries for missing provider auth after adding agents and Gemini thinking signature errors.
|
|
1268
|
+
- Agents: add optional auth-profile copy prompt on `agents add` and improve auth error messaging.
|
|
1269
|
+
- Security: expand `clawdbot security audit` checks (model hygiene, config includes, plugin allowlists, exposure matrix) and extend `--fix` to tighten more sensitive state paths.
|
|
1270
|
+
- Security: add `SECURITY.md` reporting policy.
|
|
1271
|
+
- Channels: add Matrix plugin (external) with docs + onboarding hooks.
|
|
1272
|
+
- Plugins: add Zalo channel plugin with gateway HTTP hooks and onboarding install prompt. (#854) — thanks @longmaba.
|
|
1273
|
+
- Onboarding: add a security checkpoint prompt (docs link + sandboxing hint); require `--accept-risk` for `--non-interactive`.
|
|
1274
|
+
- Docs: expand gateway security hardening guidance and incident response checklist.
|
|
1275
|
+
- Docs: document DM history limits for channel DMs. (#883) — thanks @pkrmf.
|
|
1276
|
+
- Security: add detect-secrets CI scan and baseline guidance. (#227) — thanks @Hyaxia.
|
|
1277
|
+
- Tools: add `web_search`/`web_fetch` (Brave API), auto-enable `web_fetch` for sandboxed sessions, and remove the `brave-search` skill.
|
|
1278
|
+
- CLI/Docs: add a web tools configure section for storing Brave API keys and update onboarding tips.
|
|
1279
|
+
- Browser: add Chrome extension relay takeover mode (toolbar button), plus `clawdbot browser extension install/path` and remote browser control via `clawdbot browser serve` + `browser.controlToken`.
|
|
1280
|
+
|
|
1281
|
+
### Fixes
|
|
1282
|
+
|
|
1283
|
+
- Sessions: refactor session store updates to lock + mutate per-entry, add chat.inject, and harden subagent cleanup flow. (#944) — thanks @tyler6204.
|
|
1284
|
+
- Browser: add tests for snapshot labels/efficient query params and labeled image responses.
|
|
1285
|
+
- Google: downgrade unsigned thinking blocks before send to avoid missing signature errors.
|
|
1286
|
+
- Doctor: avoid re-adding WhatsApp config when only legacy ack reactions are set. (#927, fixes #900) — thanks @grp06.
|
|
1287
|
+
- Agents: scrub tuple `items` schemas for Gemini tool calls. (#926, fixes #746) — thanks @grp06.
|
|
1288
|
+
- Agents: harden Antigravity Claude history/tool-call sanitization. (#968) — thanks @rdev.
|
|
1289
|
+
- Agents: stabilize sub-agent announce status from runtime outcomes and normalize Result/Notes. (#835) — thanks @roshanasingh4.
|
|
1290
|
+
- Embedded runner: suppress raw API error payloads from replies. (#924) — thanks @grp06.
|
|
1291
|
+
- Auth: normalize Claude Code CLI profile mode to oauth and auto-migrate config. (#855) — thanks @sebslight.
|
|
1292
|
+
- Daemon: clear persisted launchd disabled state before bootstrap (fixes `daemon install` after uninstall). (#849) — thanks @ndraiman.
|
|
1293
|
+
- Logging: tolerate `EIO` from console writes to avoid gateway crashes. (#925, fixes #878) — thanks @grp06.
|
|
1294
|
+
- Sandbox: restore `docker.binds` config validation for custom bind mounts. (#873) — thanks @akonyer.
|
|
1295
|
+
- Sandbox: preserve configured PATH for `docker exec` so custom tools remain available. (#873) — thanks @akonyer.
|
|
1296
|
+
- Slack: respect `channels.slack.requireMention` default when resolving channel mention gating. (#850) — thanks @evalexpr.
|
|
1297
|
+
- Telegram: aggregate split inbound messages into one prompt (reduces “one reply per fragment”).
|
|
1298
|
+
- Auto-reply: treat trailing `NO_REPLY` tokens as silent replies.
|
|
1299
|
+
- Config: prevent partial config writes from clobbering unrelated settings (base hash guard + merge patch for connection saves).
|
|
1300
|
+
|
|
1301
|
+
## 2026.1.14
|
|
1302
|
+
|
|
1303
|
+
### Changes
|
|
1304
|
+
|
|
1305
|
+
- Usage: add MiniMax coding plan usage tracking.
|
|
1306
|
+
- Auth: label Claude Code CLI auth options. (#915) — thanks @SeanZoR.
|
|
1307
|
+
- Docs: standardize Claude Code CLI naming across docs and prompts. (follow-up to #915)
|
|
1308
|
+
- Telegram: add message delete action in the message tool. (#903) — thanks @sleontenko.
|
|
1309
|
+
- Config: add `channels.<provider>.configWrites` gating for channel-initiated config writes; migrate Slack channel IDs.
|
|
1310
|
+
|
|
1311
|
+
### Fixes
|
|
1312
|
+
|
|
1313
|
+
- Mac: pass auth token/password to dashboard URL for authenticated access. (#918) — thanks @rahthakor.
|
|
1314
|
+
- UI: use application-defined WebSocket close code (browser compatibility). (#918) — thanks @rahthakor.
|
|
1315
|
+
- TUI: render picker overlays via the overlay stack so /models and /settings display. (#921) — thanks @grizzdank.
|
|
1316
|
+
- TUI: add a bright spinner + elapsed time in the status line for send/stream/run states.
|
|
1317
|
+
- TUI: show LLM error messages (rate limits, auth, etc.) instead of `(no output)`.
|
|
1318
|
+
- Gateway/Dev: ensure `pnpm gateway:dev` always uses the dev profile config + state (`~/.clawdbot-dev`).
|
|
1319
|
+
|
|
1320
|
+
#### Agents / Auth / Tools / Sandbox
|
|
1321
|
+
|
|
1322
|
+
- Agents: make user time zone and 24-hour time explicit in the system prompt. (#859) — thanks @CashWilliams.
|
|
1323
|
+
- Agents: strip downgraded tool call text without eating adjacent replies and filter thinking-tag leaks. (#905) — thanks @erikpr1994.
|
|
1324
|
+
- Agents: cap tool call IDs for OpenAI/OpenRouter to avoid request rejections. (#875) — thanks @j1philli.
|
|
1325
|
+
- Agents: scrub tuple `items` schemas for Gemini tool calls. (#926, fixes #746) — thanks @grp06.
|
|
1326
|
+
- Agents: stabilize sub-agent announce status from runtime outcomes and normalize Result/Notes. (#835) — thanks @roshanasingh4.
|
|
1327
|
+
- Auth: normalize Claude Code CLI profile mode to oauth and auto-migrate config. (#855) — thanks @sebslight.
|
|
1328
|
+
- Embedded runner: suppress raw API error payloads from replies. (#924) — thanks @grp06.
|
|
1329
|
+
- Logging: tolerate `EIO` from console writes to avoid gateway crashes. (#925, fixes #878) — thanks @grp06.
|
|
1330
|
+
- Sandbox: restore `docker.binds` config validation and preserve configured PATH for `docker exec`. (#873) — thanks @akonyer.
|
|
1331
|
+
- Google: downgrade unsigned thinking blocks before send to avoid missing signature errors.
|
|
1332
|
+
|
|
1333
|
+
#### macOS / Apps
|
|
1334
|
+
|
|
1335
|
+
- macOS: ensure launchd log directory exists with a test-only override. (#909) — thanks @roshanasingh4.
|
|
1336
|
+
- macOS: format ConnectionsStore config to satisfy SwiftFormat lint. (#852) — thanks @mneves75.
|
|
1337
|
+
- macOS: pass auth token/password to dashboard URL for authenticated access. (#918) — thanks @rahthakor.
|
|
1338
|
+
- macOS: reuse launchd gateway auth and skip wizard when gateway config already exists. (#917)
|
|
1339
|
+
- macOS: prefer the default bridge tunnel port in remote mode for node bridge connectivity; document macOS remote control + bridge tunnels. (#960, fixes #865) — thanks @kkarimi.
|
|
1340
|
+
- Apps: use canonical main session keys from gateway defaults across macOS/iOS/Android to avoid creating bare `main` sessions.
|
|
1341
|
+
- macOS: fix cron preview/testing payload to use `channel` key. (#867) — thanks @wes-davis.
|
|
1342
|
+
- Telegram: honor `channels.telegram.timeoutSeconds` for grammY API requests. (#863) — thanks @Snaver.
|
|
1343
|
+
- Telegram: split long captions into media + follow-up text messages. (#907) - thanks @jalehman.
|
|
1344
|
+
- Telegram: migrate group config when supergroups change chat IDs. (#906) — thanks @sleontenko.
|
|
1345
|
+
- Messaging: unify markdown formatting + format-first chunking for Slack/Telegram/Signal. (#920) — thanks @TheSethRose.
|
|
1346
|
+
- Slack: drop Socket Mode events with mismatched `api_app_id`/`team_id`. (#889) — thanks @roshanasingh4.
|
|
1347
|
+
- Discord: isolate autoThread thread context. (#856) — thanks @davidguttman.
|
|
1348
|
+
- WhatsApp: fix context isolation using wrong ID (was bot's number, now conversation ID). (#911) — thanks @tristanmanchester.
|
|
1349
|
+
- WhatsApp: normalize user JIDs with device suffix for allowlist checks in groups. (#838) — thanks @peschee.
|
|
1350
|
+
|
|
1351
|
+
## 2026.1.13
|
|
1352
|
+
|
|
1353
|
+
### Fixes
|
|
1354
|
+
|
|
1355
|
+
- Postinstall: treat already-applied pnpm patches as no-ops to avoid npm/bun install failures.
|
|
1356
|
+
- Packaging: pin `@mariozechner/pi-ai` to 0.45.7 and refresh patched dependency to match npm resolution.
|
|
1357
|
+
|
|
1358
|
+
## 2026.1.12-2
|
|
1359
|
+
|
|
1360
|
+
### Fixes
|
|
1361
|
+
|
|
1362
|
+
- Packaging: include `dist/memory/**` in the npm tarball (fixes `ERR_MODULE_NOT_FOUND` for `dist/memory/index.js`).
|
|
1363
|
+
- Agents: persist sub-agent registry across gateway restarts and resume announce flow safely. (#831) — thanks @roshanasingh4.
|
|
1364
|
+
- Agents: strip invalid Gemini thought signatures from OpenRouter history to avoid 400s. (#841, #845) — thanks @MatthieuBizien.
|
|
1365
|
+
|
|
1366
|
+
## 2026.1.12-1
|
|
1367
|
+
|
|
1368
|
+
### Fixes
|
|
1369
|
+
|
|
1370
|
+
- Packaging: include `dist/channels/**` in the npm tarball (fixes `ERR_MODULE_NOT_FOUND` for `dist/channels/registry.js`).
|
|
1371
|
+
|
|
1372
|
+
## 2026.1.12
|
|
1373
|
+
|
|
1374
|
+
### Highlights
|
|
1375
|
+
|
|
1376
|
+
- **BREAKING:** rename chat “providers” (Slack/Telegram/WhatsApp/…) to **channels** across CLI/RPC/config; legacy config keys auto-migrate on load (and are written back as `channels.*`).
|
|
1377
|
+
- Memory: add vector search for agent memories (Markdown-only) with SQLite index, chunking, lazy sync + file watch, and per-agent enablement/fallback.
|
|
1378
|
+
- Plugins: restore full voice-call plugin parity (Telnyx/Twilio, streaming, inbound policies, tools/CLI).
|
|
1379
|
+
- Models: add Synthetic provider plus Moonshot Kimi K2 0905 + turbo/thinking variants (with docs). (#811) — thanks @siraht; (#818) — thanks @mickahouan.
|
|
1380
|
+
- Cron: one-shot schedules accept ISO timestamps (UTC) with optional delete-after-run; cron jobs can target a specific agent (CLI + macOS/Control UI).
|
|
1381
|
+
- Agents: add compaction mode config with optional safeguard summarization and per-agent model fallbacks. (#700) — thanks @thewilloftheshadow; (#583) — thanks @mitschabaude-bot.
|
|
1382
|
+
|
|
1383
|
+
### New & Improved
|
|
1384
|
+
|
|
1385
|
+
- Memory: add custom OpenAI-compatible embedding endpoints; support OpenAI/local `node-llama-cpp` embeddings with per-agent overrides and provider metadata in tools/CLI. (#819) — thanks @mukhtharcm.
|
|
1386
|
+
- Memory: new `clawdbot memory` CLI plus `memory_search`/`memory_get` tools with snippets + line ranges; index stored under `~/.clawdbot/memory/{agentId}.sqlite` with watch-on-by-default.
|
|
1387
|
+
- Agents: strengthen memory recall guidance; make workspace bootstrap truncation configurable (default 20k) with warnings; add default sub-agent model config.
|
|
1388
|
+
- Tools/Sandbox: add tool profiles + group shorthands; support tool-policy groups in `tools.sandbox.tools`; drop legacy `memory` shorthand; allow Docker bind mounts via `docker.binds`. (#790) — thanks @akonyer.
|
|
1389
|
+
- Tools: add provider/model-specific tool policy overrides (`tools.byProvider`) to trim tool exposure per provider.
|
|
1390
|
+
- Tools: add browser `scrollintoview` action; allow Claude/Gemini tool param aliases; allow thinking `xhigh` for GPT-5.2/Codex with safe downgrades. (#793) — thanks @hsrvc; (#444) — thanks @grp06.
|
|
1391
|
+
- Gateway/CLI: add Tailscale binary discovery, custom bind mode, and probe auth retry; add `clawdbot dashboard` auto-open flow; default native slash commands to `"auto"` with per-provider overrides. (#740) — thanks @jeffersonwarrior.
|
|
1392
|
+
- Auth/Onboarding: add Chutes OAuth (PKCE + refresh + onboarding choice); normalize API key inputs; default TUI onboarding to `deliver: false`. (#726) — thanks @FrieSei; (#791) — thanks @roshanasingh4.
|
|
1393
|
+
- Providers: add `discord.allowBots`; trim legacy MiniMax M2 from default catalogs; route MiniMax vision to the Coding Plan VLM endpoint (also accepts `@/path/to/file.png` inputs). (#802) — thanks @zknicker.
|
|
1394
|
+
- Gateway: allow Tailscale Serve identity headers to satisfy token auth; rebuild Control UI assets when protocol schema is newer. (#823) — thanks @roshanasingh4; (#786) — thanks @meaningfool.
|
|
1395
|
+
- Heartbeat: default `ackMaxChars` to 300 so short `HEARTBEAT_OK` replies stay internal.
|
|
1396
|
+
|
|
1397
|
+
### Installer
|
|
1398
|
+
|
|
1399
|
+
- Install: run `clawdbot doctor --non-interactive` after git installs/updates and nudge daemon restarts when detected.
|
|
1400
|
+
|
|
1401
|
+
### Fixes
|
|
1402
|
+
|
|
1403
|
+
- Doctor: warn on pnpm workspace mismatches, missing Control UI assets, and missing tsx binaries; offer UI rebuilds.
|
|
1404
|
+
- Tools: apply global tool allow/deny even when agent-specific tool policy is set.
|
|
1405
|
+
- Models/Providers: treat credential validation failures as auth errors to trigger fallback; normalize `${ENV_VAR}` apiKey values and auto-fill missing provider keys; preserve explicit GitHub Copilot provider config + agent-dir auth profiles. (#822) — thanks @sebslight; (#705) — thanks @TAGOOZ.
|
|
1406
|
+
- Auth: drop invalid auth profiles from ordering so environment keys can still be used for providers like MiniMax.
|
|
1407
|
+
- Gemini: normalize Gemini 3 ids to preview variants; strip Gemini CLI tool call/response ids; downgrade missing `thought_signature`; strip Claude `msg_*` thought_signature fields to avoid base64 decode errors. (#795) — thanks @thewilloftheshadow; (#783) — thanks @ananth-vardhan-cn; (#793) — thanks @hsrvc; (#805) — thanks @marcmarg.
|
|
1408
|
+
- Agents: auto-recover from compaction context overflow by resetting the session and retrying; propagate overflow details from embedded runs so callers can recover.
|
|
1409
|
+
- MiniMax: strip malformed tool invocation XML; include `MiniMax-VL-01` in implicit provider for image pairing. (#809) — thanks @latitudeki5223.
|
|
1410
|
+
- Onboarding/Auth: honor `CLAWDBOT_AGENT_DIR` / `PI_CODING_AGENT_DIR` when writing auth profiles (MiniMax). (#829) — thanks @roshanasingh4.
|
|
1411
|
+
- Anthropic: handle `overloaded_error` with a friendly message and failover classification. (#832) — thanks @danielz1z.
|
|
1412
|
+
- Anthropic: merge consecutive user turns (preserve newest metadata) before validation to avoid incorrect role errors. (#804) — thanks @ThomsenDrake.
|
|
1413
|
+
- Messaging: enforce context isolation for message tool sends; keep typing indicators alive during tool execution. (#793) — thanks @hsrvc; (#450, #447) — thanks @thewilloftheshadow.
|
|
1414
|
+
- Auto-reply: `/status` allowlist behavior, reasoning-tag enforcement on fallback, and system-event enqueueing for elevated/reasoning toggles. (#810) — thanks @mcinteerj.
|
|
1415
|
+
- System events: include local timestamps when events are injected into prompts. (#245) — thanks @thewilloftheshadow.
|
|
1416
|
+
- Auto-reply: resolve ambiguous `/model` matches; fix streaming block reply media handling; keep >300 char heartbeat replies instead of dropping.
|
|
1417
|
+
- Discord/Slack: centralize reply-thread planning; fix autoThread routing + add per-channel autoThread; avoid duplicate listeners; keep reasoning italics intact; allow clearing channel parents via message tool. (#800, #807) — thanks @davidguttman; (#744) — thanks @thewilloftheshadow.
|
|
1418
|
+
- Telegram: preserve forum topic thread ids, persist polling offsets, respect account bindings in webhook mode, and show typing indicator in General topics. (#727, #739) — thanks @thewilloftheshadow; (#821) — thanks @gumadeiras; (#779) — thanks @azade-c.
|
|
1419
|
+
- Slack: accept slash commands with or without leading `/` for custom command configs. (#798) — thanks @thewilloftheshadow.
|
|
1420
|
+
- Cron: persist disabled jobs correctly; accept `jobId` aliases for update/run/remove params. (#205, #252) — thanks @thewilloftheshadow.
|
|
1421
|
+
- Gateway/CLI: honor `CLAWDBOT_LAUNCHD_LABEL` / `CLAWDBOT_SYSTEMD_UNIT` overrides; `agents.list` respects explicit config; reduce noisy loopback WS logs during tests; run `clawdbot doctor --non-interactive` during updates. (#781) — thanks @ronyrus.
|
|
1422
|
+
- Onboarding/Control UI: refuse invalid configs (run doctor first); quote Windows browser URLs for OAuth; keep chat scroll position unless the user is near the bottom. (#764) — thanks @mukhtharcm; (#794) — thanks @roshanasingh4; (#217) — thanks @thewilloftheshadow.
|
|
1423
|
+
- Tools/UI: harden tool input schemas for strict providers; drop null-only union variants for Gemini schema cleanup; treat `maxChars: 0` as unlimited; keep TUI last streamed response instead of "(no output)". (#782) — thanks @AbhisekBasu1; (#796) — thanks @gabriel-trigo; (#747) — thanks @thewilloftheshadow.
|
|
1424
|
+
- Connections UI: polish multi-account account cards. (#816) — thanks @steipete.
|
|
1425
|
+
|
|
1426
|
+
### Maintenance
|
|
1427
|
+
|
|
1428
|
+
- Dependencies: bump Pi packages to 0.45.3 and refresh patched pi-ai.
|
|
1429
|
+
- Testing: update Vitest + browser-playwright to 4.0.17.
|
|
1430
|
+
- Docs: add Amazon Bedrock provider notes and link from models/FAQ.
|
|
1431
|
+
|
|
1432
|
+
## 2026.1.11
|
|
1433
|
+
|
|
1434
|
+
### Highlights
|
|
1435
|
+
|
|
1436
|
+
- Plugins are now first-class: loader + CLI management, plus the new Voice Call plugin.
|
|
1437
|
+
- Config: modular `$include` support for split config files. (#731) — thanks @pasogott.
|
|
1438
|
+
- Agents/Pi: reserve compaction headroom so pre-compaction memory writes can run before auto-compaction.
|
|
1439
|
+
- Agents: automatic pre-compaction memory flush turn to store durable memories before compaction.
|
|
1440
|
+
|
|
1441
|
+
### Changes
|
|
1442
|
+
|
|
1443
|
+
- CLI/Onboarding: simplify MiniMax auth choice to a single M2.1 option.
|
|
1444
|
+
- CLI: configure section selection now loops until Continue.
|
|
1445
|
+
- Docs: explain MiniMax vs MiniMax Lightning (speed vs cost) and restore LM Studio example.
|
|
1446
|
+
- Docs: add Cerebras GLM 4.6/4.7 config example (OpenAI-compatible endpoint).
|
|
1447
|
+
- Onboarding/CLI: group model/auth choice by provider and label Z.AI as GLM 4.7.
|
|
1448
|
+
- Onboarding/Docs: add Moonshot AI (Kimi K2) auth choice + config example.
|
|
1449
|
+
- CLI/Onboarding: prompt to reuse detected API keys for Moonshot/MiniMax/Z.AI/Gemini/Anthropic/OpenCode.
|
|
1450
|
+
- Auto-reply: add compact `/model` picker (models + available providers) and show provider endpoints in `/model status`.
|
|
1451
|
+
- Control UI: add Config tab model presets (MiniMax M2.1, GLM 4.7, Kimi) for one-click setup.
|
|
1452
|
+
- Plugins: add extension loader (tools/RPC/CLI/services), discovery paths, and config schema + Control UI labels (uiHints).
|
|
1453
|
+
- Plugins: add `clawdbot plugins install` (path/tgz/npm), plus `list|info|enable|disable|doctor` UX.
|
|
1454
|
+
- Plugins: voice-call plugin now real (Twilio/log), adds start/status RPC/CLI/tool + tests.
|
|
1455
|
+
- Docs: add plugins doc + cross-links from tools/skills/gateway config.
|
|
1456
|
+
- Docs: add beginner-friendly plugin quick start + expand Voice Call plugin docs.
|
|
1457
|
+
- Tests: add Docker plugin loader + tgz-install smoke test.
|
|
1458
|
+
- Tests: extend Docker plugin E2E to cover installing from local folders (`plugins.load.paths`) and `file:` npm specs.
|
|
1459
|
+
- Tests: add coverage for pre-compaction memory flush settings.
|
|
1460
|
+
- Tests: modernize live model smoke selection for current releases and enforce tools/images/thinking-high coverage. (#769) — thanks @steipete.
|
|
1461
|
+
- Agents/Tools: add `apply_patch` tool for multi-file edits (experimental; gated by tools.exec.applyPatch; OpenAI-only).
|
|
1462
|
+
- Agents/Tools: rename the bash tool to exec (config alias maintained). (#748) — thanks @myfunc.
|
|
1463
|
+
- Agents: add pre-compaction memory flush config (`agents.defaults.compaction.*`) with a soft threshold + system prompt.
|
|
1464
|
+
- Config: add `$include` directive for modular config files. (#731) — thanks @pasogott.
|
|
1465
|
+
- Build: set pnpm minimum release age to 2880 minutes (2 days). (#718) — thanks @dan-dr.
|
|
1466
|
+
- macOS: prompt to install the global `clawdbot` CLI when missing in local mode; install via `clawd.bot/install-cli.sh` (no onboarding) and use external launchd/CLI instead of the embedded gateway runtime.
|
|
1467
|
+
- Docs: add gog calendar event color IDs from `gog calendar colors`. (#715) — thanks @mjrussell.
|
|
1468
|
+
- Cron/CLI: add `--model` flag to cron add/edit commands. (#711) — thanks @mjrussell.
|
|
1469
|
+
- Cron/CLI: trim model overrides on cron edits and document main-session guidance. (#711) — thanks @mjrussell.
|
|
1470
|
+
- Skills: bundle `skill-creator` to guide creating and packaging skills.
|
|
1471
|
+
- Providers: add per-DM history limit overrides (`dmHistoryLimit`) with provider-level config. (#728) — thanks @pkrmf.
|
|
1472
|
+
- Discord: expose channel/category management actions in the message tool. (#730) — thanks @NicholasSpisak.
|
|
1473
|
+
- Docs: rename README “macOS app” section to “Apps”. (#733) — thanks @AbhisekBasu1.
|
|
1474
|
+
- Gateway: require `client.id` in WebSocket connect params; use `client.instanceId` for presence de-dupe; update docs/tests.
|
|
1475
|
+
- macOS: remove the attach-only gateway setting; local mode now always manages launchd while still attaching to an existing gateway if present.
|
|
1476
|
+
|
|
1477
|
+
### Installer
|
|
1478
|
+
|
|
1479
|
+
- Postinstall: replace `git apply` with builtin JS patcher (works npm/pnpm/bun; no git dependency) plus regression tests.
|
|
1480
|
+
- Postinstall: skip pnpm patch fallback when the new patcher is active.
|
|
1481
|
+
- Installer tests: add root+non-root docker smokes, CI workflow to fetch clawd.bot scripts and run install sh/cli with onboarding skipped.
|
|
1482
|
+
- Installer UX: support `CLAWDBOT_NO_ONBOARD=1` for non-interactive installs; fix npm prefix on Linux and auto-install git.
|
|
1483
|
+
- Installer UX: add `install.sh --help` with flags/env and git install hint.
|
|
1484
|
+
- Installer UX: add `--install-method git|npm` and auto-detect source checkouts (prompt to update git checkout vs migrate to npm).
|
|
1485
|
+
|
|
1486
|
+
### Fixes
|
|
1487
|
+
|
|
1488
|
+
- Models/Onboarding: configure MiniMax (minimax.io) via Anthropic-compatible `/anthropic` endpoint by default (keep `minimax-api` as a legacy alias).
|
|
1489
|
+
- Models: normalize Gemini 3 Pro/Flash IDs to preview names for live model lookups. (#769) — thanks @steipete.
|
|
1490
|
+
- CLI: fix guardCancel typing for configure prompts. (#769) — thanks @steipete.
|
|
1491
|
+
- Gateway/WebChat: include handshake validation details in the WebSocket close reason for easier debugging; preserve close codes.
|
|
1492
|
+
- Gateway/Auth: send invalid connect responses before closing the handshake; stabilize invalid-connect auth test.
|
|
1493
|
+
- Gateway: tighten gateway listener detection.
|
|
1494
|
+
- Control UI: hide onboarding chat when configured and guard the mobile chat sidebar overlay.
|
|
1495
|
+
- Auth: read Codex keychain credentials and make the lookup platform-aware.
|
|
1496
|
+
- macOS/Release: avoid bundling dist artifacts in relay builds and generate appcasts from zip-only sources.
|
|
1497
|
+
- Doctor: surface plugin diagnostics in the report.
|
|
1498
|
+
- Plugins: treat `plugins.load.paths` directory entries as package roots when they contain `package.json` + `clawdbot.extensions`; load plugin packages from config dirs; extract archives without system tar.
|
|
1499
|
+
- Config: expand `~` in `CLAWDBOT_CONFIG_PATH` and common path-like config fields (including `plugins.load.paths`); guard invalid `$include` paths. (#731) — thanks @pasogott.
|
|
1500
|
+
- Agents: stop pre-creating session transcripts so first user messages persist in JSONL history.
|
|
1501
|
+
- Agents: skip pre-compaction memory flush when the session workspace is read-only.
|
|
1502
|
+
- Auto-reply: ignore inline `/status` directives unless the message is directive-only.
|
|
1503
|
+
- Auto-reply: align `/think` default display with model reasoning defaults. (#751) — thanks @gabriel-trigo.
|
|
1504
|
+
- Auto-reply: flush block reply buffers on tool boundaries. (#750) — thanks @sebslight.
|
|
1505
|
+
- Auto-reply: allow sender fallback for command authorization when `SenderId` is empty (WhatsApp self-chat). (#755) — thanks @juanpablodlc.
|
|
1506
|
+
- Auto-reply: treat whitespace-only sender ids as missing for command authorization (WhatsApp self-chat). (#766) — thanks @steipete.
|
|
1507
|
+
- Heartbeat: refresh prompt text for updated defaults.
|
|
1508
|
+
- Agents/Tools: use PowerShell on Windows to capture system utility output. (#748) — thanks @myfunc.
|
|
1509
|
+
- Docker: tolerate unset optional env vars in docker-setup.sh under strict mode. (#725) — thanks @petradonka.
|
|
1510
|
+
- CLI/Update: preserve base environment when passing overrides to update subprocesses. (#713) — thanks @danielz1z.
|
|
1511
|
+
- Agents: treat message tool errors as failures so fallback replies still send; require `to` + `message` for `action=send`. (#717) — thanks @theglove44.
|
|
1512
|
+
- Agents: preserve reasoning items on tool-only turns.
|
|
1513
|
+
- Agents/Subagents: wait for completion before announcing, align wait timeout with run timeout, and make announce prompts more emphatic.
|
|
1514
|
+
- Agents: route subagent transcripts to the target agent sessions directory and add regression coverage. (#708) — thanks @xMikeMickelson.
|
|
1515
|
+
- Agents/Tools: preserve action enums when flattening tool schemas. (#708) — thanks @xMikeMickelson.
|
|
1516
|
+
- Gateway/Agents: canonicalize main session aliases for store writes and add regression coverage. (#709) — thanks @xMikeMickelson.
|
|
1517
|
+
- Agents: reset sessions and retry when auto-compaction overflows instead of crashing the gateway.
|
|
1518
|
+
- Providers/Telegram: normalize command mentions for consistent parsing. (#729) — thanks @obviyus.
|
|
1519
|
+
- Providers: skip DM history limit handling for non-DM sessions. (#728) — thanks @pkrmf.
|
|
1520
|
+
- Sandbox: fix non-main mode incorrectly sandboxing the main DM session and align `/status` runtime reporting with effective sandbox state.
|
|
1521
|
+
- Sandbox/Gateway: treat `agent:<id>:main` as a main-session alias when `session.mainKey` is customized (backwards compatible).
|
|
1522
|
+
- Auto-reply: fast-path allowlisted slash commands (inline `/help`/`/commands`/`/status`/`/whoami` stripped before model).
|
|
1523
|
+
|
|
1524
|
+
## 2026.1.10
|
|
1525
|
+
|
|
1526
|
+
### Highlights
|
|
1527
|
+
|
|
1528
|
+
- CLI: `clawdbot status` now table-based + shows OS/update/gateway/daemon/agents/sessions; `status --all` adds a full read-only debug report (tables, log tails, Tailscale summary, and scan progress via OSC-9 + spinner).
|
|
1529
|
+
- CLI Backends: add Codex CLI fallback with resume support (text output) and JSONL parsing for new runs, plus a live CLI resume probe.
|
|
1530
|
+
- CLI: add `clawdbot update` (safe-ish git checkout update) + `--update` shorthand. (#673) — thanks @fm1randa.
|
|
1531
|
+
- Gateway: add OpenAI-compatible `/v1/chat/completions` HTTP endpoint (auth, SSE streaming, per-agent routing). (#680).
|
|
1532
|
+
|
|
1533
|
+
### Changes
|
|
1534
|
+
|
|
1535
|
+
- Onboarding/Models: add first-class Z.AI (GLM) auth choice (`zai-api-key`) + `--zai-api-key` flag.
|
|
1536
|
+
- CLI/Onboarding: add OpenRouter API key auth option in configure/onboard. (#703) — thanks @mteam88.
|
|
1537
|
+
- Agents: add human-delay pacing between block replies (modes: off/natural/custom, per-agent configurable). (#446) — thanks @tony-freedomology.
|
|
1538
|
+
- Agents/Browser: add `browser.target` (sandbox/host/custom) with sandbox host-control gating via `agents.defaults.sandbox.browser.allowHostControl`, allowlists for custom control URLs/hosts/ports, and expand browser tool docs (remote control, profiles, internals).
|
|
1539
|
+
- Onboarding/Models: add catalog-backed default model picker to onboarding + configure. (#611) — thanks @jonasjancarik.
|
|
1540
|
+
- Agents/OpenCode Zen: update fallback models + defaults, keep legacy alias mappings. (#669) — thanks @magimetal.
|
|
1541
|
+
- CLI: add `clawdbot reset` and `clawdbot uninstall` flows (interactive + non-interactive) plus docker cleanup smoke test.
|
|
1542
|
+
- Providers: move provider wiring to a plugin architecture. (#661).
|
|
1543
|
+
- Providers: unify group history context wrappers across providers with per-provider/per-account `historyLimit` overrides (fallback to `messages.groupChat.historyLimit`). Set `0` to disable. (#672).
|
|
1544
|
+
- Gateway/Heartbeat: optionally deliver heartbeat `Reasoning:` output (`agents.defaults.heartbeat.includeReasoning`). (#690)
|
|
1545
|
+
- Docker: allow optional home volume + extra bind mounts in `docker-setup.sh`. (#679) — thanks @gabriel-trigo.
|
|
1546
|
+
|
|
1547
|
+
### Fixes
|
|
1548
|
+
|
|
1549
|
+
- Auto-reply: suppress draft/typing streaming for `NO_REPLY` (silent system ops) so it doesn’t leak partial output.
|
|
1550
|
+
- CLI/Status: expand tables to full terminal width; clarify provider setup vs runtime warnings; richer per-provider detail; token previews in `status` while keeping `status --all` redacted; add troubleshooting link footer; keep log tails pasteable; show gateway auth used when reachable; surface provider runtime errors (Signal/iMessage/Slack); harden `tailscale status --json` parsing; make `status --all` scan progress determinate; and replace the footer with a 3-line “Next steps” recommendation (share/debug/probe).
|
|
1551
|
+
- CLI/Gateway: clarify that `clawdbot gateway status` reports RPC health (connect + RPC) and shows RPC failures separately from connect failures.
|
|
1552
|
+
- CLI/Update: gate progress spinner on stdout TTY and align clean-check step label. (#701) — thanks @bjesuiter.
|
|
1553
|
+
- Telegram: add `/whoami` + `/id` commands to reveal sender id for allowlists; allow `@username` and prefixed ids in `allowFrom` prompts (with stability warning).
|
|
1554
|
+
- Heartbeat: strip markup-wrapped `HEARTBEAT_OK` so acks don’t leak to external providers (e.g., Telegram).
|
|
1555
|
+
- Control UI: stop auto-writing `telegram.groups["*"]` and warn/confirm before enabling wildcard groups.
|
|
1556
|
+
- WhatsApp: send ack reactions only for handled messages and ignore legacy `messages.ackReaction` (doctor copies to `whatsapp.ackReaction`). (#629) — thanks @pasogott.
|
|
1557
|
+
- Sandbox/Skills: mirror skills into sandbox workspaces for read-only mounts so SKILL.md stays accessible.
|
|
1558
|
+
- Terminal/Table: ANSI-safe wrapping to prevent table clipping/color loss; add regression coverage.
|
|
1559
|
+
- Docker: allow optional apt packages during image build and document the build arg. (#697) — thanks @gabriel-trigo.
|
|
1560
|
+
- Gateway/Heartbeat: deliver reasoning even when the main heartbeat reply is `HEARTBEAT_OK`. (#694) — thanks @antons.
|
|
1561
|
+
- Agents/Pi: inject config `temperature`/`maxTokens` into streaming without replacing the session streamFn; cover with live maxTokens probe. (#732) — thanks @peschee.
|
|
1562
|
+
- macOS: clear unsigned launchd overrides on signed restarts and warn via doctor when attach-only/disable markers are set. (#695) — thanks @jeffersonwarrior.
|
|
1563
|
+
- Agents: enforce single-writer session locks and drop orphan tool results to prevent tool-call ID failures (MiniMax/Anthropic-compatible APIs).
|
|
1564
|
+
- Docs: make `clawdbot status` the first diagnostic step, clarify `status --deep` behavior, and document `/whoami` + `/id`.
|
|
1565
|
+
- Docs/Testing: clarify live tool+image probes and how to list your testable `provider/model` ids.
|
|
1566
|
+
- Tests/Live: make gateway bash+read probes resilient to provider formatting while still validating real tool calls.
|
|
1567
|
+
- WhatsApp: detect @lid mentions in groups using authDir reverse mapping + resolve self JID E.164 for mention gating. (#692) — thanks @peschee.
|
|
1568
|
+
- Gateway/Auth: default to token auth on loopback during onboarding, add doctor token generation flow, and tighten audio transcription config to Whisper-only.
|
|
1569
|
+
- Providers: dedupe inbound messages across providers to avoid duplicate LLM runs on redeliveries/reconnects. (#689) — thanks @adam91holt.
|
|
1570
|
+
- Agents: strip `<thought>`/`<antthinking>` tags from hidden reasoning output and cover tag variants in tests. (#688) — thanks @theglove44.
|
|
1571
|
+
- macOS: save model picker selections as normalized provider/model IDs and keep manual entries aligned. (#683) — thanks @benithors.
|
|
1572
|
+
- Agents: recognize "usage limit" errors as rate limits for failover. (#687) — thanks @evalexpr.
|
|
1573
|
+
- CLI: avoid success message when daemon restart is skipped. (#685) — thanks @carlulsoe.
|
|
1574
|
+
- Commands: disable `/config` + `/debug` by default; gate via `commands.config`/`commands.debug` and hide from native registration/help output.
|
|
1575
|
+
- Agents/System: clarify that sub-agents remain sandboxed and cannot use elevated host access.
|
|
1576
|
+
- Gateway: disable the OpenAI-compatible `/v1/chat/completions` endpoint by default; enable via `gateway.http.endpoints.chatCompletions.enabled=true`.
|
|
1577
|
+
- macOS: stabilize bridge tunnels, guard invoke senders on disconnect, and drain stdout/stderr to avoid deadlocks. (#676) — thanks @ngutman.
|
|
1578
|
+
- Agents/System: clarify sandboxed runtime in system prompt and surface elevated availability when sandboxed.
|
|
1579
|
+
- Auto-reply: prefer `RawBody` for command/directive parsing (WhatsApp + Discord) and prevent fallback runs from clobbering concurrent session updates. (#643) — thanks @mcinteerj.
|
|
1580
|
+
- WhatsApp: fix group reactions by preserving message IDs and sender JIDs in history; normalize participant phone numbers to JIDs in outbound reactions. (#640) — thanks @mcinteerj.
|
|
1581
|
+
- WhatsApp: expose group participant IDs to the model so reactions can target the right sender.
|
|
1582
|
+
- Cron: `wakeMode: "now"` waits for heartbeat completion (and retries when the main lane is busy). (#666) — thanks @roshanasingh4.
|
|
1583
|
+
- Agents/OpenAI: fix Responses tool-only → follow-up turn handling (avoid standalone `reasoning` items that trigger 400 “required following item”) and replay reasoning items in Responses/Codex Responses history for tool-call-only turns.
|
|
1584
|
+
- Sandbox: add `clawdbot sandbox explain` (effective policy inspector + fix-it keys); improve “sandbox jail” tool-policy/elevated errors with actionable config key paths; link to docs.
|
|
1585
|
+
- Hooks/Gmail: keep Tailscale serve path at `/` while preserving the public path. (#668) — thanks @antons.
|
|
1586
|
+
- Hooks/Gmail: allow Tailscale target URLs to preserve internal serve paths.
|
|
1587
|
+
- Auth: update Claude Code keychain credentials in-place during refresh sync; share JSON file helpers; add CLI fallback coverage.
|
|
1588
|
+
- Auth: throttle external CLI credential syncs (Claude/Codex), reduce Keychain reads, and skip sync when cached credentials are still fresh.
|
|
1589
|
+
- CLI: respect `CLAWDBOT_STATE_DIR` for node pairing + voice wake settings storage. (#664) — thanks @azade-c.
|
|
1590
|
+
- Onboarding/Gateway: persist non-interactive gateway token auth in config; add WS wizard + gateway tool-calling regression coverage.
|
|
1591
|
+
- Gateway/Control UI: make `chat.send` non-blocking, wire Stop to `chat.abort`, and treat `/stop` as an out-of-band abort. (#653)
|
|
1592
|
+
- Gateway/Control UI: allow `chat.abort` without `runId` (abort active runs), suppress post-abort chat streaming, and prune stuck chat runs. (#653)
|
|
1593
|
+
- Gateway/Control UI: sniff image attachments for chat.send, drop non-images, and log mismatches. (#670) — thanks @cristip73.
|
|
1594
|
+
- macOS: force `restart-mac.sh --sign` to require identities and keep bundled Node signed for relay verification. (#580) — thanks @jeffersonwarrior.
|
|
1595
|
+
- Gateway/Agent: accept image attachments on `agent` (multimodal message) and add live gateway image probe (`CLAWDBOT_LIVE_GATEWAY_IMAGE_PROBE=1`).
|
|
1596
|
+
- CLI: `clawdbot sessions` now includes `elev:*` + `usage:*` flags in the table output.
|
|
1597
|
+
- CLI/Pairing: accept positional provider for `pairing list|approve` (npm-run compatible); update docs/bot hints.
|
|
1598
|
+
- Branding: normalize user-facing “ClawdBot”/“CLAWDBOT” → “Clawdbot” (CLI, status, docs).
|
|
1599
|
+
- Auto-reply: fix native `/model` not updating the actual chat session (Telegram/Slack/Discord). (#646)
|
|
1600
|
+
- Doctor: offer to run `clawdbot update` first on git installs (keeps doctor output aligned with latest).
|
|
1601
|
+
- Doctor: avoid false legacy workspace warning when install dir is `~/clawdbot`. (#660)
|
|
1602
|
+
- iMessage: fix reasoning persistence across DMs; avoid partial/duplicate replies when reasoning is enabled. (#655) — thanks @antons.
|
|
1603
|
+
- Models/Auth: allow MiniMax API configs without `models.providers.minimax.apiKey` (auth profiles / `MINIMAX_API_KEY`). (#656) — thanks @mneves75.
|
|
1604
|
+
- Agents: avoid duplicate replies when the message tool sends. (#659) — thanks @mickahouan.
|
|
1605
|
+
- Agents: harden Cloud Code Assist tool ID sanitization (toolUse/toolCall/toolResult) and scrub extra JSON Schema constraints. (#665) — thanks @sebslight.
|
|
1606
|
+
- Agents: sanitize tool results + Cloud Code Assist tool IDs at context-build time (prevents mid-run strict-provider request rejects).
|
|
1607
|
+
- Agents/Tools: resolve workspace-relative Read/Write/Edit paths; align bash default cwd. (#642) — thanks @mukhtharcm.
|
|
1608
|
+
- Discord: include forwarded message snapshots in agent session context. (#667) — thanks @rubyrunsstuff.
|
|
1609
|
+
- Telegram: add `telegram.draftChunk` to tune draft streaming chunking for `streamMode: "block"`. (#667) — thanks @rubyrunsstuff.
|
|
1610
|
+
- Tests/Agents: add regression coverage for workspace tool path resolution and bash cwd defaults.
|
|
1611
|
+
- iOS/Android: enable stricter concurrency/lint checks; fix Swift 6 strict concurrency issues + Android lint errors (ExifInterface, obsolete SDK check). (#662) — thanks @KristijanJovanovski.
|
|
1612
|
+
- Auth: read Codex CLI keychain tokens on macOS before falling back to `~/.codex/auth.json`, preventing stale refresh tokens from breaking gateway live tests.
|
|
1613
|
+
- iOS/macOS: share `AsyncTimeout`, require explicit `bridgeStableID` on connect, and harden tool display defaults (avoids missing-resource label fallbacks).
|
|
1614
|
+
- Telegram: serialize media-group processing to avoid missed albums under load.
|
|
1615
|
+
- Signal: handle `dataMessage.reaction` events (signal-cli SSE) to avoid broken attachment errors. (#637) — thanks @neist.
|
|
1616
|
+
- Docs: showcase entries for ParentPay, R2 Upload, iOS TestFlight, and Oura Health. (#650) — thanks @henrino3.
|
|
1617
|
+
- Agents: repair session transcripts by dropping duplicate tool results across the whole history (unblocks Anthropic-compatible APIs after retries).
|
|
1618
|
+
- Tests/Live: reset the gateway session between model runs to avoid cross-provider transcript incompatibilities (notably OpenAI Responses reasoning replay rules).
|
|
1619
|
+
|
|
1620
|
+
## 2026.1.9
|
|
1621
|
+
|
|
1622
|
+
### Highlights
|
|
1623
|
+
|
|
1624
|
+
- Microsoft Teams provider: polling, attachments, outbound CLI send, per-channel policy.
|
|
1625
|
+
- Models/Auth expansion: OpenCode Zen + MiniMax API onboarding; token auth profiles + auth order; OAuth health in doctor/status.
|
|
1626
|
+
- CLI/Gateway UX: message subcommands, gateway discover/status/SSH, /config + /debug, sandbox CLI.
|
|
1627
|
+
- Provider reliability sweep: WhatsApp contact cards/targets, Telegram audio-as-voice + streaming, Signal reactions, Slack threading, Discord stability.
|
|
1628
|
+
- Auto-reply + status: block-streaming controls, reasoning handling, usage/cost reporting.
|
|
1629
|
+
- Control UI/TUI: queued messages, session links, reasoning view, mobile polish, logs UX.
|
|
1630
|
+
|
|
1631
|
+
### Breaking
|
|
1632
|
+
|
|
1633
|
+
- CLI: `clawdbot message` now subcommands (`message send|poll|...`) and requires `--provider` unless only one provider configured.
|
|
1634
|
+
- Commands/Tools: `/restart` and gateway restart tool disabled by default; enable with `commands.restart=true`.
|
|
1635
|
+
|
|
1636
|
+
### New Features and Changes
|
|
1637
|
+
|
|
1638
|
+
- Models/Auth: OpenCode Zen onboarding (#623) — thanks @magimetal; MiniMax Anthropic-compatible API + hosted onboarding (#590, #495) — thanks @mneves75, @tobiasbischoff.
|
|
1639
|
+
- Models/Auth: setup-token + token auth profiles; `clawdbot models auth order {get,set,clear}`; per-agent auth candidates in `/model status`; OAuth expiry checks in doctor/status.
|
|
1640
|
+
- Agent/System: claude-cli runner; `session_status` tool (and sandbox allow); adaptive context pruning default; system prompt messaging guidance + no auto self-update; eligible skills list injection; sub-agent context trimmed.
|
|
1641
|
+
- Commands: `/commands` list; `/models` alias; `/usage` alias; `/debug` runtime overrides + effective config view; `/config` chat updates + `/config get`; `config --section`.
|
|
1642
|
+
- CLI/Gateway: unified message tool + message subcommands; gateway discover (local + wide-area DNS-SD) with JSON/timeout; gateway status human-readable + JSON + SSH loopback; wide-area records include gatewayPort/sshPort/cliPath + tailnet DNS fallback.
|
|
1643
|
+
- CLI UX: logs output modes (pretty/plain/JSONL) + colorized health/daemon output; global `--no-color`; lobster palette in onboarding/config.
|
|
1644
|
+
- Dev ergonomics: gateway `--dev/--reset` + dev profile auto-config; C-3PO dev templates; dev gateway/TUI helper scripts.
|
|
1645
|
+
- Sandbox/Workspace: sandbox list/recreate commands; sync skills into sandbox workspace; sandbox browser auto-start.
|
|
1646
|
+
- Config/Onboarding: inline env vars; OpenAI API key flow to shared `~/.clawdbot/.env`; Opus 4.5 default prompt for Anthropic auth; QuickStart auto-install gateway (Node-only) + provider picker tweaks + skip-systemd flags; TUI bootstrap prompt (`tui --message`); remove Bun runtime choice.
|
|
1647
|
+
- Providers: Microsoft Teams provider (polling, attachments, outbound sends, requireMention, config reload/DM policy). (#404) — thanks @onutc
|
|
1648
|
+
- Providers: WhatsApp broadcast groups for multi-agent replies (#547) — thanks @pasogott; inbound media size cap configurable (#505) — thanks @koala73; identity-based message prefixes (#578) — thanks @p6l-richard.
|
|
1649
|
+
- Providers: Telegram inline keyboard buttons + callback payload routing (#491) — thanks @azade-c; cron topic delivery targets (#474/#478) — thanks @mitschabaude-bot, @nachoiacovino; `[[audio_as_voice]]` tag support (#490) — thanks @jarvis-medmatic.
|
|
1650
|
+
- Providers: Signal reactions + notifications with allowlist support.
|
|
1651
|
+
- Status/Usage: /status cost reporting + `/cost` lines; auth profile snippet; provider usage windows.
|
|
1652
|
+
- Control UI: mobile responsiveness (#558) — thanks @carlulsoe; queued messages + Enter-to-send (#527) — thanks @YuriNachos; session links (#471) — thanks @HazAT; reasoning view; skill install feedback (#445) — thanks @pkrmf; chat layout refresh (#475) — thanks @rahthakor; docs link + new session button; drop explicit `ui:install`.
|
|
1653
|
+
- TUI: agent picker + agents list RPC; improved status line.
|
|
1654
|
+
- Doctor/Daemon: audit/repair flows, permissions checks, supervisor config audits; provider status probes + warnings for Discord intents and Telegram privacy; last activity timestamps; gateway restart guidance.
|
|
1655
|
+
- Docs: Hetzner Docker VPS guide + cross-links (#556/#592) — thanks @Iamadig; Ansible guide (#545) — thanks @pasogott; provider troubleshooting index; hook parameter expansion (#532) — thanks @mcinteerj; model allowlist notes; OAuth deep dive; showcase refresh.
|
|
1656
|
+
- Apps/Branding: refreshed iOS/Android/macOS icons (#521) — thanks @fishfisher.
|
|
1657
|
+
|
|
1658
|
+
### Fixes
|
|
1659
|
+
|
|
1660
|
+
- Packaging: include MS Teams send module in npm tarball.
|
|
1661
|
+
- Sandbox/Browser: auto-start CDP endpoint; proxy CDP out of container for attachOnly; relax Bun fetch typing; align sandbox list output with config images.
|
|
1662
|
+
- Agents/Runtime: gate heartbeat prompt to default sessions; /stop aborts between tool calls; require explicit system-event session keys; guard small context windows; fix model fallback stringification; sessions_spawn inherits provider; failover on billing/credits; respect auth cooldown ordering; restore Anthropic OAuth tool dispatch + tool-name bypass; avoid OpenAI invalid reasoning replay; harden Gmail hook model defaults.
|
|
1663
|
+
- Agent history/schema: strip/skip empty assistant/error blocks to prevent session corruption/Claude 400s; scrub unsupported JSON Schema keywords + sanitize tool call IDs for Cloud Code Assist; simplify Gemini-compatible tool/session schemas; require raw for config.apply.
|
|
1664
|
+
- Auto-reply/Streaming: default audioAsVoice false; preserve audio_as_voice propagation + buffer audio blocks + guard voice notes; block reply ordering (timeout) + forced-block fence-safe; avoid chunk splits inside parentheses + fence-close breaks + invalid UTF-16 truncation; preserve inline directive spacing + allow whitespace in reply tags; filter NO_REPLY prefixes + normalize routed replies; suppress <think> leakage with separate Reasoning; block streaming defaults (off by default, minChars/idle tuning) + coalesced blocks; dedupe followup queue; restore explicit responsePrefix default.
|
|
1665
|
+
- Status/Commands: provider prefix in /status model display; usage filtering + provider mapping; auth label + usage snapshots (claude-cli fallback + optional claude.ai); show Verbose/Elevated only when enabled; compact usage/cost line + restore emoji-rich status; /status in directive-only + multi-directive handling; mention-bypass elevated handling; surface provider usage errors; wire /usage to /status; restore hidden gateway-daemon alias; fallback /model list when catalog unavailable.
|
|
1666
|
+
- WhatsApp: vCard/contact cards (prefer FN, include numbers, show all contacts, keep summary counts, better empty summaries); preserve group JIDs + normalize targets; resolve @lid mappings/JIDs (Baileys/auth-dir) + inbound mapping; route queued replies to sender; improve web listener errors + remove provider name from errors; record outbound activity account id; fix web media fetch errors; broadcast group history consistency.
|
|
1667
|
+
- Telegram: keep streamMode draft-only; long-poll conflict retries + update dedupe; grammY fetch mismatch fixes + restrict native fetch to Bun; suppress getUpdates stack traces; include user id in pairing; audio_as_voice handling fixes.
|
|
1668
|
+
- Discord/Slack: thread context helpers + forum thread starters; avoid category parent overrides; gateway reconnect logs + HELLO timeout + stop provider after reconnect exhaustion; DM recipient parsing for numeric IDs; remove incorrect limited warning; reply threading + mrkdwn edge cases; remove ack reactions after reply; gateway debug event visibility.
|
|
1669
|
+
- Signal: reaction handling safety; own-reaction matching (uuid+phone); UUID-only senders accepted; ignore reaction-only messages.
|
|
1670
|
+
- MS Teams: download image attachments reliably; fix top-level replies; stop on shutdown + honor chunk limits; normalize poll providers/deps; pairing label fixes.
|
|
1671
|
+
- iMessage: isolate group-ish threads by chat_id.
|
|
1672
|
+
- Gateway/Daemon/Doctor: atomic config writes; repair gateway service entrypoint + install switches; non-interactive legacy migrations; systemd unit alignment + KillMode=process; node bridge keepalive/pings; Launch at Login persistence; bundle ClawdbotKit resources + Swift 6.2 compat dylib; relay version check + remove smoke test; regen Swift GatewayModels + keep agent provider string; cron jobId alias + channel alias migration + main session key normalization; heartbeat Telegram accountId resolution; avoid WhatsApp fallback for internal runs; gateway listener error wording; serveBaseUrl param; honor gateway --dev; fix wide-area discovery updates; align agents.defaults schema; provider account metadata in daemon status; refresh Carbon patch for gateway fixes; restore doctor prompter initialValue handling.
|
|
1673
|
+
- Control UI/TUI: persist per-session verbose off + hide tool cards; logs tab opens at bottom; relative asset paths + landing cleanup; session labels lookup/persistence; stop pinning main session in recents; start logs at bottom; TUI status bar refresh + timeout handling + hide reasoning label when off.
|
|
1674
|
+
- Onboarding/Configure: QuickStart single-select provider picker; avoid Codex CLI false-expiry warnings; clarify WhatsApp owner prompt; fix Minimax hosted onboarding (agents.defaults + msteams heartbeat target); remove configure Control UI prompt; honor gateway --dev flag.
|
|
1675
|
+
|
|
1676
|
+
### Maintenance
|
|
1677
|
+
|
|
1678
|
+
- Dependencies: bump pi-\* stack to 0.42.2.
|
|
1679
|
+
- Dependencies: Pi 0.40.0 bump (#543) — thanks @mcinteerj.
|
|
1680
|
+
- Build: Docker build cache layer (#605) — thanks @zknicker.
|
|
1681
|
+
|
|
1682
|
+
- Auth: enable OAuth token refresh for Claude Code CLI credentials (`anthropic:claude-cli`) with bidirectional sync back to Claude Code storage (file on Linux/Windows, Keychain on macOS). This allows long-running agents to operate autonomously without manual re-authentication (#654 — thanks @radek-paclt).
|
|
1683
|
+
|
|
1684
|
+
## 2026.1.8
|
|
1685
|
+
|
|
1686
|
+
### Highlights
|
|
1687
|
+
|
|
1688
|
+
- Security: DMs locked down by default across providers; pairing-first + allowlist guidance.
|
|
1689
|
+
- Sandbox: per-agent scope defaults + workspace access controls; tool/session isolation tuned.
|
|
1690
|
+
- Agent loop: compaction, pruning, streaming, and error handling hardened.
|
|
1691
|
+
- Providers: Telegram/WhatsApp/Discord/Slack reliability, threading, reactions, media, and retries improved.
|
|
1692
|
+
- Control UI: logs tab, streaming stability, focus mode, and large-output rendering fixes.
|
|
1693
|
+
- CLI/Gateway/Doctor: daemon/logs/status, auth migration, and diagnostics significantly expanded.
|
|
1694
|
+
|
|
1695
|
+
### Breaking
|
|
1696
|
+
|
|
1697
|
+
- **SECURITY (update ASAP):** inbound DMs are now **locked down by default** on Telegram/WhatsApp/Signal/iMessage/Discord/Slack.
|
|
1698
|
+
- Previously, if you didn’t configure an allowlist, your bot could be **open to anyone** (especially discoverable Telegram bots).
|
|
1699
|
+
- New default: DM pairing (`dmPolicy="pairing"` / `discord.dm.policy="pairing"` / `slack.dm.policy="pairing"`).
|
|
1700
|
+
- To keep old “open to everyone” behavior: set `dmPolicy="open"` and include `"*"` in the relevant `allowFrom` (Discord/Slack: `discord.dm.allowFrom` / `slack.dm.allowFrom`).
|
|
1701
|
+
- Approve requests via `clawdbot pairing list <provider>` + `clawdbot pairing approve <provider> <code>`.
|
|
1702
|
+
- Sandbox: default `agent.sandbox.scope` to `"agent"` (one container/workspace per agent). Use `"session"` for per-session isolation; `"shared"` disables cross-session isolation.
|
|
1703
|
+
- Timestamps in agent envelopes are now UTC (compact `YYYY-MM-DDTHH:mmZ`); removed `messages.timestampPrefix`. Add `agent.userTimezone` to tell the model the user’s local time (system prompt only).
|
|
1704
|
+
- Model config schema changes (auth profiles + model lists); doctor auto-migrates and the gateway rewrites legacy configs on startup.
|
|
1705
|
+
- Commands: gate all slash commands to authorized senders; add `/compact` to manually compact session context.
|
|
1706
|
+
- Groups: `whatsapp.groups`, `telegram.groups`, and `imessage.groups` now act as allowlists when set. Add `"*"` to keep allow-all behavior.
|
|
1707
|
+
- Auto-reply: removed `autoReply` from Discord/Slack/Telegram channel configs; use `requireMention` instead (Telegram topics now support `requireMention` overrides).
|
|
1708
|
+
- CLI: remove `update`, `gateway-daemon`, `gateway {install|uninstall|start|stop|restart|daemon status|wake|send|agent}`, and `telegram` commands; move `login/logout` to `providers login/logout` (top-level aliases hidden); use `daemon` for service control, `send`/`agent`/`wake` for RPC, and `nodes canvas` for canvas ops.
|
|
1709
|
+
|
|
1710
|
+
### Fixes
|
|
1711
|
+
|
|
1712
|
+
- **CLI/Gateway/Doctor:** daemon runtime selection + improved logs/status/health/errors; auth/password handling for local CLI; richer close/timeout details; auto-migrate legacy config/sessions/state; integrity checks + repair prompts; `--yes`/`--non-interactive`; `--deep` gateway scans; better restart/service hints.
|
|
1713
|
+
- **Agent loop + compaction:** compaction/pruning tuning, overflow handling, safer bootstrap context, and per-provider threading/confirmations; opt-in tool-result pruning + compact tracking.
|
|
1714
|
+
- **Sandbox + tools:** per-agent sandbox overrides, workspaceAccess controls, session tool visibility, tool policy overrides, process isolation, and tool schema/timeout/reaction unification.
|
|
1715
|
+
- **Providers (Telegram/WhatsApp/Discord/Slack/Signal/iMessage):** retry/backoff, threading, reactions, media groups/attachments, mention gating, typing behavior, and error/log stability; long polling + forum topic isolation for Telegram.
|
|
1716
|
+
- **Gateway/CLI UX:** `clawdbot logs`, cron list colors/aliases, docs search, agents list/add/delete flows, status usage snapshots, runtime/auth source display, and `/status`/commands auth unification.
|
|
1717
|
+
- **Control UI/Web:** logs tab, focus mode polish, config form resilience, streaming stability, tool output caps, windowed chat history, and reconnect/password URL auth.
|
|
1718
|
+
- **macOS/Android/TUI/Build:** macOS gateway races, QR bundling, JSON5 config safety, Voice Wake hardening; Android EXIF rotation + APK naming/versioning; TUI key handling; tooling/bundling fixes.
|
|
1719
|
+
- **Packaging/compat:** npm dist folder coverage, Node 25 qrcode-terminal import fixes, Bun/Playwright/WebSocket patches, and Docker Bun install.
|
|
1720
|
+
- **Docs:** new FAQ/ClawdHub/config examples/showcase entries and clarified auth, sandbox, and systemd docs.
|
|
1721
|
+
|
|
1722
|
+
### Maintenance
|
|
1723
|
+
|
|
1724
|
+
- Skills additions (Himalaya email, CodexBar, 1Password).
|
|
1725
|
+
- Dependency refreshes (pi-\* stack, Slack SDK, discord-api-types, file-type, zod, Biome, Vite).
|
|
1726
|
+
- Refactors: centralized group allowlist/mention policy; lint/import cleanup; switch tsx → bun for TS execution.
|
|
1727
|
+
|
|
1728
|
+
## 2026.1.5
|
|
1729
|
+
|
|
1730
|
+
### Highlights
|
|
1731
|
+
|
|
1732
|
+
- Models: add image-specific model config (`agent.imageModel` + fallbacks) and scan support.
|
|
1733
|
+
- Agent tools: new `image` tool routed to the image model (when configured).
|
|
1734
|
+
- Config: default model shorthands (`opus`, `sonnet`, `gpt`, `gpt-mini`, `gemini`, `gemini-flash`).
|
|
1735
|
+
- Docs: document built-in model shorthands + precedence (user config wins).
|
|
1736
|
+
- Bun: optional local install/build workflow without maintaining a Bun lockfile (see `docs/bun.md`).
|
|
1737
|
+
|
|
1738
|
+
### Fixes
|
|
1739
|
+
|
|
1740
|
+
- Control UI: render Markdown in tool result cards.
|
|
1741
|
+
- Control UI: prevent overlapping action buttons in Discord guild rules on narrow layouts.
|
|
1742
|
+
- Android: tapping the foreground service notification brings the app to the front. (#179) — thanks @Syhids
|
|
1743
|
+
- Cron tool uses `id` for update/remove/run/runs (aligns with gateway params). (#180) — thanks @adamgall
|
|
1744
|
+
- Control UI: chat view uses page scroll with sticky header/sidebar and fixed composer (no inner scroll frame).
|
|
1745
|
+
- macOS: treat location permission as always-only to avoid iOS-only enums. (#165) — thanks @Nachx639
|
|
1746
|
+
- macOS: make generated gateway protocol models `Sendable` for Swift 6 strict concurrency. (#195) — thanks @andranik-sahakyan
|
|
1747
|
+
- macOS: bundle QR code renderer modules so DMG gateway boot doesn't crash on missing qrcode-terminal vendor files.
|
|
1748
|
+
- macOS: parse JSON5 config safely to avoid wiping user settings when comments are present.
|
|
1749
|
+
- WhatsApp: suppress typing indicator during heartbeat background tasks. (#190) — thanks @mcinteerj
|
|
1750
|
+
- WhatsApp: mark offline history sync messages as read without auto-reply. (#193) — thanks @mcinteerj
|
|
1751
|
+
- Discord: avoid duplicate replies when a provider emits late streaming `text_end` events (OpenAI/GPT).
|
|
1752
|
+
- CLI: use tailnet IP for local gateway calls when bind is tailnet/auto (fixes #176).
|
|
1753
|
+
- Env: load global `$CLAWDBOT_STATE_DIR/.env` (`~/.clawdbot/.env`) as a fallback after CWD `.env`.
|
|
1754
|
+
- Env: optional login-shell env fallback (opt-in; imports expected keys without overriding existing env).
|
|
1755
|
+
- Agent tools: OpenAI-compatible tool JSON Schemas (fix `browser`, normalize union schemas).
|
|
1756
|
+
- Onboarding: when running from source, auto-build missing Control UI assets (`bun run ui:build`).
|
|
1757
|
+
- Discord/Slack: route reaction + system notifications to the correct session (no main-session bleed).
|
|
1758
|
+
- Agent tools: honor `agent.tools` allow/deny policy even when sandbox is off.
|
|
1759
|
+
- Discord: avoid duplicate replies when OpenAI emits repeated `message_end` events.
|
|
1760
|
+
- Commands: unify /status (inline) and command auth across providers; group bypass for authorized control commands; remove Discord /clawd slash handler.
|
|
1761
|
+
- CLI: run `clawdbot agent` via the Gateway by default; use `--local` to force embedded mode.
|