Commit Graph

1462 Commits

Author SHA1 Message Date
Peter Steinberger
f89fb0eeb9 feat: improve web_fetch readability extraction 2026-01-16 23:18:01 +00:00
Peter Steinberger
b171d76764 docs: clarify Brave web_search defaults (#1046) (thanks @YuriNachos) 2026-01-16 23:16:59 +00:00
Yurii Chukhlib
c0323db3cc docs(web-search): document country and language parameters
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 23:14:33 +00:00
Peter Steinberger
b5fe0e987b fix: prefer config tokens over env for discord/telegram 2026-01-16 23:13:00 +00:00
Peter Steinberger
5bc7ac8258 docs: add /help hub and Node/npm PATH guide 2026-01-16 23:10:29 +00:00
Peter Steinberger
329d132a8c chore: remove patch references 2026-01-16 22:41:57 +00:00
Peter Steinberger
526a87e253 docs: expand directory CLI guide 2026-01-16 22:40:36 +00:00
Peter Steinberger
0e225a0822 feat: unify directory across channels 2026-01-16 22:40:36 +00:00
Peter Steinberger
4fc8d1940a fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
Peter Steinberger
db3c090dd3 docs: mention stopping sub-agents 2026-01-16 22:05:13 +00:00
Peter Steinberger
b02d28499d fix: treat reply-to-bot as implicit mention across channels 2026-01-16 21:51:01 +00:00
Peter Steinberger
dee91322f9 fix: /stop aborts subagents 2026-01-16 21:37:22 +00:00
Sebastian
8e5237ce89 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
tsu
f073303aca feat: add zalouser channel + directory CLI (#1032) (thanks @suminhthanh)
- Unified UX: channels login + message send; no plugin-specific top-level command\n- Added generic directory CLI for channel identity/groups\n- Docs: channel + plugin pages
2026-01-16 21:28:18 +00:00
Peter Steinberger
a08ea75e2a fix: start fresh cron sessions each run 2026-01-16 21:27:56 +00:00
Peter Steinberger
ff32e76515 fix: hard-abort clears queues on /stop 2026-01-16 21:15:25 +00:00
Peter Steinberger
7952f74032 fix: tighten Vercel AI Gateway onboarding docs/tests (#1016) (thanks @timolins) 2026-01-16 21:06:21 +00:00
Timo Lins
e8d6e5836a Models: add Vercel AI Gateway auth 2026-01-16 21:00:15 +00:00
Peter Steinberger
56c2830994 feat: enable telegram reaction notifications by default 2026-01-16 20:51:42 +00:00
Peter Steinberger
0085231c40 feat: default telegram reaction level minimal 2026-01-16 20:35:47 +00:00
Ruby
1ae19b55c9 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
Marc
082e890637 fix: merge subagent auth profiles 2026-01-16 20:20:26 +00:00
Peter Steinberger
ef2990e32d feat: expand skill command registration 2026-01-16 20:17:32 +00:00
Peter Steinberger
3c7f860e59 feat: scope telegram inline buttons 2026-01-16 20:16:41 +00:00
Nima Karimi
6d9dce1d3a fix(macos): check config file mode for gateway token/password resolution (#1022)
* fix: honor config gateway mode for credentials

* chore: oxfmt doctor platform notes

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-16 19:29:48 +00:00
henrymascot
3c8b9e577c showcase: add Linear CLI and Beeper CLI
- @NessZerra Linear CLI - manage Linear issues from terminal, works with Claude Code/Clawdbot
- @jules Beeper CLI - read/send/archive messages via Beeper Desktop MCP API
2026-01-16 19:05:02 +00:00
Peter Steinberger
ef6aa6a81f feat: add user-invocable skill commands 2026-01-16 12:10:29 +00:00
Peter Steinberger
c93b02d9d2 fix: scope whatsapp self-chat response prefix 2026-01-16 10:54:11 +00:00
Peter Steinberger
7a6561a1c0 feat: warn on weak model tiers 2026-01-16 09:34:37 +00:00
Peter Steinberger
77577bfb94 docs: add control UI unauthorized FAQ hint 2026-01-16 09:07:20 +00:00
Peter Steinberger
9a500b085e docs: add browserless remote CDP example 2026-01-16 09:05:30 +00:00
Peter Steinberger
7403145298 fix: tune remote CDP timeouts 2026-01-16 09:01:25 +00:00
Peter Steinberger
fd42b49995 Merge pull request #895 from mukhtharcm/feat/chrome-browser-improvements
feat(browser): add support for authenticated remote browser profiles
2026-01-16 08:32:02 +00:00
Peter Steinberger
e7c038d440 fix: support authenticated remote CDP URLs (#895) (thanks @mukhtharcm) 2026-01-16 08:31:51 +00:00
Peter Steinberger
0725c8bb41 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
07df5a9089 docs: clarify onboarding + sessions + heartbeats 2026-01-16 06:57:54 +00:00
Peter Steinberger
2544374b06 fix(browser): surface detection details and docs 2026-01-16 06:57:54 +00:00
Peter Steinberger
e75f608fe2 feat: add config get/set/unset helpers 2026-01-16 06:57:54 +00:00
Jamie Openshaw
f134e2d17f fix(config): allow discord action flags in schema
Ensure discord action flags survive config validation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 06:48:25 +00:00
Peter Steinberger
1bff2e77fb docs: move troubleshooting items from faq 2026-01-16 06:35:13 +00:00
Peter Steinberger
ace70322b9 feat: add plugin update tracking 2026-01-16 05:55:05 +00:00
Peter Steinberger
91c075752a docs: fix FAQ reset anchor 2026-01-16 05:54:56 +00:00
Peter Steinberger
003be4bb1c feat: add json output for daemon lifecycle 2026-01-16 05:40:47 +00:00
Peter Steinberger
d5b29a26d2 feat(browser): prefer default chromium browser 2026-01-16 05:37:53 +00:00
Peter Steinberger
c9154cfb11 feat: add TLS for node bridge 2026-01-16 05:28:40 +00:00
Ubuntu
7df03a2456 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
cc145407c3 feat: mac node exec policy + remote skills hot reload 2026-01-16 03:45:06 +00:00
Peter Steinberger
804e7b2962 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
09d27dfd35 fix: allow media-only sends 2026-01-16 03:15:26 +00:00
Peter Steinberger
728ad7df36 feat!: move msteams to plugin 2026-01-16 02:59:43 +00:00
Peter Steinberger
6e77a5ba7a docs: clarify setup-token location 2026-01-16 02:53:40 +00:00
Adam Holt
dbd286de8d docs(showcase): update Dream Team card with architecture articles
Combine Multi-Agent Swarm card with new technical write-ups:
- Link to orchestrated-ai-articles repo (manifesto + architecture)
- Keep clawdspace link for agent sandboxing
- Add blog post link

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 02:52:27 +00:00
Peter Steinberger
935a83863f docs: clarify setup-token flows 2026-01-16 02:36:32 +00:00
Peter Steinberger
43dac0be1c docs: clarify Anthropic setup-token 2026-01-16 02:19:57 +00:00
Peter Steinberger
8736472014 Merge pull request #960 from kkarimi/fix/mac-node-bridge-tunnel-865
macOS: prefer bridge tunnel port in remote mode
2026-01-16 02:00:23 +00:00
Peter Steinberger
f09435007d fix: document macOS remote tunnels (#960) (thanks @kkarimi) 2026-01-16 01:59:14 +00:00
Gustavo Madeira Santana
8b19dfed8f Document inline buttons configuration for Telegram (#984) 2026-01-15 19:55:03 -06:00
Peter Steinberger
660829f9dd feat: add per-agent heartbeat config 2026-01-16 01:17:34 +00:00
Peter Steinberger
1bec2c6374 fix: persist local gateway mode in configure wizard 2026-01-16 01:05:55 +00:00
Peter Steinberger
5357c35f2c docs: update release checklist 2026-01-16 00:42:48 +00:00
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