Commit Graph

1093 Commits

Author SHA1 Message Date
Peter Steinberger
1bd5500832 feat: add colored CLI docs links 2026-01-10 20:51:03 +01:00
Peter Steinberger
2f050b197e docs: document clawdbot update 2026-01-10 20:33:02 +01:00
Peter Steinberger
9f9098406c feat(sandbox): add sandbox explain inspector 2026-01-10 20:28:43 +01:00
Peter Steinberger
fac4951f27 docs: add group flow diagram 2026-01-10 20:05:22 +01:00
Peter Steinberger
831de9ba8f docs: clarify group chat behavior 2026-01-10 19:56:46 +01:00
Peter Steinberger
1fe9f648b1 feat(hooks): allow gmail tailscale target URLs 2026-01-10 19:19:43 +01:00
Peter Steinberger
0335bccd91 docs: clarify tailscale gmail path forwarding 2026-01-10 19:19:43 +01:00
Peter Steinberger
f9347235e4 docs: call out group history limits 2026-01-10 19:19:31 +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
6cc8570369 docs: expand TypeBox protocol guide 2026-01-10 17:38:34 +01:00
Peter Steinberger
dd958fddfc docs: clarify model picks and auth setup 2026-01-10 17:36:54 +01:00
Jonáš Jančařík
dcc41e932d feat: add shared model picker to configure/onboarding 2026-01-10 16:32:59 +00:00
Peter Steinberger
e3cd431551 fix(auto-reply): RawBody commands + locked session updates (#643) 2026-01-10 17:32:31 +01:00
Peter Steinberger
a1533a17f7 fix(gateway): harden chat abort semantics 2026-01-10 17:23:27 +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
239e9bafc8 docs: use providers login 2026-01-10 16:44:59 +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
henrymascot
e87ce9c680 docs(showcase): add ParentPay, R2 Upload, iOS TestFlight, Oura Health
New community showcase entries from Discord #showcase:
- ParentPay School Meals (@George5562) - UK school meal automation
- R2 Upload (@julianengel) - presigned URL file sharing
- iOS App via Telegram (@coard) - full iOS app built via chat
- Oura Ring Health Assistant (@AS) - health/calendar integration
2026-01-10 16:15:55 +01:00
Peter Steinberger
d6d5c5ccd1 docs: remove legacy bundled gateway doc 2026-01-10 16:03:36 +01:00
Peter Steinberger
001a19eb2c refactor: tidy mac bundled gateway packaging 2026-01-10 16:03:36 +01:00
Radek Paclt
a39951d463 fix(auth): enable OAuth refresh for Claude CLI credentials
When Claude CLI credentials (anthropic:claude-cli) expire, automatically
refresh using the stored refresh token instead of failing with
"No credentials found" error.

Changes:
- Read refreshToken from Claude CLI and store as OAuth credential type
- Implement bidirectional sync: after refresh, write new tokens back to
  Claude Code storage (file on Linux/Windows, Keychain on macOS)
- Prefer OAuth over Token credentials (enables auto-refresh capability)
- Maintain backward compatibility for credentials without refreshToken

This enables long-running agents to operate autonomously without manual
re-authentication when OAuth tokens expire.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-10 15:40:27 +01:00
Peter Steinberger
449bee9645 fix: bundle node runtime for mac app 2026-01-10 15:28:37 +01:00
henrymascot
c782404bee docs(showcase): add Adam H's multi-agent swarm
- 14+ Clawdbot agents under single gateway
- Opus 4.5 orchestrator + Codex workers
- Self-maintaining agent architecture
- Open-sourced clawdspace sandbox
2026-01-10 14:21:18 +00:00
pasogott
0258c746bc
docs(telegram): Add @userinfobot tip with privacy note (#649)
* docs(telegram): Add @userinfobot tip with screenshot and privacy note

* docs: adjust telegram userinfobot tip

---------

Co-authored-by: sheeek <gitlab@ott.team>
Co-authored-by: Ayaan Zaidi <zaidi@uplause.io>
2026-01-10 19:21:51 +05:30
Peter Steinberger
a057f6a306 test(docker): add multi-container gateway network smoke 2026-01-10 04:14:39 +00:00
Peter Steinberger
cdb915d527 chore: normalize Clawdbot naming 2026-01-10 05:14:09 +01:00
Peter Steinberger
025f794f0f docs(testing): document onboarding + wizard regressions 2026-01-10 03:47:44 +00:00
Peter Steinberger
f918d30a58 docs(testing): refresh live docker runners 2026-01-10 03:06:07 +00:00
Peter Steinberger
895cd06ecc chore: add dev gateway/tui scripts 2026-01-10 03:53:32 +01:00
Peter Steinberger
5a6ae2624e docs: add /config get alias 2026-01-10 03:10:14 +01:00
Peter Steinberger
2dc7872ad1 feat: auto-start sandbox browser 2026-01-10 02:06:21 +00:00
Peter Steinberger
8b579c91a5 feat: add /config chat config updates 2026-01-10 03:01:27 +01:00
Peter Steinberger
ede3cd78c8 docs: document testing kit 2026-01-10 01:15:47 +00:00
Peter Steinberger
38e2362be6 fix: remove ack reactions after reply (#633) (thanks @levifig) 2026-01-10 02:14:14 +01:00
Peter Steinberger
626b085c85 docs: improve Hetzner 24/7 VPS guide 2026-01-10 01:43:28 +01:00
Peter Steinberger
a0a64a625e docs: document OpenCode Zen config (#623) 2026-01-10 01:26:25 +01:00
Peter Steinberger
53ec8e36cb refactor: centralize failover error parsing 2026-01-10 01:26:06 +01:00
Peter Steinberger
c69c4caa33 fix: polish opencode-zen onboarding (#623) (thanks @magimetal) 2026-01-10 01:09:34 +01:00
Peter Steinberger
21eebb6d3b fix: limit subagent bootstrap context 2026-01-10 00:01:16 +00:00
Peter Steinberger
e311dc82e0 refactor: centralize reasoning tag handling 2026-01-10 00:53:48 +01:00
Peter Steinberger
097550c299 fix: centralize verbose overrides and tool stream gating 2026-01-10 00:52:24 +01:00
Peter Steinberger
bd10f3d3f1 feat: allow session_status in sandbox 2026-01-09 23:41:57 +00:00
Peter Steinberger
a25922a21f fix: clarify sessions_send delivery semantics 2026-01-10 00:34:24 +01:00
Peter Steinberger
51ec578cec fix: suppress <think> leakage + split reasoning output (#614) (thanks @zknicker) 2026-01-10 00:02:13 +01:00
Peter Steinberger
88cbe2d275 fix: cap pairing requests and suppress outbound pairing replies 2026-01-09 22:58:18 +00:00
Peter Steinberger
e3c340fd38 docs: add fresh showcase projects 2026-01-09 23:56:44 +01:00
Peter Steinberger
89dc6ebb8b feat(signal): add reaction notifications 2026-01-09 23:53:36 +01:00
Peter Steinberger
8a9c38e66e docs: embed YouTube video on showcase 2026-01-09 23:10:22 +01:00
Peter Steinberger
8624feb36a docs: clarify npm vs git install switching 2026-01-09 23:10:15 +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
c37b77855b
Merge pull request #464 from austinm911/fix/slack-thread-replies
feat(slack): implement configurable reply threading
2026-01-09 21:10:39 +00:00
Peter Steinberger
c27b1441f7 fix(auth): billing backoff + cooldown UX 2026-01-09 22:00:14 +01:00
Austin Mudd
b4663ed11c Slack: implement replyToMode threading for tool path
- Add shared hasRepliedRef state between auto-reply and tool paths
- Extract buildSlackThreadingContext helper in agent-runner.ts
- Extract resolveThreadTsFromContext helper in slack-actions.ts
- Update docs with clear replyToMode table (off/first/all)
- Add tests for first mode behavior across multiple messages
2026-01-09 21:59:51 +01:00
Peter Steinberger
5fa26bfec7 feat: add per-agent elevated controls 2026-01-09 20:42:19 +00:00
Peter Steinberger
7641b142ad refactor: harden broadcast groups 2026-01-09 21:39:58 +01:00
Peter Steinberger
cfeaa34c16 refactor: centralize cli timeout parsing 2026-01-09 21:29:52 +01:00
Peter Steinberger
24605379b9 refactor: centralize skills prompt resolution 2026-01-09 21:27:20 +01:00
Zach Knickerbocker
c6fc7c2ea6
Docker: cache deps layer for faster rebuilds (#605) 2026-01-09 14:23:06 -06:00
Peter Steinberger
e8dbb350ae fix: honor config timeout in tui 2026-01-09 21:22:50 +01:00
Peter Steinberger
4861f09f78 fix: inject skills prompt list 2026-01-09 21:20:51 +01:00
Peter Steinberger
76964162c7 fix: land broadcast groups (#547) (thanks @pasogott) 2026-01-09 21:14:19 +01:00
sheeek
09769d127f feat: add broadcast groups for multi-agent responses
Enables multiple agents to process the same message simultaneously,
allowing teams of specialized agents with atomic tasks to work together
in the same group using one phone number.

Key features:
- Configure multiple agents per WhatsApp group/DM via routing.broadcast
- Parallel (default) or sequential processing strategies
- Full session isolation (separate history, workspace, tools per agent)
- Minimal code changes (~50 lines in auto-reply.ts)
- Backward compatible with existing routing

Use cases:
- Specialized agent teams (code reviewer + security scanner + docs)
- Multi-language support (EN + DE + ES agents)
- Quality assurance workflows (support + QA agents)
- Task automation (tracker + logger + reporter)

Example config:
{
  "routing": {
    "broadcast": {
      "strategy": "parallel",
      "120363403215116621@g.us": ["alfred", "baerbel", "assistant3"]
    }
  }
}

This enables scaling to hundreds of focused micro-agents on a single
phone number, each handling specific atomic tasks.
2026-01-09 21:05:58 +01:00
Peter Steinberger
6d378ee608 feat(telegram): inline keyboard buttons (#491)
Co-authored-by: Azade <azade@hey.com>
2026-01-09 20:47:03 +01: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
7e81980747 refactor: centralize model override validation 2026-01-09 20:14:42 +01: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
Martin Púčik
d23bba9d24
docs: split CLI install commands into separate code blocks (#601) 2026-01-09 13:00:50 -06: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
Peter Steinberger
3eef200145
Merge pull request #535 from mdahmann/fix/imessage-groupish-threads
imessage: isolate group-ish threads by chat_id
2026-01-09 17:42:42 +00:00
Peter Steinberger
42ead1499f refactor: centralize minimax onboarding + keys 2026-01-09 18:37:06 +01:00
Peter Steinberger
d0a20cadaf
Merge branch 'main' into fix/imessage-groupish-threads 2026-01-09 17:36:15 +00:00
Peter Steinberger
6904a79d1d docs: link Hetzner guide from install/platforms 2026-01-09 18:21:28 +01:00
Peter Steinberger
62bf779c14
Merge pull request #556 from Iamadig/docs/hetzner-guide
Docs/hetzner guide
2026-01-09 17:18:18 +00:00
Peter Steinberger
706cbe89ec fix: align Hetzner docker guide with gateway runtime (#556) (thanks @Iamadig) 2026-01-09 18:17:19 +01:00
Peter Steinberger
805969b598
Merge branch 'main' into fix/imessage-groupish-threads 2026-01-09 17:16:44 +00:00
AG
258184232d docs: add Hetzner deployment guide 2026-01-09 18:15:02 +01: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
Peter Steinberger
24af8adcf9
Merge pull request #587 from clawdbot/refactor/hook-agent-normalize
Hooks: normalize agent provider handling
2026-01-09 16:52:32 +00:00
Peter Steinberger
c3083f0186 feat: add setup-token + token auth 2026-01-09 17:50:34 +01:00
Luke
401f2a77e3
Merge branch 'main' into commands-list-clean 2026-01-09 11:46:08 -05:00
Peter Steinberger
51725a71a3 refactor: normalize hook agent providers 2026-01-09 17:40:36 +01:00
Jake
cac467a2df Hooks: default agent delivery to true 2026-01-09 17:32:42 +01:00
Peter Steinberger
c82ebd3ef3 docs(commands): document /usage slash command 2026-01-09 17:18:01 +01:00
Peter Steinberger
68ad27e31c fix(commands): wire /usage to status (#492) (thanks @lc0rp) 2026-01-09 17:10:53 +01:00
Luke
98b875cd0f
Merge branch 'main' into commands-list-clean 2026-01-09 11:04:23 -05:00
LK
08caf7b9fc feat(commands): add /usage alias for /status 2026-01-09 17:02:29 +01:00
Peter Steinberger
c643ce2a7a feat: add /debug runtime overrides 2026-01-09 16:55:16 +01:00
Peter Steinberger
1eecce9a15
Merge pull request #578 from p6l-richard/feature/identity-based-message-prefix
fix(messages): derive messagePrefix from identity.name
2026-01-09 15:40:52 +00:00
Peter Steinberger
66bbb723c5 fix: derive prefixes from routed identity (#578) (thanks @p6l-richard) 2026-01-09 16:39:32 +01:00
Kit
480aa406bb feat(ui): improve mobile responsiveness
- Add @media (max-width: 600px) breakpoint for mobile-specific styles
- Compact header: smaller title, hidden subtitle, minimal status pill
- Horizontal scrollable nav: all items in one row, swipeable
- Hide redundant page titles on mobile
- Hide docs button on mobile (saves space)
- Smaller theme toggle icons
- Tighter spacing on cards, stats, forms
- Better chat layout: full-width session selector, compact compose
- Single-column log entries on small screens

Desktop layout remains unchanged.

Co-authored-by: Carl Ulsoe <34673973+carlulsoe@users.noreply.github.com>
2026-01-09 16:32:55 +01:00
Peter Steinberger
7957196924 feat: add TUI bootstrap start 2026-01-09 16:25:29 +01:00
Peter Steinberger
d3ca84e14c feat: add dev workspace templates 2026-01-09 16:13:41 +01:00
Peter Steinberger
cfb369d727 docs: add dev gateway flow 2026-01-09 15:47:22 +01:00
Peter Steinberger
7cb9e95a53 docs: document auth profile selection 2026-01-09 14:36:46 +00:00
Peter Steinberger
4b7d9c72df docs: emphasize setup-token 2026-01-09 15:29:50 +01:00
Peter Steinberger
e612aedbff docs: prefer setup-token for Anthropic 2026-01-09 15:27:49 +01:00
Peter Steinberger
adb3bc2577 fix: reset dev gateway setup 2026-01-09 15:17:20 +01:00
Peter Steinberger
e38cdb3133 docs(cli): fix sandbox links 2026-01-09 13:55:28 +01:00
Peter Steinberger
1716c01bdf feat(gateway): improve wide-area discovery 2026-01-09 13:54:53 +01:00
Peter Steinberger
7b81d97ec2 feat: wire multi-agent config and routing
Co-authored-by: Mark Pors <1078320+pors@users.noreply.github.com>
2026-01-09 12:48:42 +00:00
Peter Steinberger
dc6f22c2c5 fix: add hosted minimax onboarding (#495, thanks @tobiasbischoff) 2026-01-09 13:40:01 +01:00
Tobias Bischoff
a0bb2bccaf Onboarding: add MiniMax hosted API key option 2026-01-09 13:39:28 +01:00
Peter Steinberger
22d517a520 fix: clarify WhatsApp owner number prompts 2026-01-09 13:32:52 +01:00
sheeek
6ca34c1259 docs(sandbox): fix command name from clawd to clawdbot
Update all command examples in documentation to use 'clawdbot' instead
of 'clawd' for consistency with actual CLI command name.
2026-01-09 13:23:16 +01:00
sheeek
75927d736a docs: add sandbox CLI documentation 2026-01-09 13:22:51 +01:00
Peter Steinberger
8875dbd449 refactor(msteams): split monitor handler and poll store 2026-01-09 11:07:32 +01:00
Peter Steinberger
475d598ecb fix: normalize poll providers and msteams deps 2026-01-09 11:07:32 +01:00
Peter Steinberger
e55358c65d feat: finalize msteams polls + outbound parity 2026-01-09 11:07:32 +01:00
Onur
9f9b6044aa docs(msteams): expand setup guide with missing details
- Add Azure Bot deprecation notice (multi-tenant deprecated after 2025-07-31)
- Add RSC vs Graph API comparison table
- Add Known Limitations section (webhook timeouts, formatting limits)
- Add Reply Style section explaining threads vs posts channel UI
- Add Updating an existing app section with version bump steps
- Add icon sizes and zip instructions to manifest setup
- Expand troubleshooting with manifest upload errors
2026-01-09 11:07:00 +01:00
Onur
ea1cd2c734 wip 2026-01-09 11:07:00 +01:00
Onur
54d82e4e83 wip [skip ci] 2026-01-09 11:07:00 +01:00
Onur
3cb3460398 add doc 2026-01-09 11:07:00 +01:00
Peter Steinberger
d258c68ca1 feat: add gateway dev config options 2026-01-09 10:39:00 +01:00
Luke
750dea3edf
Merge branch 'main' into commands-list-clean 2026-01-09 04:21:47 -05:00
Peter Steinberger
e0c310d056 chore: bump versions to 2026.1.9 2026-01-09 10:02:15 +01:00
Peter Steinberger
827e68eadd feat: improve auth setup flows 2026-01-09 09:59:58 +01:00
Peter Steinberger
5b50c97939 feat(cli): improve gateway status output 2026-01-09 09:27:42 +01:00
Peter Steinberger
8dd2286e3e docs: add message examples to cli index 2026-01-09 09:14:31 +01:00
Luke
aa64abe84c
Merge branch 'main' into commands-list-clean 2026-01-09 03:12:08 -05:00
Peter Steinberger
9998293dff docs: summarize message subcommands 2026-01-09 09:08:55 +01:00
Peter Steinberger
8d67bd2889 feat: apply lobster palette to prompts 2026-01-09 09:05:24 +01:00
Peter Steinberger
f9be9ad426 feat: switch message cli to subcommands 2026-01-09 09:00:41 +01:00
Peter Steinberger
721183e259 feat: unify message cli and tools 2026-01-09 08:30:24 +01:00
Peter Steinberger
77d4bb8dfe feat: update token auth flow 2026-01-09 08:13:05 +01:00
Peter Steinberger
8808d8c84c docs: add gateway CLI doc 2026-01-09 08:13:04 +01:00
Peter Steinberger
c46bab35df fix: drop explicit ui:install step 2026-01-09 07:02:42 +00:00
Miles
27952bb94d imessage: isolate group-ish threads by chat_id 2026-01-09 00:01:01 -06:00
Peter Steinberger
0a026fea1c fix: disable restart by default 2026-01-09 05:49:30 +00:00
Peter Steinberger
db22207014 feat: add message tool and CLI 2026-01-09 06:44:20 +01:00
Peter Steinberger
aa5e75e853 fix: align tool rename fallout 2026-01-09 05:54:34 +01:00
Luke
1be8a39442
Merge branch 'main' into commands-list-clean 2026-01-08 22:58:54 -05:00
Peter Steinberger
8e27ea7371 feat: add raw stream logging flags 2026-01-09 03:45:21 +00:00
Luke
b97a9235e0
Merge branch 'main' into commands-list-clean 2026-01-08 22:19:52 -05:00
Peter Steinberger
d8a23cf5ab fix: restore emoji-rich status output 2026-01-09 03:15:33 +00:00
Luke
e52a2888cc
Merge branch 'main' into commands-list-clean 2026-01-08 21:47:09 -05:00
Peter Steinberger
151523f47b feat: add usage cost reporting 2026-01-09 02:29:54 +00:00
Peter Steinberger
dfbee10377 docs: clarify sandbox non-main behavior 2026-01-09 03:23:36 +01:00
Luke
c678216ac2
Merge branch 'main' into commands-list-clean 2026-01-08 20:58:26 -05:00
Peter Steinberger
4827c283a6 docs: expand logging guidance 2026-01-09 02:56:29 +01:00
Peter Steinberger
3a99ac7e9a fix: honor mention-bypass for group commands 2026-01-09 02:52:44 +01:00
Peter Steinberger
efa5f0bfe0 feat: improve logs output and docs 2026-01-09 02:51:17 +01:00