Peter Steinberger
a4e99ecdaf
chore: remove patch references
2026-01-16 22:41:57 +00:00
Sebastian
a36735b913
feat(config): add env var substitution in config values
...
Support ${VAR_NAME} syntax in any config string value, substituted at
config load time. Useful for referencing API keys and secrets from
environment variables without hardcoding them in the config file.
- Only uppercase env vars matched: [A-Z_][A-Z0-9_]*
- Missing/empty env vars throw MissingEnvVarError with path context
- Escape with $${VAR} to output literal ${VAR}
- Works with $include (included files also get substitution)
Closes #1009
2026-01-16 16:32:07 -05:00
Peter Steinberger
56efbce31e
feat: enable telegram reaction notifications by default
2026-01-16 20:51:42 +00:00
Ruby
0cd24137e8
feat: add session.identityLinks for cross-platform DM session linking ( #1033 )
...
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-16 14:23:22 -06:00
Peter Steinberger
19bcbf85df
fix: scope whatsapp self-chat response prefix
2026-01-16 10:54:11 +00:00
Peter Steinberger
d0c986c4f0
feat: warn on weak model tiers
2026-01-16 09:34:37 +00:00
Peter Steinberger
929666a8c8
fix: add telegram custom commands ( #860 ) (thanks @nachoiacovino)
...
Co-authored-by: Nacho Iacovino <50103937+nachoiacovino@users.noreply.github.com>
2026-01-16 08:22:09 +00:00
Peter Steinberger
ff645524d8
docs: move troubleshooting items from faq
2026-01-16 06:35:13 +00:00
Peter Steinberger
41d44021e7
feat(browser): prefer default chromium browser
2026-01-16 05:37:53 +00:00
Peter Steinberger
1ab1e312b2
feat: add TLS for node bridge
2026-01-16 05:28:40 +00:00
Ubuntu
ca9688b5cc
feat(session): add dmScope for multi-user DM isolation
...
Co-authored-by: Alphonse-arianee <Alphonse-arianee@users.noreply.github.com>
2026-01-16 04:13:10 +00:00
Peter Steinberger
b2b331230b
feat: mac node exec policy + remote skills hot reload
2026-01-16 03:45:06 +00:00
Peter Steinberger
a5d8f89b53
feat(browser): prefer Chrome default + add Brave/Edge fallbacks
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-16 03:28:56 +00:00
Peter Steinberger
dae34f3a61
docs: clarify setup-token location
2026-01-16 02:53:40 +00:00
Peter Steinberger
61e385b331
feat: add per-agent heartbeat config
2026-01-16 01:17:34 +00:00
Peter Steinberger
8c3cdba21c
feat: sticky auth profile rotation + usage headers
2026-01-16 00:25:49 +00:00
juanpablodlc
4a99b9b651
feat(whatsapp): add debounceMs for batching rapid messages ( #971 )
...
* feat(whatsapp): add debounceMs for batching rapid messages
Add a `debounceMs` configuration option to WhatsApp channel settings
that batches rapid consecutive messages from the same sender into a
single response. This prevents triggering separate agent runs for
each message when a user sends multiple short messages in quick
succession (e.g., "Hey!", "how are you?", "I was wondering...").
Changes:
- Add `debounceMs` config to WhatsAppConfig and WhatsAppAccountConfig
- Implement message buffering in `monitorWebInbox` with:
- Map-based buffer keyed by sender (DM) or chat ID (groups)
- Debounce timer that resets on each new message
- Message combination with newline separator
- Single message optimization (no modification if only one message)
- Wire `debounceMs` through account resolution and monitor tuning
- Add UI hints and schema documentation
Usage example:
{
"channels": {
"whatsapp": {
"debounceMs": 5000 // 5 second window
}
}
}
Default behavior: `debounceMs: 0` (disabled by default)
Verified: All existing tests pass (3204 tests), TypeScript compilation
succeeds with no errors.
Implemented with assistance from AI coding tools.
Closes #967
* chore: wip inbound debounce
* fix: debounce inbound messages across channels (#971 ) (thanks @juanpablodlc)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-15 23:07:19 +00:00
Peter Steinberger
8b89980a89
feat(date-time): standardize time context and tool timestamps
2026-01-15 22:27:06 +00:00
Benjamin Jesuiter
7f6a288bd3
docs: clarify multi-gateway rescue bot guidance
2026-01-15 22:10:27 +00:00
Peter Steinberger
4275ed68a2
fix(browser): default to chrome extension takeover
2026-01-15 09:02:42 +00:00
Peter Steinberger
c269d5f258
fix: isolate Slack thread sessions ( #758 )
2026-01-15 08:11:03 +00:00
Peter Steinberger
f5577ad78e
docs: add multi-gateway guide
2026-01-15 07:29:48 +00:00
Peter Steinberger
0a1eeedc10
fix: unblock control commands during active runs
2026-01-15 07:08:48 +00:00
Peter Steinberger
04ebf8d67a
docs: note child process bridge helper
2026-01-15 06:59:02 +00:00
Peter Steinberger
728cd5e974
fix: document WhatsApp read receipts toggle ( #882 ) (thanks @chrisrodz)
2026-01-15 06:22:33 +00:00
Peter Steinberger
d59aab7fd3
chore: drop Clawdis legacy references
2026-01-15 06:18:44 +00:00
Peter Steinberger
ca1902fb4e
feat(security): expand audit and safe --fix
2026-01-15 05:31:43 +00:00
Peter Steinberger
7d4f2d9aed
Merge pull request #928 from sebslight/feature/response-prefix-template-variables
...
feat: add dynamic template variables to messages.responsePrefix
2026-01-15 05:27:20 +00:00
Peter Steinberger
042b65dfcc
feat: add web tools config to configure
2026-01-15 05:08:56 +00:00
Peter Steinberger
0e76d21f11
docs(security): mention audit --fix
2026-01-15 05:03:13 +00:00
Peter Steinberger
ef78b198cb
feat: add Chrome extension browser relay
2026-01-15 04:52:28 +00:00
Peter Steinberger
c4402a1ce5
docs: clarify agent auth + sandboxed skills
2026-01-15 04:51:03 +00:00
Peter Steinberger
f275cc180b
feat: add web tools
2026-01-15 04:07:40 +00:00
Peter Steinberger
31d3aef8d6
fix: prevent config clobbering
2026-01-15 04:06:11 +00:00
Sebastian
d0a4cce41e
feat: add dynamic template variables to messages.responsePrefix ( #923 )
...
Adds support for template variables in `messages.responsePrefix` that
resolve dynamically at runtime with the actual model used (including
after fallback).
Supported variables (case-insensitive):
- {model} - short model name (e.g., "claude-opus-4-5", "gpt-4o")
- {modelFull} - full model identifier (e.g., "anthropic/claude-opus-4-5")
- {provider} - provider name (e.g., "anthropic", "openai")
- {thinkingLevel} or {think} - thinking level ("high", "low", "off")
- {identity.name} or {identityName} - agent identity name
Example: "[{model} | think:{thinkingLevel}]" → "[claude-opus-4-5 | think:high]"
Variables show the actual model used after fallback, not the intended
model. Unresolved variables remain as literal text.
Implementation:
- New module: src/auto-reply/reply/response-prefix-template.ts
- Template interpolation in normalize-reply.ts via context provider
- onModelSelected callback in agent-runner-execution.ts
- Updated all 6 provider message handlers (web, signal, discord,
telegram, slack, imessage)
- 27 unit tests covering all variables and edge cases
- Documentation in docs/gateway/configuration.md and JSDoc
Fixes #923
2026-01-14 23:05:08 -05:00
Peter Steinberger
574b6ab5b1
docs: document provider tool policies
2026-01-15 03:55:20 +00:00
hyaxia
f3c9252840
Security: add detect-secrets scan
2026-01-15 03:14:43 +00:00
Peter Steinberger
b1e3d79eaa
docs: clarify Claude CLI auth mode
2026-01-15 02:35:20 +00:00
Peter Steinberger
12c2d37e62
docs: document DM history limits ( #883 )
...
Thanks @pkrmf.
Co-authored-by: Marc Terns <tenxurz@gmail.com>
2026-01-15 02:22:29 +00:00
Peter Steinberger
ad8799522c
feat(config): gate channel config writes
2026-01-15 01:41:15 +00:00
Peter Steinberger
c2a4f256c8
feat: add security audit + onboarding checkpoint
2026-01-15 01:25:11 +00:00
Peter Steinberger
fe974f420d
chore: standardize Claude Code CLI naming ( #915 )
...
Follow-up to #915 .
2026-01-14 20:07:35 +00:00
Peter Steinberger
6fdfe8ea73
fix: finalize channels rename cleanup
2026-01-13 08:40:40 +00:00
Peter Steinberger
3eb48cbea7
docs: complete channels rename sweep
2026-01-13 08:40:39 +00:00
Peter Steinberger
90342a4f3a
refactor!: rename chat providers to channels
2026-01-13 08:40:39 +00:00
Peter Steinberger
9a322d52e2
docs: update faq and install guidance
2026-01-13 08:03:11 +00:00
Peter Steinberger
4fd1a6dec3
fix: harden doctor install checks
2026-01-13 07:25:25 +00:00
Peter Steinberger
d5b17d344b
Merge pull request #722 from vrknetha/feat/slash-bash-command
...
feat(bash): add host-only /bash slash command
2026-01-13 07:18:35 +00:00
Peter Steinberger
8111e18dbd
docs: add Opus/MiniMax fallback examples
2026-01-13 07:15:20 +00:00
Gregor's Bot
ece01d89fe
Docs: document agents.list model fallbacks
2026-01-13 06:50:20 +00:00
Gregor's Bot
6729637f61
Config: support per-agent model fallbacks
2026-01-13 06:50:20 +00:00
Peter Steinberger
780a43711f
feat(tools): add tool profiles and group shorthands
2026-01-13 06:30:20 +00:00
vrknetha
721a6bf0f9
Docs: document bash chat command
2026-01-13 11:56:51 +05:30
Peter Steinberger
bb2df13be0
Merge pull request #700 from clawdbot/shadow/compaction
...
Agents: safeguard compaction summarization
2026-01-13 05:59:15 +00:00
Peter Steinberger
5918def440
fix: honor gateway service override labels
2026-01-13 05:58:49 +00:00
Shadow
a96d299971
Agents: safeguard compaction summarization
2026-01-13 05:55:30 +00:00
Peter Steinberger
b70298fbca
fix: document Tailscale Serve auth headers ( #823 ) (thanks @roshanasingh4)
2026-01-13 04:37:04 +00:00
Peter Steinberger
755a7e1b20
feat: add configurable bootstrap truncation
2026-01-13 04:27:03 +00:00
Peter Steinberger
b41e75a15d
feat: cron agent binding + doctor UI refresh
2026-01-13 04:25:41 +00:00
Travis Hinton
8b5cd97ceb
Add Synthetic provider support
2026-01-13 03:36:53 +00:00
Peter Steinberger
67d0ab3030
docs: simplify local models guidance
2026-01-13 03:26:00 +00:00
Muhammed Mukhthar CM
ba316a10cc
feat: add remote config overrides to memorySearch
2026-01-13 03:02:43 +00:00
Peter Steinberger
72100ba3ab
refactor(sandbox): drop legacy memory shorthand
2026-01-12 22:59:36 +00:00
Peter Steinberger
e7e544174f
docs: add region guidance for hosted minimax
2026-01-12 22:45:00 +00:00
Peter Steinberger
9b0d9db3a3
docs: detail memory tools and local models
2026-01-12 22:35:19 +00:00
Peter Steinberger
59c8d2d17f
docs: clarify sandbox bind mounts ( #790 )
2026-01-12 22:06:35 +00:00
Aaron Konyer
0b2b8c7c52
Add docker bind mounds for sandboxing
2026-01-12 21:57:51 +00:00
Peter Steinberger
2faf7cea93
feat(sandbox): add tool-policy groups
2026-01-12 21:51:49 +00:00
Peter Steinberger
26d5cca97c
feat: auto native commands defaults
2026-01-12 21:49:44 +00:00
Zach Knickerbocker
3467b0ba07
Discord: add allowBots config option ( #802 )
...
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-12 15:30:05 -06:00
Peter Steinberger
7b93356fb7
feat: subagent model defaults
2026-01-12 18:08:30 +00:00
Peter Steinberger
1b2c1545a0
docs: harden local model guidance
2026-01-12 17:11:04 +00:00
Peter Steinberger
717a259056
docs: add local models guide
2026-01-12 16:50:37 +00:00
Peter Steinberger
a3938d62f6
chore: raise heartbeat ack window
2026-01-12 11:06:46 +00:00
Peter Steinberger
98e75fce17
test: align group policy defaults
2026-01-12 08:45:57 +00:00
Peter Steinberger
006e1352d8
fix: harden msteams group access
2026-01-12 08:32:08 +00:00
Peter Steinberger
842e91d019
fix: default groupPolicy to allowlist
2026-01-12 08:22:01 +00:00
Peter Steinberger
79cbb20988
docs: add Moonshot provider setup
2026-01-12 06:48:06 +00:00
Peter Steinberger
960ed66501
docs: update slash commands docs
2026-01-12 06:38:16 +00:00
Peter Steinberger
5b44825cb3
fix: skip memory flush on read-only workspace
2026-01-12 06:33:27 +00:00
Peter Steinberger
048ee4b838
docs: expand minimax + cerebras setup
2026-01-12 06:13:31 +00:00
Peter Steinberger
c4d85dc045
docs: refresh minimax setup docs
2026-01-12 06:13:31 +00:00
Peter Steinberger
7dbb21be8e
feat: add pre-compaction memory flush
2026-01-12 05:29:18 +00:00
Peter Steinberger
f5c851e11e
fix(models): default MiniMax to /anthropic
2026-01-12 05:12:07 +00:00
Peter Steinberger
8e1cdf3a1f
fix: require gateway client id
...
# Conflicts:
# apps/macos/Sources/Clawdbot/GatewayChannel.swift
# docs/concepts/typebox.md
# docs/gateway/index.md
# src/commands/onboard-non-interactive.gateway-auth.test.ts
# src/commands/onboard-non-interactive.lan-auto-token.test.ts
# src/gateway/call.ts
# src/gateway/client.ts
# src/gateway/gateway.wizard.e2e.test.ts
# src/gateway/probe.ts
# src/gateway/protocol/schema.ts
# src/gateway/server.auth.test.ts
# src/gateway/server.health.test.ts
# src/gateway/server.ts
# src/gateway/test-helpers.ts
# src/tui/gateway-chat.ts
2026-01-12 04:58:38 +00:00
Peter Steinberger
986ff8c59f
docs: add protocol docs
2026-01-12 04:44:27 +00:00
Peter Steinberger
8b4bdaa8a4
feat: add apply_patch tool (exec-gated)
2026-01-12 03:42:56 +00:00
Peter Steinberger
98337a14b3
fix: rename bash tool to exec ( #748 ) (thanks @myfunc)
2026-01-12 02:49:55 +00:00
Peter Steinberger
d97c211e82
docs: make remote host examples generic
2026-01-12 02:11:33 +00:00
Peter Steinberger
e3e3498a4b
fix: guard config includes ( #731 ) (thanks @pasogott)
2026-01-12 00:12:03 +00:00
sheeek
15d286b617
feat(config): add $include directive for modular configs
...
Adds support for splitting clawdbot.json into multiple files using the
$include directive. This enables:
- Single file includes: { "$include": "./agents.json5" }
- Multiple file merging: { "$include": ["./a.json5", "./b.json5"] }
- Nested includes (up to 10 levels deep)
- Sibling key merging with includes
Features:
- Relative paths resolved from including file
- Absolute paths supported
- Circular include detection
- Clear error messages with resolved paths
Use case: Per-client agent configs for isolated sandboxed environments
(e.g., legal case management with strict data separation).
2026-01-12 00:08:27 +00:00
Peter Steinberger
4b51c96e4e
fix: apply model extra params without overwriting stream ( #732 ) (thanks @peschee)
2026-01-12 00:03:48 +00:00
Peter Steinberger
cf0c72a557
feat: add plugin architecture
2026-01-11 12:11:12 +00:00
Peter Steinberger
7acd26a2fc
Move provider to a plugin-architecture ( #661 )
...
* refactor: introduce provider plugin registry
* refactor: move provider CLI to plugins
* docs: add provider plugin implementation notes
* refactor: shift provider runtime logic into plugins
* refactor: add plugin defaults and summaries
* docs: update provider plugin notes
* feat(commands): add /commands slash list
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* Tests: align google shared expectations
* Auto-reply: tidy help message
* Auto-reply: fix status command lint
* refactor: move provider routing into plugins
* test: align agent routing expectations
* docs: update provider plugin notes
* refactor: route replies via provider plugins
* docs: note route-reply plugin hooks
* refactor: extend provider plugin contract
* refactor: derive provider status from plugins
* refactor: unify gateway provider control
* refactor: use plugin metadata in auto-reply
* fix: parenthesize cron target selection
* refactor: derive gateway methods from plugins
* refactor: generalize provider logout
* refactor: route provider logout through plugins
* refactor: move WhatsApp web login methods into plugin
* refactor: generalize provider log prefixes
* refactor: centralize default chat provider
* refactor: derive provider lists from registry
* refactor: move provider reload noops into plugins
* refactor: resolve web login provider via alias
* refactor: derive CLI provider options from plugins
* refactor: derive prompt provider list from plugins
* style: apply biome lint fixes
* fix: resolve provider routing edge cases
* docs: update provider plugin refactor notes
* fix(gateway): harden agent provider routing
* refactor: move provider routing into plugins
* refactor: move provider CLI to plugins
* refactor: derive provider lists from registry
* fix: restore slash command parsing
* refactor: align provider ids for schema
* refactor: unify outbound target resolution
* fix: keep outbound labels stable
* feat: add msteams to cron surfaces
* fix: clean up lint build issues
* refactor: localize chat provider alias normalization
* refactor: drive gateway provider lists from plugins
* docs: update provider plugin notes
* style: format message-provider
* fix: avoid provider registry init cycles
* style: sort message-provider imports
* fix: relax provider alias map typing
* refactor: move provider routing into plugins
* refactor: add plugin pairing/config adapters
* refactor: route pairing and provider removal via plugins
* refactor: align auto-reply provider typing
* test: stabilize telegram media mocks
* docs: update provider plugin refactor notes
* refactor: pluginize outbound targets
* refactor: pluginize provider selection
* refactor: generalize text chunk limits
* docs: update provider plugin notes
* refactor: generalize group session/config
* fix: normalize provider id for room detection
* fix: avoid provider init in system prompt
* style: formatting cleanup
* refactor: normalize agent delivery targets
* test: update outbound delivery labels
* chore: fix lint regressions
* refactor: extend provider plugin adapters
* refactor: move elevated/block streaming defaults to plugins
* refactor: defer outbound send deps to plugins
* docs: note plugin-driven streaming/elevated defaults
* refactor: centralize webchat provider constant
* refactor: add provider setup adapters
* refactor: delegate provider add config to plugins
* docs: document plugin-driven provider add
* refactor: add plugin state/binding metadata
* refactor: build agent provider status from plugins
* docs: note plugin-driven agent bindings
* refactor: centralize internal provider constant usage
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize default chat provider
* refactor: centralize WhatsApp target normalization
* refactor: move provider routing into plugins
* refactor: normalize agent delivery targets
* chore: fix lint regressions
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* feat: expand provider plugin adapters
* refactor: route auto-reply via provider plugins
* fix: align WhatsApp target normalization
* fix: normalize WhatsApp targets for groups and E.164 (#631 ) (thanks @imfing)
* refactor: centralize WhatsApp target normalization
* feat: add /config chat config updates
* docs: add /config get alias
* feat(commands): add /commands slash list
* refactor: centralize default chat provider
* style: apply biome lint fixes
* chore: fix lint regressions
* fix: clean up whatsapp allowlist typing
* style: format config command helpers
* refactor: pluginize tool threading context
* refactor: normalize session announce targets
* docs: note new plugin threading and announce hooks
* refactor: pluginize message actions
* docs: update provider plugin actions notes
* fix: align provider action adapters
* refactor: centralize webchat checks
* style: format message provider helpers
* refactor: move provider onboarding into adapters
* docs: note onboarding provider adapters
* feat: add msteams onboarding adapter
* style: organize onboarding imports
* fix: normalize msteams allowFrom types
* feat: add plugin text chunk limits
* refactor: use plugin chunk limit fallbacks
* feat: add provider mention stripping hooks
* style: organize provider plugin type imports
* refactor: generalize health snapshots
* refactor: update macOS health snapshot handling
* docs: refresh health snapshot notes
* style: format health snapshot updates
* refactor: drive security warnings via plugins
* docs: note provider security adapter
* style: format provider security adapters
* refactor: centralize provider account defaults
* refactor: type gateway client identity constants
* chore: regen gateway protocol swift
* fix: degrade health on failed provider probe
* refactor: centralize pairing approve hint
* docs: add plugin CLI command references
* refactor: route auth and tool sends through plugins
* docs: expand provider plugin hooks
* refactor: document provider docking touchpoints
* refactor: normalize internal provider defaults
* refactor: streamline outbound delivery wiring
* refactor: make provider onboarding plugin-owned
* refactor: support provider-owned agent tools
* refactor: move telegram draft chunking into telegram module
* refactor: infer provider tool sends via extractToolSend
* fix: repair plugin onboarding imports
* refactor: de-dup outbound target normalization
* style: tidy plugin and agent imports
* refactor: data-drive provider selection line
* fix: satisfy lint after provider plugin rebase
* test: deflake gateway-cli coverage
* style: format gateway-cli coverage test
* refactor(provider-plugins): simplify provider ids
* test(pairing-cli): avoid provider-specific ternary
* style(macos): swiftformat HealthStore
* refactor(sandbox): derive provider tool denylist
* fix(sandbox): avoid plugin init in defaults
* refactor(provider-plugins): centralize provider aliases
* style(test): satisfy biome
* refactor(protocol): v3 providers.status maps
* refactor(ui): adapt to protocol v3
* refactor(macos): adapt to protocol v3
* test: update providers.status v3 fixtures
* refactor(gateway): map provider runtime snapshot
* test(gateway): update reload runtime snapshot
* refactor(whatsapp): normalize heartbeat provider id
* docs(refactor): update provider plugin notes
* style: satisfy biome after rebase
* fix: describe sandboxed elevated in prompt
* feat(gateway): add agent image attachments + live probe
* refactor: derive CLI provider options from plugins
* fix(gateway): harden agent provider routing
* fix(gateway): harden agent provider routing
* refactor: align provider ids for schema
* fix(protocol): keep agent provider string
* fix(gateway): harden agent provider routing
* fix(protocol): keep agent provider string
* refactor: normalize agent delivery targets
* refactor: support provider-owned agent tools
* refactor(config): provider-keyed elevated allowFrom
* style: satisfy biome
* fix(gateway): appease provider narrowing
* style: satisfy biome
* refactor(reply): move group intro hints into plugin
* fix(reply): avoid plugin registry init cycle
* refactor(providers): add lightweight provider dock
* refactor(gateway): use typed client id in connect
* refactor(providers): document docks and avoid init cycles
* refactor(providers): make media limit helper generic
* fix(providers): break plugin registry import cycles
* style: satisfy biome
* refactor(status-all): build providers table from plugins
* refactor(gateway): delegate web login to provider plugin
* refactor(provider): drop web alias
* refactor(provider): lazy-load monitors
* style: satisfy lint/format
* style: format status-all providers table
* style: swiftformat gateway discovery model
* test: make reload plan plugin-driven
* fix: avoid token stringification in status-all
* refactor: make provider IDs explicit in status
* feat: warn on signal/imessage provider runtime errors
* test: cover gateway provider runtime warnings in status
* fix: add runtime kind to provider status issues
* test: cover health degradation on probe failure
* fix: keep routeReply lightweight
* style: organize routeReply imports
* refactor(web): extract auth-store helpers
* refactor(whatsapp): lazy login imports
* refactor(outbound): route replies via plugin outbound
* docs: update provider plugin notes
* style: format provider status issues
* fix: make sandbox scope warning wrap-safe
* refactor: load outbound adapters from provider plugins
* docs: update provider plugin outbound notes
* style(macos): fix swiftformat lint
* docs: changelog for provider plugins
* fix(macos): satisfy swiftformat
* fix(macos): open settings via menu action
* style: format after rebase
* fix(macos): open Settings via menu action
---------
Co-authored-by: LK <luke@kyohere.com>
Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-01-11 11:45:25 +00:00
Peter Steinberger
6d2928888c
feat(macos): prompt for CLI install
2026-01-11 10:32:52 +00:00
Peter Steinberger
20b4e2b859
fix: stabilize live probes and docs
2026-01-11 02:26:39 +00:00
Peter Steinberger
f8d168bde0
docs: clarify gateway remote node flow
2026-01-11 03:17:06 +01:00
Peter Steinberger
e824b3514b
fix(status): improve diagnostics and output
2026-01-11 02:42:24 +01:00
Peter Steinberger
02270abc87
feat: add codex cli backend
2026-01-11 01:39:30 +00:00
Peter Steinberger
e0bf86f06c
feat: improve gateway services and auto-reply commands
2026-01-11 02:27:16 +01:00
Peter Steinberger
fe46a2663b
docs: clarify browser allowlist defaults and risks
2026-01-11 02:00:30 +01:00
Peter Steinberger
a32021dc3e
fix: inject image paths for cli backends
2026-01-11 00:55:22 +00:00
Peter Steinberger
4cf3e84b39
test: add CLI backend image probe
2026-01-11 00:55:22 +00:00
Peter Steinberger
d8f1124d59
feat: add CLI backend fallback
2026-01-11 00:55:22 +00:00
Peter Steinberger
07be761779
feat: add sandbox browser control allowlists
2026-01-11 01:52:32 +01:00
Peter Steinberger
b0b4b33b6b
fix: update gateway auth docs and clients
2026-01-11 01:51:24 +01:00
Peter Steinberger
506cc9e7a1
chore(release): 2026.1.11-3
2026-01-11 01:38:15 +01:00
Peter Steinberger
07eed3de56
docs(status): add diagnostics commands
2026-01-11 01:31:56 +01:00
Peter Steinberger
326fb04d12
feat: add browser target selection for sandboxed agents
2026-01-11 01:31:56 +01:00
Peter Steinberger
1eb50ffac4
feat(status): improve status output
2026-01-10 23:32:07 +01:00
Peter Steinberger
3166cc911b
Heartbeat: optional reasoning delivery ( #690 )
...
* feat: expose heartbeat reasoning output
* docs(changelog): mention heartbeat reasoning toggle
2026-01-10 22:26:20 +00:00
Peter Steinberger
1c257f170a
Gateway: disable OpenAI HTTP chat completions by default ( #686 )
...
* feat(gateway): disable OpenAI chat completions HTTP by default
* test(gateway): deflake mock OpenAI tool-calling
* docs(changelog): note OpenAI HTTP endpoint default-off
2026-01-10 21:55:54 +00:00
Peter Steinberger
ad17966e2f
fix(doctor): warn on opencode overrides
2026-01-10 22:44:31 +01:00
Peter Steinberger
56b11ad5a8
docs(gateway): rename OpenAI HTTP endpoint doc
2026-01-10 22:39:06 +01:00
Peter Steinberger
1110d96769
feat(gateway): add config toggle for chat completions endpoint
2026-01-10 22:39:06 +01:00
Peter Steinberger
6546a1a23a
feat(gateway): allow agent via model
2026-01-10 22:11:12 +01:00
Peter Steinberger
dafa8a2881
feat(gateway): add OpenAI-compatible HTTP endpoint
2026-01-10 22:11:04 +01:00
Shadow
19d9e7ac05
Docs: fix internal links
2026-01-10 14:51:33 -06:00
Peter Steinberger
8a194b4abc
fix: align opencode-zen provider setup
2026-01-10 21:38:18 +01:00
Peter Steinberger
9f9098406c
feat(sandbox): add sandbox explain inspector
2026-01-10 20:28:43 +01:00
Peter Steinberger
1fe9f648b1
feat(hooks): allow gmail tailscale target URLs
2026-01-10 19:19:43 +01:00
Peter Steinberger
c0a010335b
docs: document history context overrides
2026-01-10 19:16:25 +01:00
Peter Steinberger
6480ef369f
fix: telegram draft chunking defaults ( #667 ) (thanks @rubyrunsstuff)
2026-01-10 18:30:06 +01:00
Peter Steinberger
dd958fddfc
docs: clarify model picks and auth setup
2026-01-10 17:36:54 +01:00
Peter Steinberger
e3cd431551
fix(auto-reply): RawBody commands + locked session updates ( #643 )
2026-01-10 17:32:31 +01:00
Lloyd
ab994d2c63
feat(agent): add human-like delay between block replies
...
Adds `agent.humanDelay` config option to create natural rhythm between
streamed message bubbles. When enabled, introduces a random delay
(default 800-2500ms) between block replies, making multi-message
responses feel more like natural human texting.
Config example:
```json
{
"agent": {
"blockStreamingDefault": "on",
"humanDelay": {
"enabled": true,
"minMs": 800,
"maxMs": 2500
}
}
}
```
- First message sends immediately
- Subsequent messages wait a random delay before sending
- Works with iMessage, Signal, and Discord providers
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:12:50 +01:00
Peter Steinberger
81f9093c3c
fix(pairing): accept positional provider args
2026-01-10 16:36:43 +01:00
Peter Steinberger
41c8bdfada
feat: add ZAI auth choice
2026-01-10 16:32:21 +01:00
Peter Steinberger
449bee9645
fix: bundle node runtime for mac app
2026-01-10 15:28:37 +01:00
Peter Steinberger
cdb915d527
chore: normalize Clawdbot naming
2026-01-10 05:14:09 +01:00
Peter Steinberger
2dc7872ad1
feat: auto-start sandbox browser
2026-01-10 02:06:21 +00:00
Peter Steinberger
38e2362be6
fix: remove ack reactions after reply ( #633 ) (thanks @levifig)
2026-01-10 02:14:14 +01:00
Peter Steinberger
a0a64a625e
docs: document OpenCode Zen config ( #623 )
2026-01-10 01:26:25 +01:00
Peter Steinberger
bd10f3d3f1
feat: allow session_status in sandbox
2026-01-09 23:41:57 +00:00
Peter Steinberger
88cbe2d275
fix: cap pairing requests and suppress outbound pairing replies
2026-01-09 22:58:18 +00:00
Peter Steinberger
89dc6ebb8b
feat(signal): add reaction notifications
2026-01-09 23:53:36 +01:00
Peter Steinberger
79af03ba5e
fix(auto-reply): tighten block streaming defaults
2026-01-09 22:41:10 +01:00
Peter Steinberger
53f51786f2
fix: default block streaming coalesce idle to 1s
2026-01-09 22:31:19 +01:00
Peter Steinberger
c27b1441f7
fix(auth): billing backoff + cooldown UX
2026-01-09 22:00:14 +01:00
Peter Steinberger
5fa26bfec7
feat: add per-agent elevated controls
2026-01-09 20:42:19 +00:00
Peter Steinberger
2977b296e6
feat(messages): add whatsapp messagePrefix and responsePrefix auto
2026-01-09 19:29:04 +00:00
Peter Steinberger
72b0777341
fix(messages): restore explicit responsePrefix default
2026-01-09 19:18:34 +00:00
Peter Steinberger
840ccbccf6
docs: add messages concept overview
2026-01-09 19:06:14 +00:00
Peter Steinberger
ade06cb9fb
Merge pull request #472 from koala73/main
...
feat: add hooks.gmail.model for cheaper Gmail PubSub processing
2026-01-09 19:00:53 +00:00
Peter Steinberger
5755d85ad1
fix: harden Gmail hook model defaults ( #472 ) (thanks @koala73)
2026-01-09 19:59:45 +01:00
Magi Metal
50a5b4ddcc
Discord: fix DM recipient parsing for bare numeric user IDs ( #596 )
...
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-09 12:58:25 -06:00
Peter Steinberger
87f432880a
fix: honor whatsapp mediaMaxMb ( #505 ) (thanks @koala73)
2026-01-09 19:51:35 +01:00
Elie Habib
da2323f80e
docs: add gateway restart guide
2026-01-09 19:39:42 +01:00
Peter Steinberger
fd15704c77
fix(auto-reply): coalesce block replies and document streaming toggles ( #536 ) (thanks @mcinteerj)
2026-01-09 18:19:55 +00:00
mneves75
9279795c47
feat: Add MiniMax Anthropic-compatible API support (minimax-api)
...
Add --auth-choice minimax-api for direct MiniMax API usage at
https://api.minimax.io/anthropic using the anthropic-messages API.
Changes:
- Add applyMinimaxApiConfig() function with provider/model config
- Add minimax-api to AuthChoice type and CLI options
- Add handler and non-interactive support
- Fix duplicate minimax entry in envMap
- Update live test to use anthropic-messages API
- Add 11 unit tests covering all edge cases
- Document configuration in gateway docs
Test results:
- 11/11 unit tests pass
- 1/1 live API test passes (verified with real API key)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 18:13:18 +01:00