Commit Graph

1251 Commits

Author SHA1 Message Date
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
Peter Steinberger
1cc5d35742 chore(release): consolidate into 2026.1.10 2026-01-11 04:42:01 +01:00
Peter Steinberger
0bc068b40b docs: add telegram reactions 2026-01-11 03:30:09 +00:00
Peter Steinberger
901d83682c docs: clarify agent providers and polls 2026-01-11 03:30:09 +00:00
Peter Steinberger
a6520b916b docs: fix session key examples 2026-01-11 03:30:09 +00:00
Peter Steinberger
6c53f80b4c docs: align messaging and node docs 2026-01-11 03:30:09 +00:00
Peter Steinberger
3194ab1f5f docs: fix provider session key examples 2026-01-11 03:30:09 +00:00
Peter Steinberger
c8e94f3a0c fix: tighten WhatsApp ack reactions and migrate config (#629) (thanks @pasogott) 2026-01-11 04:11:04 +01:00
sheeek
dd184d33fb feat(whatsapp): redesign ack-reaction as whatsapp-specific feature
- Move config from messages.ackReaction to whatsapp.ackReaction
- New structure: {emoji, direct, group} with granular control
- Support per-account overrides in whatsapp.accounts.*.ackReaction
- Add Zod schema validation for new config
- Maintain backward compatibility with old messages.ackReaction format
- Update tests to new config structure (14 tests, all passing)
- Add comprehensive documentation in docs/providers/whatsapp.md
- Timing: reactions sent immediately upon message receipt (before bot reply)

Breaking changes:
- Config moved from messages.ackReaction to whatsapp.ackReaction
- Scope values changed: 'all'/'direct'/'group-all'/'group-mentions'
  → direct: boolean + group: 'always'/'mentions'/'never'
- Old config still supported via fallback for smooth migration
2026-01-11 04:10:43 +01:00
Peter Steinberger
392a0efbb8 docs: consolidate 2026.1.10 notes 2026-01-11 04:08:33 +01:00
Peter Steinberger
7c133591e8 fix: improve telegram configuration safety 2026-01-11 03:57:52 +01:00
Peter Steinberger
77d843a83f fix(macos): improve onboarding discovery 2026-01-11 03:51:08 +01:00
Peter Steinberger
ac7fcf3d5e docs(status): make status first-step 2026-01-11 03:34:33 +01:00
Peter Steinberger
4b1000e45c Merge pull request #697 from gabriel-trigo/feat/docker-apt-packages
feat(docker): optional apt packages in docker-setup
2026-01-11 02:28:36 +00:00
Peter Steinberger
a95fe638b1 fix: harden docker apt install (#697) (thanks @gabriel-trigo) 2026-01-11 03:27:48 +01:00
Peter Steinberger
a8c6551580 fix: stabilize live probes and docs 2026-01-11 02:26:39 +00:00
Gabriel Trigo
36d69444f1 feat(docker): optional apt packages in docker-setup 2026-01-11 03:26:05 +01:00
Peter Steinberger
a75fe7e986 Merge pull request #695 from jeffersonwarrior/jeff/no-sign-launchagent
macOS: stabilize launchagent in --no-sign
2026-01-11 02:20:32 +00:00
Peter Steinberger
d4f96cd6e2 fix: reset unsigned launchd overrides (#695) (thanks @jeffersonwarrior) 2026-01-11 03:19:24 +01:00
Peter Steinberger
4520dbe570 docs: clarify gateway remote node flow 2026-01-11 03:17:06 +01:00
Peter Steinberger
c051f971fe fix(status): improve diagnostics and output 2026-01-11 02:42:24 +01:00
Peter Steinberger
fcd7bac754 docs: add quick setup blocks to chat providers 2026-01-11 02:40:38 +01:00
Peter Steinberger
86d6670192 feat: add codex cli backend 2026-01-11 01:39:30 +00:00
Peter Steinberger
57488364b0 docs: add provider hub and model provider pages 2026-01-11 02:27:37 +01:00
Peter Steinberger
3e2b22c0a8 feat: improve gateway services and auto-reply commands 2026-01-11 02:27:16 +01:00
Peter Steinberger
07c9b307ce docs: add FAQ for Anthropic setup-token and Codex auth 2026-01-11 02:05:35 +01:00
Peter Steinberger
a430f7cdfa docs: clarify browser allowlist defaults and risks 2026-01-11 02:00:30 +01:00
Peter Steinberger
9a13be4d2a fix: inject image paths for cli backends 2026-01-11 00:55:22 +00:00
Peter Steinberger
b39f8059de test: add CLI backend image probe 2026-01-11 00:55:22 +00:00
Peter Steinberger
36aef5c340 fix: unblock claude-cli live runs 2026-01-11 00:55:22 +00:00
Peter Steinberger
f615cb2857 feat: add CLI backend fallback 2026-01-11 00:55:22 +00:00
Peter Steinberger
c53403a484 feat: add sandbox browser control allowlists 2026-01-11 01:52:32 +01:00
Peter Steinberger
f4e2fb75c6 fix: update gateway auth docs and clients 2026-01-11 01:51:24 +01:00
Peter Steinberger
affbfca811 chore(release): 2026.1.11-3 2026-01-11 01:38:15 +01:00
Peter Steinberger
a3fb90e416 docs(status): add diagnostics commands 2026-01-11 01:31:56 +01:00
Peter Steinberger
3884c016bc feat: add browser target selection for sandboxed agents 2026-01-11 01:31:56 +01:00
Peter Steinberger
48b6145088 fix: dedupe inbound messages across providers 2026-01-11 00:12:25 +01:00
Peter Steinberger
bbd7937f68 fix(mac): add tailnet discovery fallback and debug CLI 2026-01-10 23:39:27 +01:00
Peter Steinberger
c25989b59c feat(status): improve status output 2026-01-10 23:32:07 +01:00
Peter Steinberger
0390d39d95 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
853d153b69 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
635ac60185 test: add setup-token live smoke 2026-01-10 21:45:15 +00:00
Peter Steinberger
3b898b8898 fix(doctor): warn on opencode overrides 2026-01-10 22:44:31 +01:00
Peter Steinberger
c3ba0505f8 fix: keep docker home volume mounts 2026-01-10 22:42:57 +01:00
Gabriel Trigo
96ee7027f2 feat: add optional home volume and extra mounts 2026-01-10 22:40:57 +01:00
Peter Steinberger
1825cde46e docs(gateway): rename OpenAI HTTP endpoint doc 2026-01-10 22:39:06 +01:00
Peter Steinberger
d254843da0 feat(gateway): add config toggle for chat completions endpoint 2026-01-10 22:39:06 +01:00
Peter Steinberger
30dd2a497d fix: add reasoning visibility hint 2026-01-10 22:24:22 +01:00
Peter Steinberger
5bb13589bc test(live): add provider filters + google skip rules 2026-01-10 21:16:59 +00:00
Peter Steinberger
6410149eb5 feat(gateway): allow agent via model 2026-01-10 22:11:12 +01:00
Peter Steinberger
c052eb4f8b fix(docs): dedupe /sandbox redirects 2026-01-10 22:11:10 +01:00
Peter Steinberger
8e727bb589 docs(gateway): add OpenAI HTTP API to docs nav 2026-01-10 22:11:07 +01:00
Peter Steinberger
f8fe43591e feat(gateway): add OpenAI-compatible HTTP endpoint 2026-01-10 22:11:04 +01:00
Peter Steinberger
f110611865 docs(testing): add google live recipes 2026-01-10 20:55:57 +00:00
Shadow
6620983fc5 Docs: fix internal links 2026-01-10 14:51:33 -06:00
Peter Steinberger
1c9d9bfa3d feat(gateway): add agent image attachments + live probe 2026-01-10 20:44:23 +00:00
Peter Steinberger
87de07ee74 fix: align opencode-zen provider setup 2026-01-10 21:38:18 +01:00
Peter Steinberger
6fdeab6dc4 fix: describe sandboxed elevated in prompt 2026-01-10 21:37:15 +01:00
Peter Steinberger
376ab2ad71 feat(doctor): offer update first 2026-01-10 21:34:59 +01:00
Peter Steinberger
8c463dfde7 docs: expand testing guide 2026-01-10 19:53:34 +00:00
Peter Steinberger
e42b74dc11 feat: add colored CLI docs links 2026-01-10 20:51:03 +01:00
Peter Steinberger
fda4fa90b8 docs: document clawdbot update 2026-01-10 20:33:02 +01:00
Peter Steinberger
2df5727757 feat(sandbox): add sandbox explain inspector 2026-01-10 20:28:43 +01:00
Peter Steinberger
a000e740c4 docs: add group flow diagram 2026-01-10 20:05:22 +01:00
Peter Steinberger
4a9b735c53 docs: clarify group chat behavior 2026-01-10 19:56:46 +01:00
Peter Steinberger
2bcb81ab86 feat(hooks): allow gmail tailscale target URLs 2026-01-10 19:19:43 +01:00
Peter Steinberger
cf3283e630 docs: clarify tailscale gmail path forwarding 2026-01-10 19:19:43 +01:00
Peter Steinberger
6d2def4753 docs: call out group history limits 2026-01-10 19:19:31 +01:00
Peter Steinberger
5e01b0a530 docs: document history context overrides 2026-01-10 19:16:25 +01:00
Peter Steinberger
400a829b02 fix: telegram draft chunking defaults (#667) (thanks @rubyrunsstuff) 2026-01-10 18:30:06 +01:00
Peter Steinberger
95f008b0ad docs: expand TypeBox protocol guide 2026-01-10 17:38:34 +01:00
Peter Steinberger
88342a1004 docs: clarify model picks and auth setup 2026-01-10 17:36:54 +01:00
Jonáš Jančařík
95109ce2b1 feat: add shared model picker to configure/onboarding 2026-01-10 16:32:59 +00:00
Peter Steinberger
e8236ef955 fix(auto-reply): RawBody commands + locked session updates (#643) 2026-01-10 17:32:31 +01:00
Peter Steinberger
e55a72e3ea fix(gateway): harden chat abort semantics 2026-01-10 17:23:27 +01:00
Lloyd
f0fe89439a 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
1f0d451dec docs: use providers login 2026-01-10 16:44:59 +01:00
Peter Steinberger
f5023e9ee8 fix(pairing): accept positional provider args 2026-01-10 16:36:43 +01:00
Peter Steinberger
23935ee3b1 feat: add ZAI auth choice 2026-01-10 16:32:21 +01:00
henrymascot
fb1fdb9c6f 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
293a4f2005 docs: remove legacy bundled gateway doc 2026-01-10 16:03:36 +01:00
Peter Steinberger
58b6c95098 refactor: tidy mac bundled gateway packaging 2026-01-10 16:03:36 +01:00
Radek Paclt
71bca07533 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
c65b75ee8f fix: bundle node runtime for mac app 2026-01-10 15:28:37 +01:00
henrymascot
6bbac66a27 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
fbe1baa8e5 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
49937cc973 test(docker): add multi-container gateway network smoke 2026-01-10 04:14:39 +00:00
Peter Steinberger
fbf44d47be chore: normalize Clawdbot naming 2026-01-10 05:14:09 +01:00
Peter Steinberger
6812f44193 docs(testing): document onboarding + wizard regressions 2026-01-10 03:47:44 +00:00
Peter Steinberger
953dc2d233 docs(testing): refresh live docker runners 2026-01-10 03:06:07 +00:00
Peter Steinberger
8c5601966b chore: add dev gateway/tui scripts 2026-01-10 03:53:32 +01:00
Peter Steinberger
dcc6dc4792 docs: add /config get alias 2026-01-10 03:10:14 +01:00
Peter Steinberger
4f56ed368e feat: auto-start sandbox browser 2026-01-10 02:06:21 +00:00
Peter Steinberger
83f111839c feat: add /config chat config updates 2026-01-10 03:01:27 +01:00
Peter Steinberger
1c78b449bf docs: document testing kit 2026-01-10 01:15:47 +00:00
Peter Steinberger
43ca0e19b3 fix: remove ack reactions after reply (#633) (thanks @levifig) 2026-01-10 02:14:14 +01:00
Peter Steinberger
0c85764db0 docs: improve Hetzner 24/7 VPS guide 2026-01-10 01:43:28 +01:00
Peter Steinberger
1ed062e21b docs: document OpenCode Zen config (#623) 2026-01-10 01:26:25 +01:00
Peter Steinberger
af7b8542af refactor: centralize failover error parsing 2026-01-10 01:26:06 +01:00
Peter Steinberger
1da850aa0f fix: polish opencode-zen onboarding (#623) (thanks @magimetal) 2026-01-10 01:09:34 +01:00
Peter Steinberger
130b63d23a fix: limit subagent bootstrap context 2026-01-10 00:01:16 +00:00
Peter Steinberger
2ae1e20cc4 refactor: centralize reasoning tag handling 2026-01-10 00:53:48 +01:00
Peter Steinberger
5ad2dd8be0 fix: centralize verbose overrides and tool stream gating 2026-01-10 00:52:24 +01:00
Peter Steinberger
a25ffba8f2 feat: allow session_status in sandbox 2026-01-09 23:41:57 +00:00
Peter Steinberger
09b836b593 fix: clarify sessions_send delivery semantics 2026-01-10 00:34:24 +01:00
Peter Steinberger
c1c71b3ebf fix: suppress <think> leakage + split reasoning output (#614) (thanks @zknicker) 2026-01-10 00:02:13 +01:00
Peter Steinberger
9374401cb7 fix: cap pairing requests and suppress outbound pairing replies 2026-01-09 22:58:18 +00:00
Peter Steinberger
177542d3d0 docs: add fresh showcase projects 2026-01-09 23:56:44 +01:00
Peter Steinberger
98263d9ede feat(signal): add reaction notifications 2026-01-09 23:53:36 +01:00
Peter Steinberger
9af73bfc82 docs: embed YouTube video on showcase 2026-01-09 23:10:22 +01:00
Peter Steinberger
18b8802191 docs: clarify npm vs git install switching 2026-01-09 23:10:15 +01:00
Peter Steinberger
8cdc2c6890 fix(auto-reply): tighten block streaming defaults 2026-01-09 22:41:10 +01:00
Peter Steinberger
51806c78b0 fix: default block streaming coalesce idle to 1s 2026-01-09 22:31:19 +01:00
Peter Steinberger
9ddc9868cb 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
6cec9c0673 fix(auth): billing backoff + cooldown UX 2026-01-09 22:00:14 +01:00
Austin Mudd
680d8eca9d 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
ba1e9058e7 feat: add per-agent elevated controls 2026-01-09 20:42:19 +00:00
Peter Steinberger
f1a8a712d4 refactor: harden broadcast groups 2026-01-09 21:39:58 +01:00
Peter Steinberger
2030ff833c refactor: centralize cli timeout parsing 2026-01-09 21:29:52 +01:00
Peter Steinberger
b433be8b7f refactor: centralize skills prompt resolution 2026-01-09 21:27:20 +01:00
Zach Knickerbocker
4ac4a75fed Docker: cache deps layer for faster rebuilds (#605) 2026-01-09 14:23:06 -06:00
Peter Steinberger
036e25c00d fix: honor config timeout in tui 2026-01-09 21:22:50 +01:00
Peter Steinberger
46dec6ed7d fix: inject skills prompt list 2026-01-09 21:20:51 +01:00
Peter Steinberger
8bb8515c0e fix: land broadcast groups (#547) (thanks @pasogott) 2026-01-09 21:14:19 +01:00
sheeek
0d298b134d 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
9817df9b67 feat(telegram): inline keyboard buttons (#491)
Co-authored-by: Azade <azade@hey.com>
2026-01-09 20:47:03 +01:00
Peter Steinberger
eed2ac72ef feat(messages): add whatsapp messagePrefix and responsePrefix auto 2026-01-09 19:29:04 +00:00
Peter Steinberger
1f8e4790b5 fix(messages): restore explicit responsePrefix default 2026-01-09 19:18:34 +00:00
Peter Steinberger
865abef566 refactor: centralize model override validation 2026-01-09 20:14:42 +01:00
Peter Steinberger
75d667e1b0 docs: add messages concept overview 2026-01-09 19:06:14 +00:00
Peter Steinberger
9031406494 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
6e4098fcd3 docs: split CLI install commands into separate code blocks (#601) 2026-01-09 13:00:50 -06:00
Peter Steinberger
b53f657485 fix: harden Gmail hook model defaults (#472) (thanks @koala73) 2026-01-09 19:59:45 +01:00
Magi Metal
c3336cec4b 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
07310951d4 fix: honor whatsapp mediaMaxMb (#505) (thanks @koala73) 2026-01-09 19:51:35 +01:00
Elie Habib
84b6e8aa04 docs: add gateway restart guide 2026-01-09 19:39:42 +01:00
Peter Steinberger
7550ef8192 fix(auto-reply): coalesce block replies and document streaming toggles (#536) (thanks @mcinteerj) 2026-01-09 18:19:55 +00:00
Peter Steinberger
a9b72db51c 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
a248dc0f4e refactor: centralize minimax onboarding + keys 2026-01-09 18:37:06 +01:00
Peter Steinberger
ec5aeb6dce Merge branch 'main' into fix/imessage-groupish-threads 2026-01-09 17:36:15 +00:00
Peter Steinberger
681aacacf0 docs: link Hetzner guide from install/platforms 2026-01-09 18:21:28 +01:00
Peter Steinberger
abec870104 Merge pull request #556 from Iamadig/docs/hetzner-guide
Docs/hetzner guide
2026-01-09 17:18:18 +00:00
Peter Steinberger
91343e8dbc fix: align Hetzner docker guide with gateway runtime (#556) (thanks @Iamadig) 2026-01-09 18:17:19 +01:00
Peter Steinberger
1529c4df66 Merge branch 'main' into fix/imessage-groupish-threads 2026-01-09 17:16:44 +00:00
AG
7ad94f1878 docs: add Hetzner deployment guide 2026-01-09 18:15:02 +01:00
mneves75
a35f3f4c7c 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
5efbe8b48c 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
26ec390cf0 feat: add setup-token + token auth 2026-01-09 17:50:34 +01:00
Luke
ee0c6276cb Merge branch 'main' into commands-list-clean 2026-01-09 11:46:08 -05:00
Peter Steinberger
b5f8995320 refactor: normalize hook agent providers 2026-01-09 17:40:36 +01:00
Jake
839b660bd5 Hooks: default agent delivery to true 2026-01-09 17:32:42 +01:00
Peter Steinberger
446c05a56d docs(commands): document /usage slash command 2026-01-09 17:18:01 +01:00