Commit Graph

1502 Commits

Author SHA1 Message Date
Peter Steinberger
d1c5f307a9 docs: document provider auth plugins 2026-01-16 00:42:48 +00:00
Peter Steinberger
dc7da74e4a refactor: system prompt sections + docs/tests 2026-01-16 00:28:43 +00:00
Peter Steinberger
349bdebb6f feat: sticky auth profile rotation + usage headers 2026-01-16 00:25:49 +00:00
Josh Lehman
36168e1ed3 feat(slack): add userToken for read-only access to DMs and private channels (#981)
- Add userToken and userTokenReadOnly (default: true) config fields
- Implement token routing: reads prefer user token, writes use bot token
- Add tests for token routing logic
- Update documentation with required OAuth scopes

User tokens enable reading DMs and private channels without requiring
bot membership. The userTokenReadOnly flag (true by default) ensures
the user token can only be used for reads, preventing accidental
sends as the user.

Required user token scopes:
- channels:history, channels:read
- groups:history, groups:read
- im:history, im:read
- mpim:history, mpim:read
- users:read, reactions:read, pins:read, emoji:read, search:read
2026-01-16 00:11:33 +00:00
Peter Steinberger
f58aa0e9f3 fix: handle Telegram General topic thread params (#848) (thanks @azade-c) 2026-01-16 00:08:56 +00:00
Peter Steinberger
7c99563e57 docs: add inbound debounce config example 2026-01-15 23:20:14 +00:00
juanpablodlc
ae2d725109 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
bf8d0d0b1c feat(date-time): standardize time context and tool timestamps 2026-01-15 22:27:06 +00:00
Benjamin Jesuiter
ecce98f312 docs: clarify multi-gateway rescue bot guidance 2026-01-15 22:10:27 +00:00
Shadow
e1464499d7 Discord: fix allowlist gating. Closes #961 2026-01-15 11:53:13 -06:00
Peter Steinberger
3fee19b153 fix: refine telegram reactions (#964) (thanks @bohdanpodvirnyi) 2026-01-15 17:20:17 +00:00
Bohdan Podvirnyi
c82f011ff2 feat: added capability for clawdbot to react 2026-01-15 17:07:38 +00:00
Peter Steinberger
360d64afa6 chore: start 2026.1.15 (unreleased) 2026-01-15 16:47:19 +00:00
Peter Steinberger
b29e74a992 chore: bump version to 2026.1.14-1 2026-01-15 10:00:43 +00:00
Shadow
fdbedd8340 Commands: add dynamic arg menus 2026-01-15 09:31:16 +00:00
Peter Steinberger
2596bb51f3 docs: clarify Brave Search API key plan 2026-01-15 09:17:24 +00:00
Peter Steinberger
ef06b809bf feat: offer local plugin install in git checkouts 2026-01-15 09:07:48 +00:00
Peter Steinberger
91f0243a19 fix(browser): default to chrome extension takeover 2026-01-15 09:02:42 +00:00
Peter Steinberger
a3083f6637 fix(browser): make extension relay zero-config 2026-01-15 09:02:42 +00:00
Peter Steinberger
8adc4c6d98 feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
Peter Steinberger
30db5d20e5 docs: add compaction alias page 2026-01-15 08:15:33 +00:00
Peter Steinberger
eb7149c0db fix: isolate Slack thread sessions (#758) 2026-01-15 08:11:03 +00:00
Peter Steinberger
6143be2ba2 docs: redirect /sandboxing to /gateway/sandboxing 2026-01-15 07:55:49 +00:00
Peter Steinberger
741b05c0b6 fix: harden whatsapp command auth 2026-01-15 07:54:39 +00:00
Peter Steinberger
51bf1a3bb5 docs: hide experiments nav group 2026-01-15 07:53:43 +00:00
Peter Steinberger
38ff07ed24 docs: link multi-gateway guide in sidebar 2026-01-15 07:49:52 +00:00
Peter Steinberger
05c2a49050 fix(tools): enable web_fetch by default 2026-01-15 07:42:07 +00:00
Peter Steinberger
8c84d3c958 docs: add multi-gateway guide 2026-01-15 07:29:48 +00:00
Peter Steinberger
3488f01f26 Merge pull request #846 from vrknetha/feature/voice-call-plivo
feat(voice-call): add Plivo provider (no SDK dependency)
2026-01-15 07:28:37 +00:00
Peter Steinberger
d9a8388554 docs: clarify Telegram IPv6 DNS troubleshooting 2026-01-15 07:23:28 +00:00
vrknetha
88edb715f5 Voice Call: add Plivo provider 2026-01-15 07:21:40 +00:00
Peter Steinberger
bc6399b078 fix: unblock control commands during active runs 2026-01-15 07:08:48 +00:00
Peter Steinberger
a724d3ed47 docs: note child process bridge helper 2026-01-15 06:59:02 +00:00
Peter Steinberger
a9fa335c41 Merge pull request #882 from chrisrodz/feat/whatsapp-send-read-receipts-option
feat(whatsapp): add sendReadReceipts config option
2026-01-15 06:27:35 +00:00
Peter Steinberger
288845305a docs: expand Zalo overview + add longmaba
Co-authored-by: Long <longmaba@gmail.com>
2026-01-15 06:26:55 +00:00
Peter Steinberger
418cfcfdff fix: document WhatsApp read receipts toggle (#882) (thanks @chrisrodz) 2026-01-15 06:22:33 +00:00
Peter Steinberger
3578c96530 chore: drop Clawdis legacy references 2026-01-15 06:18:44 +00:00
Peter Steinberger
f2904ecf76 docs(cli): add per-command CLI pages 2026-01-15 06:13:10 +00:00
Peter Steinberger
e6384b8a62 docs: clarify Telegram allowFrom lookup 2026-01-15 06:09:19 +00:00
Peter Steinberger
864fb2dcaa docs: prune internal notes and doc aliases 2026-01-15 05:55:28 +00:00
Peter Steinberger
e0cd032a6f docs(lore): mention Warelay + Clawdis 2026-01-15 05:52:01 +00:00
Peter Steinberger
acbdca8aa7 feat: extend Telegram dock commands and config hashing (#929)
Thanks @grp06.

Co-authored-by: George Pickett <gpickett00@gmail.com>
2026-01-15 05:49:28 +00:00
Peter Steinberger
e0a1a43839 docs: add Zalo channel nav + plugin note 2026-01-15 05:36:31 +00:00
Peter Steinberger
c6d237ff12 fix: return setup hint when web_search lacks key 2026-01-15 05:35:22 +00:00
Peter Steinberger
87400c3aa0 feat(security): expand audit and safe --fix 2026-01-15 05:31:43 +00:00
Peter Steinberger
47c31e6f14 docs(cli): add dedicated browser command page 2026-01-15 05:30:03 +00:00
Peter Steinberger
2af915f83d 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
f7bfa0dfb9 feat: profile-aware gateway service names (#671)
Thanks @bjesuiter.

Co-authored-by: Benjamin Jesuiter <bjesuiter@gmail.com>
2026-01-15 05:23:41 +00:00
Peter Steinberger
650192a997 docs: clarify extension tab attachment 2026-01-15 05:20:56 +00:00
Peter Steinberger
5f7ceaad99 docs: explain sandboxed browser control 2026-01-15 05:17:12 +00:00
Peter Steinberger
250d27a03e docs: clarify when browser serve is needed 2026-01-15 05:15:33 +00:00
Peter Steinberger
7f3f2aee4d feat: add web tools config to configure 2026-01-15 05:08:56 +00:00
Peter Steinberger
dd3c254204 feat: add onboarding plugin install flow 2026-01-15 05:04:09 +00:00
Peter Steinberger
e15186f866 feat: add plugin HTTP hooks + Zalo plugin 2026-01-15 05:04:09 +00:00
Peter Steinberger
889e615bff docs(security): mention audit --fix 2026-01-15 05:03:13 +00:00
Peter Steinberger
ebcf6ada8c feat: add Chrome extension browser relay 2026-01-15 04:52:28 +00:00
Peter Steinberger
4a0572c71d docs: clarify agent auth + sandboxed skills 2026-01-15 04:51:03 +00:00
Peter Steinberger
32431a1e0c feat(security): add audit --fix 2026-01-15 04:50:06 +00:00
Roshan Singh
8c0897d56d Structured subagent announce output + include run outcome (#835)
* docs: clarify subagent announce status

* Make subagent announce structured and include run outcome

* fix: stabilize sub-agent announce status (#835) (thanks @roshanasingh4)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-15 04:48:07 +00:00
Peter Steinberger
c51f055772 feat: add web search hint to onboarding 2026-01-15 04:25:19 +00:00
Peter Steinberger
cc76604f4e docs: add web search note to quick start 2026-01-15 04:16:09 +00:00
Peter Steinberger
080d77e17b docs: add web search FAQ 2026-01-15 04:15:24 +00:00
Peter Steinberger
b43499666f feat: add web tools 2026-01-15 04:07:40 +00:00
Peter Steinberger
a904277037 fix: prevent config clobbering 2026-01-15 04:06:11 +00:00
Sebastian
db6c386825 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
12aa76f73a docs: document provider tool policies 2026-01-15 03:55:20 +00:00
Peter Steinberger
981e8e351b docs: clarify group sandbox folder allowlist 2026-01-15 03:52:57 +00:00
Peter Steinberger
5113eb737e feat: add browser snapshot modes 2026-01-15 03:50:57 +00:00
Peter Steinberger
ef598caf10 docs: document personal DMs vs public groups 2026-01-15 03:48:14 +00:00
hyaxia
39678bdce5 Security: add detect-secrets scan 2026-01-15 03:14:43 +00:00
Peter Steinberger
3c605b6043 fix: restore docker binds and PATH in sandbox exec (#873)
Thanks @akonyer.

Co-authored-by: Aaron Konyer <aaronk@gomodular.ca>
2026-01-15 02:58:20 +00:00
Peter Steinberger
e908edd04e docs: add messaging channel guide 2026-01-15 02:50:03 +00:00
Peter Steinberger
fec657e888 feat: load channel plugins 2026-01-15 02:42:44 +00:00
Peter Steinberger
e35013b046 docs: clarify Claude CLI auth mode 2026-01-15 02:35:20 +00:00
Peter Steinberger
2732740110 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
77b165e7a9 feat(config): gate channel config writes 2026-01-15 01:41:15 +00:00
Peter Steinberger
e2832f544f feat: add security audit + onboarding checkpoint 2026-01-15 01:25:11 +00:00
Peter Steinberger
a08f7f00e8 docs: add context concept page 2026-01-15 01:12:59 +00:00
Peter Steinberger
7756918f06 feat: add /context prompt breakdown 2026-01-15 01:06:35 +00:00
Peter Steinberger
7b8ceba672 docs: add markdown IR example 2026-01-15 00:37:04 +00:00
Peter Steinberger
75164654aa docs: expand markdown formatting pipeline 2026-01-15 00:34:34 +00:00
Peter Steinberger
a3ebd00681 refactor: unify markdown formatting pipeline 2026-01-15 00:31:07 +00:00
Peter Steinberger
1db2eca941 fix(telegram): wire delete action for message tool (#903) - thanks @sleontenko
Co-authored-by: Stan <sleontenko@users.noreply.github.com>
2026-01-15 00:29:53 +00:00
Peter Steinberger
c58c3ccf1b chore: standardize Claude Code CLI naming (#915)
Follow-up to #915.
2026-01-14 20:07:35 +00:00
Peter Steinberger
e798f178f3 fix(telegram): honor timeoutSeconds (thanks @Snaver) (#863) 2026-01-14 10:10:05 +00:00
Peter Steinberger
8608df98c4 docs(usage): note minimax usage key 2026-01-14 09:57:54 +00:00
Peter Steinberger
5f1a93d4c4 feat(usage): add minimax usage snapshot 2026-01-14 09:57:32 +00:00
Peter Steinberger
41c0d5fb0d docs(tools): update slash commands 2026-01-14 01:17:56 +00:00
Peter Steinberger
4702ae134b chore: allow install smoke previous override 2026-01-14 00:07:50 +00:00
Peter Steinberger
b20badc41b chore: prep 2026.1.13 release 2026-01-13 23:59:04 +00:00
Peter Steinberger
f1a478b2a3 docs(voice-call): expand plugin guide 2026-01-13 11:42:09 +00:00
Peter Steinberger
d7d4412bc1 fix: finalize channels rename cleanup 2026-01-13 08:40:40 +00:00
Peter Steinberger
69228ca766 fix: finish channels rename sweep 2026-01-13 08:40:40 +00:00
Peter Steinberger
10ec96eca6 docs: complete channels rename sweep 2026-01-13 08:40:39 +00:00
Peter Steinberger
ecefde5c84 docs: align channels naming 2026-01-13 08:40:39 +00:00
Peter Steinberger
ea979f0669 refactor!: rename chat providers to channels 2026-01-13 08:40:39 +00:00
Peter Steinberger
f7f9039c47 docs: add minimax coding plan referral 2026-01-13 08:15:44 +00:00
Peter Steinberger
723c804cee docs: clarify Discord requireMention placement 2026-01-13 08:03:11 +00:00
Peter Steinberger
b682e8b42b docs: update faq and install guidance 2026-01-13 08:03:11 +00:00
Peter Steinberger
6d50c1f566 docs: fix Discord invite link in showcase 2026-01-13 08:03:11 +00:00
Peter Steinberger
1ecb1e8ae7 fix: harden doctor install checks 2026-01-13 07:25:25 +00:00
Peter Steinberger
d1d867a5bd 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
e743ddcd0b docs: add Opus/MiniMax fallback examples 2026-01-13 07:15:20 +00:00
Peter Steinberger
0e44c7c335 docs: group FAQ sections 2026-01-13 07:07:48 +00:00
Peter Steinberger
50b98530ba Deps: update Pi + Vitest and add Bedrock docs 2026-01-13 06:57:11 +00:00
Peter Steinberger
bc3f89e57c docs: add FAQ table of contents 2026-01-13 06:55:00 +00:00
Peter Steinberger
045cff6d99 Merge pull request #583 from mitschabaude-bot/feat/agent-model-fallbacks
Config: per-agent model fallbacks
2026-01-13 06:54:00 +00:00
Gregor's Bot
d95ff9792e Docs: document agents.list model fallbacks 2026-01-13 06:50:20 +00:00
Gregor's Bot
2dfc1b7aed Config: support per-agent model fallbacks 2026-01-13 06:50:20 +00:00
George Pickett
4d1a2aa5ac Thinking: gate xhigh by model 2026-01-13 06:48:26 +00:00
Peter Steinberger
903ea79538 feat(tools): add tool profiles and group shorthands 2026-01-13 06:30:20 +00:00
vrknetha
31555de6d2 Docs: document bash chat command 2026-01-13 11:56:51 +05:30
Peter Steinberger
e6dd71077a docs: clarify clawdhub workdir defaults 2026-01-13 06:05:06 +00:00
Peter Steinberger
2dbe8dc3b1 Merge pull request #700 from clawdbot/shadow/compaction
Agents: safeguard compaction summarization
2026-01-13 05:59:15 +00:00
Peter Steinberger
500b7c1dd0 fix: honor gateway service override labels 2026-01-13 05:58:49 +00:00
Shadow
d8771a030c Agents: safeguard compaction summarization 2026-01-13 05:55:30 +00:00
Peter Steinberger
8bae07933c docs: add model routing faq 2026-01-13 05:47:57 +00:00
Peter Steinberger
4a2f634ae7 docs: add custom skills folder faq 2026-01-13 05:35:32 +00:00
Peter Steinberger
996d423e8e docs: clarify dashboard token auth 2026-01-13 05:31:26 +00:00
Peter Steinberger
b558308e29 feat: cron ISO at + delete-after-run 2026-01-13 04:55:48 +00:00
Peter Steinberger
73c0383c05 docs: add X showcases 2026-01-13 04:41:01 +00:00
Peter Steinberger
6db96e7291 fix: document Tailscale Serve auth headers (#823) (thanks @roshanasingh4) 2026-01-13 04:37:04 +00:00
Peter Steinberger
9d3c757161 feat: add configurable bootstrap truncation 2026-01-13 04:27:03 +00:00
Peter Steinberger
9a60cba32f feat: cron agent binding + doctor UI refresh 2026-01-13 04:25:41 +00:00
Peter Steinberger
19d3917487 fix: stabilize docs and tests after system event timestamps 2026-01-13 03:51:34 +00:00
Peter Steinberger
c65c83b480 fix: refine group intro prompt guidance 2026-01-13 03:40:27 +00:00
Peter Steinberger
ba1b353a80 fix: refine synthetic provider + minimax probes 2026-01-13 03:36:53 +00:00
Travis Hinton
cf1b23b747 Add Synthetic provider support 2026-01-13 03:36:53 +00:00
Peter Steinberger
6c344f6f67 docs: simplify local models guidance 2026-01-13 03:26:00 +00:00
Peter Steinberger
b1a606a853 docs: add custom memory endpoint example 2026-01-13 03:21:59 +00:00
Peter Steinberger
f428549dee fix: sync Moonshot Kimi K2 models (#818) (thanks @mickahouan)
Co-authored-by: mickahouan <mickahouan@users.noreply.github.com>
2026-01-13 03:19:49 +00:00
Peter Steinberger
b5228e148e fix: memory search remote overrides (#819) (thanks @mukhtharcm) 2026-01-13 03:11:03 +00:00
Muhammed Mukhthar CM
ed0620098b feat: add remote config overrides to memorySearch 2026-01-13 03:02:43 +00:00
Mickaël Ahouansou
711284fb69 feat: add Kimi K2 variants to Moonshot preset 2026-01-13 02:26:43 +00:00
Peter Steinberger
d281fb3fd4 docs: clarify minimax lightning routing 2026-01-13 02:21:24 +00:00
Peter Steinberger
0eec8de1dd docs: add new showcase cards 2026-01-13 02:08:51 +00:00
Peter Steinberger
cb7d1cf4dd docs: clarify semantic memory key requirements 2026-01-13 01:53:40 +00:00
Peter Steinberger
9d0a2fa883 fix: enforce message context isolation 2026-01-13 01:19:14 +00:00
Peter Steinberger
76ecb28443 fix(config): require doctor for invalid configs (#764 — thanks @mukhtharcm) 2026-01-13 01:18:18 +00:00
Peter Steinberger
dec62b1980 docs: clarify memory search auth 2026-01-13 00:26:01 +00:00
Peter Steinberger
a390a4f8cc refactor: unify message tool + CLI 2026-01-13 00:12:57 +00:00
Peter Steinberger
e324df9100 docs: add provider shorthand redirects 2026-01-13 00:08:11 +00:00
Peter Steinberger
b8649811d8 refactor(sandbox): drop legacy memory shorthand 2026-01-12 22:59:36 +00:00
Peter Steinberger
d189ae1131 docs: clarify telegram allowFrom 2026-01-12 22:45:39 +00:00
Peter Steinberger
bb649e157c docs: add region guidance for hosted minimax 2026-01-12 22:45:00 +00:00
Peter Steinberger
d63d60b34f docs: detail memory tools and local models 2026-01-12 22:35:19 +00:00
Peter Steinberger
6240bd59bd docs: note relative plugin install paths 2026-01-12 22:34:13 +00:00
Peter Steinberger
1a5e77073a docs: clarify sandbox bind mounts (#790) 2026-01-12 22:06:35 +00:00
Aaron Konyer
4f0e20afbe Add docker bind mounds for sandboxing 2026-01-12 21:57:51 +00:00
Peter Steinberger
090b5885f6 docs(browser): document scrollintoview 2026-01-12 21:56:27 +00:00
Peter Steinberger
e6f46fd86d feat(sandbox): add tool-policy groups 2026-01-12 21:51:49 +00:00
Peter Steinberger
34318a28bc feat: auto native commands defaults 2026-01-12 21:49:44 +00:00
Peter Steinberger
2f4cd74b72 feat: restore voice-call plugin parity 2026-01-12 21:44:19 +00:00
Zach Knickerbocker
5e4914012e Discord: add allowBots config option (#802)
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-12 15:30:05 -06:00
Peter Steinberger
ef7ed81a9f docs(browser): document downloads + responsebody 2026-01-12 19:41:12 +00:00
Peter Steinberger
82ea06b0f9 docs: add dashboard faq 2026-01-12 19:14:08 +00:00
Peter Steinberger
989b81e4c6 feat: add dashboard command 2026-01-12 19:08:29 +00:00
Peter Steinberger
d5486e549d docs(browser): expand automation docs 2026-01-12 18:42:46 +00:00
Peter Steinberger
0a2ee1cb31 feat: subagent model defaults 2026-01-12 18:08:30 +00:00
Peter Steinberger
fe985cbca9 feat(image): auto-pair image model 2026-01-12 17:50:47 +00:00
Peter Steinberger
d58c326c5a docs(browser): update browser tool docs 2026-01-12 17:32:44 +00:00
Peter Steinberger
6c6208426a docs: harden local model guidance 2026-01-12 17:11:04 +00:00
Peter Steinberger
535217ae3a docs: add local models guide 2026-01-12 16:50:37 +00:00
Peter Steinberger
39a333d29e chore: remove qmd skill 2026-01-12 11:31:34 +00:00
Peter Steinberger
811fb69eee feat: add memory vector search 2026-01-12 11:23:44 +00:00
Peter Steinberger
0d7102bc4d feat: add cron agent binding 2026-01-12 11:07:38 +00:00
Peter Steinberger
c0549ac4f8 chore: raise heartbeat ack window 2026-01-12 11:06:46 +00:00
Peter Steinberger
821d24bbf1 chore: release 2026.1.11-4 2026-01-12 10:52:34 +00:00
Peter Steinberger
580a1d6933 chore: release 2026.1.11-3 2026-01-12 10:35:50 +00:00
Peter Steinberger
409ff55fe7 chore: release 2026.1.11-2 2026-01-12 10:14:24 +00:00
Peter Steinberger
6f2cc1f787 docs: remove git source install snippet 2026-01-12 10:00:26 +00:00
Peter Steinberger
31d72445b1 chore: release 2026.1.11-1 2026-01-12 09:46:34 +00:00
Peter Steinberger
a3c6b95ae2 chore: release 2026.1.11 2026-01-12 09:27:43 +00:00
Peter Steinberger
707fda79bb docs: update browser snapshot refs 2026-01-12 08:55:02 +00:00
Peter Steinberger
2bb8e0d369 test: align group policy defaults 2026-01-12 08:45:57 +00:00
Peter Steinberger
c0dd3d0628 fix: harden msteams group access 2026-01-12 08:32:08 +00:00
Peter Steinberger
b6583cd14c fix: default groupPolicy to allowlist 2026-01-12 08:22:01 +00:00
Peter Steinberger
9a2e16fbcf docs: clarify memory flush behavior 2026-01-12 07:42:03 +00:00
Peter Steinberger
6564e952c0 feat(control-ui): add model presets 2026-01-12 07:09:58 +00:00
Peter Steinberger
6412374bd9 docs: clarify usage in slash commands 2026-01-12 07:09:58 +00:00
Peter Steinberger
1f921afa8b fix: modernize live tests and gemini ids 2026-01-12 07:05:33 +00:00
Peter Steinberger
6906fc9b91 docs: add Moonshot provider setup 2026-01-12 06:48:06 +00:00
Peter Steinberger
3bde5b3a94 docs: update slash commands docs 2026-01-12 06:38:16 +00:00
Peter Steinberger
6cddcca8a2 fix: skip memory flush on read-only workspace 2026-01-12 06:33:27 +00:00
Peter Steinberger
58dac94932 docs: expand minimax + cerebras setup 2026-01-12 06:13:31 +00:00
Peter Steinberger
68d57938bb docs: refresh minimax setup docs 2026-01-12 06:13:31 +00:00
Peter Steinberger
6fb0c71a2a fix: fast-path slash commands 2026-01-12 06:10:17 +00:00
Peter Steinberger
1a1b7d7cb3 docs: add peer override example + multi-agent link 2026-01-12 06:05:39 +00:00
Peter Steinberger
2356a19a12 docs: move model-split example to multi-agent 2026-01-12 06:05:39 +00:00
Peter Steinberger
9d6f4c1c47 docs: add FAQ entry for multi-agent model split 2026-01-12 06:05:39 +00:00
Peter Steinberger
9f50b66603 feat(model): add /model picker 2026-01-12 06:02:39 +00:00
Peter Steinberger
ddca2576fa feat: add pre-compaction memory flush 2026-01-12 05:29:18 +00:00
Peter Steinberger
db1e5a16d1 fix(models): default MiniMax to /anthropic 2026-01-12 05:12:07 +00:00
Peter Steinberger
0c3b424361 docs: add sky camera showcase 2026-01-12 05:06:08 +00:00
Peter Steinberger
546dd4ff39 refactor: remove mac attach-only setting 2026-01-12 04:58:38 +00:00
Peter Steinberger
821520a64f 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
5994003c6d docs: add protocol docs 2026-01-12 04:44:27 +00:00
Peter Steinberger
3356055c37 docs: document sharp/libvips install workaround 2026-01-12 04:25:05 +00:00
Peter Steinberger
4d0beca324 feat: add apply_patch tool (exec-gated) 2026-01-12 03:42:56 +00:00
Peter Steinberger
4d72f60d3d docs: add winix air purifier to showcase 2026-01-12 03:34:12 +00:00
Peter Steinberger
dc76244c6b Merge pull request #748 from myfunc/main
fix(bash): use PowerShell on Windows to capture system utility output
2026-01-12 02:50:30 +00:00
Peter Steinberger
218e5a52e0 fix: rename bash tool to exec (#748) (thanks @myfunc) 2026-01-12 02:49:55 +00:00
Peter Steinberger
89abfad882 docs: fix faq config snippets 2026-01-12 02:41:24 +00:00
Peter Steinberger
ae3c1a1c2d docs(voice-call): add Twilio setup guide 2026-01-12 02:16:14 +00:00
Peter Steinberger
d207f53900 docs: make remote host examples generic 2026-01-12 02:11:33 +00:00
Peter Steinberger
ff2b997dc9 docs: fix browser CLI docs link 2026-01-12 02:09:10 +00:00
Peter Steinberger
1ff4852214 docs: clarify clawd browser profile access 2026-01-12 02:09:10 +00:00
Peter Steinberger
c39e438883 docs: add browser login + X posting guidance 2026-01-12 02:01:36 +00:00
Peter Steinberger
e0a66901f0 docs: add installer internals 2026-01-12 02:00:29 +00:00
Peter Steinberger
5e42ca9017 docs: fix faq answer lead-in 2026-01-12 01:48:08 +00:00
Peter Steinberger
2a7c744bd1 docs: note Bedrock not supported 2026-01-12 01:45:07 +00:00
Peter Steinberger
690719156f docs: prefer setup-token for Claude subscriptions 2026-01-12 01:36:32 +00:00
Peter Steinberger
994e3c76c6 docs: add central gateway workflow FAQ 2026-01-12 01:32:57 +00:00
Peter Steinberger
b20e61743f docs: define E.164 in WhatsApp routing 2026-01-12 01:28:52 +00:00
Peter Steinberger
1dff375d2d docs: clarify WhatsApp DM routing per agent 2026-01-12 01:28:11 +00:00
Peter Steinberger
e65cceaf44 docs: expand plugin quickstart 2026-01-12 01:27:48 +00:00
Peter Steinberger
cf51d61b8f docs: explain multi-agent WhatsApp DM routing 2026-01-12 01:25:56 +00:00
Peter Steinberger
fc1a132ff5 docs: clarify bun patch fallback 2026-01-12 01:20:47 +00:00
Peter Steinberger
decb9b2dc5 docs: document plugin system 2026-01-12 01:16:46 +00:00
Peter Steinberger
dc8696f008 docs: add Linux skills + Homebrew FAQ 2026-01-12 01:16:35 +00:00
Peter Steinberger
0ac2251caa docs: add install page 2026-01-12 01:08:06 +00:00
Peter Steinberger
56977529f0 docs: switch MiniMax setup to configure 2026-01-12 01:02:43 +00:00
Peter Steinberger
b48db40f45 docs: add MiniMax provider page 2026-01-12 00:57:17 +00:00
Peter Steinberger
438564705a Merge pull request #731 from pasogott/feat/config-includes
feat(config): add $include directive for modular configs
2026-01-12 00:13:15 +00:00
Peter Steinberger
f99bbee218 fix: guard config includes (#731) (thanks @pasogott) 2026-01-12 00:12:03 +00:00
David Hurley
ac35b67a51 docs(showcase): add Visual Morning Briefing Scene by @buddyhadry 2026-01-12 00:08:53 +00:00
sheeek
027033d8b5 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
531dd80356 fix: apply model extra params without overwriting stream (#732) (thanks @peschee) 2026-01-12 00:03:48 +00:00
Peter Steinberger
a701d1b51c docs: add skill override faq 2026-01-11 23:33:36 +00:00
Peter Steinberger
e34d36978b feat: implement voice-call plugin 2026-01-11 23:23:14 +00:00
Peter Steinberger
2ce2f357db docs: clarify WhatsApp pairing + sending FAQ 2026-01-11 23:13:44 +00:00
Peter Steinberger
218b3c47da test: add plugin docker e2e 2026-01-11 12:21:45 +00:00
Peter Steinberger
71c1446394 feat: add plugin architecture 2026-01-11 12:11:12 +00:00
Peter Steinberger
30a1fd5dec 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
65894957a5 docs: add session management + compaction deep dive 2026-01-11 11:25:57 +00:00
Peter Steinberger
b4e8cc0288 docs: expand cron jobs guidance 2026-01-11 10:57:30 +00:00
Peter Steinberger
85cee249de fix: trim cron model overrides and doc guidance (#711) (thanks @mjrussell) 2026-01-11 10:52:40 +00:00
Matthew Russell
8bb2b816f5 feat(cron): add --model flag to cron add/edit commands
Expose the existing model override capability via CLI flags:
- Add --model to cron add and cron edit commands
- Document model and thinking overrides in cron-jobs.md
- Add CLI example showing model/thinking usage

The backend already supported model in agentTurn payloads;
this change exposes it through the CLI interface.
2026-01-11 10:49:34 +00:00
Peter Steinberger
8e8f02ae78 feat(macos): prompt for CLI install 2026-01-11 10:32:52 +00:00
Peter Steinberger
7a9727b6d6 feat: add reset/uninstall commands 2026-01-11 10:23:52 +00:00
Peter Steinberger
ed80356600 test: add install.sh docker e2e smoke 2026-01-11 10:20:50 +00:00
Peter Steinberger
472b4fdfc8 test(live): harden gateway probes 2026-01-11 04:46:30 +00:00
Peter Steinberger
a7ff6cb3e4 docs: clarify reactions + timeout 2026-01-11 04:22:35 +00:00
Peter Steinberger
f0f7337a3a docs: align reaction semantics 2026-01-11 04:22:35 +00:00
Peter Steinberger
1af4e86fa5 docs: note moderation reasons 2026-01-11 04:22:35 +00:00
Peter Steinberger
10fb8e6a4a docs: scope discord-only read flag 2026-01-11 04:22:35 +00:00
Peter Steinberger
7948057a21 docs: expand imessage targets 2026-01-11 04:22:35 +00:00
Peter Steinberger
566f7f2713 feat: add onboard reset option 2026-01-11 05:04:36 +01:00
Peter Steinberger
88a957c5de docs: avoid hardcoded pinned version 2026-01-11 04:46:27 +01:00
Peter Steinberger
bc59c501e4 fix: patch openai-responses replay + docs 2026-01-11 04:45:37 +01:00