Peter Steinberger
a8f2ac5411
docs(fly): add configuration guidance for bind mode, memory, and troubleshooting
2026-01-24 08:15:07 +00:00
Peter Steinberger
90ae2f541c
feat: add Fly.io deployment support
...
- Add fly.toml configuration for Fly.io deployment
- Add docs/platforms/fly.md with deployment guide
- Uses London (lhr) region by default
- Includes persistent volume for data storage
2026-01-24 08:15:07 +00:00
Peter Steinberger
d9a467fe3b
feat: move TTS into core ( #1559 ) (thanks @Glucksberg)
2026-01-24 08:00:44 +00:00
Peter Steinberger
15620b1092
fix: guard tool allowlists with warnings
2026-01-24 07:38:42 +00:00
Glucksberg
b56587f26e
fix: address code review findings for plugin command API
...
Blockers fixed:
- Fix documentation: requireAuth defaults to true (not false)
- Add command name validation (must start with letter, alphanumeric only)
- Add reserved commands list to prevent shadowing built-in commands
- Emit diagnostic errors for invalid/duplicate command registration
Other improvements:
- Return user-friendly message for unauthorized commands (instead of silence)
- Sanitize error messages to avoid leaking internal details
- Document acceptsArgs behavior when arguments are provided
- Add notes about reserved commands and validation rules to docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:28:22 +00:00
Glucksberg
4ee808dbcb
feat: add plugin command API for LLM-free auto-reply commands
...
This adds a new `api.registerCommand()` method to the plugin API, allowing
plugins to register slash commands that execute without invoking the AI agent.
Features:
- Plugin commands are processed before built-in commands and the agent
- Commands can optionally require authorization
- Commands can accept arguments
- Async handlers are supported
Use case: plugins can implement toggle commands (like /tts_on, /tts_off)
that respond immediately without consuming LLM API calls.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:28:22 +00:00
Peter Steinberger
66eec295b8
perf: stabilize system prompt time
2026-01-24 06:24:04 +00:00
Peter Steinberger
eba0625a70
fix: ignore identity template placeholders
2026-01-24 05:35:50 +00:00
Peter Steinberger
5662a9cdfc
fix: honor tools.exec ask/security in approvals
2026-01-24 04:53:44 +00:00
Peter Steinberger
c3cb26f7ca
feat: add node browser proxy routing
2026-01-24 04:21:47 +00:00
JustYannicc
dd06028827
feat(heartbeat): skip API calls when HEARTBEAT.md is effectively empty ( #1535 )
...
* feat: skip heartbeat API calls when HEARTBEAT.md is effectively empty
- Added isHeartbeatContentEffectivelyEmpty() to detect files with only headers/comments
- Modified runHeartbeatOnce() to check HEARTBEAT.md content before polling the LLM
- Returns early with 'empty-heartbeat-file' reason when no actionable tasks exist
- Preserves existing behavior when file is missing (lets LLM decide)
- Added comprehensive test coverage for empty file detection
- Saves API calls/costs when heartbeat file has no meaningful content
* chore: update HEARTBEAT.md template to be effectively empty by default
Changed instruction text to comment format so new workspaces benefit from
heartbeat optimization immediately. Users still get clear guidance on usage.
* fix: only treat markdown headers (# followed by space) as comments, not #TODO etc
* refactor: simplify regex per code review suggestion
* docs: clarify heartbeat empty file behavior (#1535 ) (thanks @JustYannicc)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-24 04:19:01 +00:00
Peter Steinberger
71203829d8
feat: add system cli
2026-01-24 04:03:07 +00:00
Peter Steinberger
4fa1517e6d
docs: add channels list usage troubleshooting
2026-01-24 03:44:44 +00:00
Peter Steinberger
b697374ce5
fix: update docker gateway command
2026-01-24 03:24:28 +00:00
Peter Steinberger
309fcc5321
fix: publish llm-task docs and harden tool
2026-01-24 01:44:51 +00:00
Peter Steinberger
00fd57b8f5
fix: honor wildcard tool allowlists
2026-01-24 01:30:44 +00:00
Peter Steinberger
4e77483051
fix: refine bedrock discovery defaults ( #1543 ) (thanks @fal3)
2026-01-24 01:18:33 +00:00
Alex Fallah
8effb557d5
feat: add dynamic Bedrock model discovery
...
Add automatic discovery of AWS Bedrock models using ListFoundationModels API.
When AWS credentials are detected, models that support streaming and text output
are automatically discovered and made available.
- Add @aws-sdk/client-bedrock dependency
- Add discoverBedrockModels() with caching (default 1 hour)
- Add resolveImplicitBedrockProvider() for auto-registration
- Add BedrockDiscoveryConfig for optional filtering by provider/region
- Filter to active, streaming, text-output models only
- Update docs/bedrock.md with auto-discovery documentation
2026-01-24 01:15:06 +00:00
Peter Steinberger
f938f6617b
docs: extend cron vs heartbeat guide
2026-01-24 00:42:56 +00:00
justyannicc
e882f7d207
docs: add cron vs heartbeat decision guide
...
- New docs/automation/cron-vs-heartbeat.md with complete guidance
- Cross-links from heartbeat.md and cron-jobs.md
- Updated AGENTS.md template with practical guidance
- Added navigation entry in docs.json
2026-01-24 00:42:56 +00:00
AJ (@techfren)
e38fd8603f
docs: remove misplaced Google Docs Editor from showcase ( #1547 )
...
- Was incorrectly placed in Voice & Phone section
- Not a Clawdbot project (Claude Code skill)
- No valid link available
2026-01-24 00:42:48 +00:00
Peter Steinberger
791b568f78
feat: add tlon channel plugin
2026-01-24 00:25:39 +00:00
Peter Steinberger
b9c35d9fdc
docs: add Comcast SSL troubleshooting note
2026-01-24 00:01:20 +00:00
Peter Steinberger
efec5fc751
docs: remove channel unify checklist
2026-01-23 23:37:04 +00:00
Peter Steinberger
05e7e06146
docs: add channel unification checklist
2026-01-23 23:32:14 +00:00
Peter Steinberger
4ee70be690
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Peter Steinberger
6fba598eaf
fix: handle gateway slash command replies in TUI
2026-01-23 19:48:22 +00:00
Peter Steinberger
40181afded
feat: add models status auth probes
2026-01-23 19:28:55 +00:00
Peter Steinberger
ff30cef8a4
fix: expand linux service PATH handling
2026-01-23 19:16:41 +00:00
Peter Steinberger
cad7ed1cb8
fix(exec-approvals): stabilize allowlist ids ( #1521 )
2026-01-23 19:00:45 +00:00
Peter Steinberger
b77e730657
fix: add per-channel markdown table conversion ( #1495 ) (thanks @odysseus0)
2026-01-23 18:39:25 +00:00
Peter Steinberger
2c85b1b409
fix: restart gateway after update by default
2026-01-23 11:50:19 +00:00
Peter Steinberger
6e570561b6
docs: prefer fast install smoke for release
2026-01-23 09:18:15 +00:00
Peter Steinberger
dc07f1e021
fix: keep core tools when allowlist is plugin-only
2026-01-23 09:02:17 +00:00
Peter Steinberger
78071f8ec4
docs: note SPARKLE_PRIVATE_KEY_FILE in profile
2026-01-23 08:25:20 +00:00
Peter Steinberger
f1afc722da
Revert "fix: improve GitHub Copilot integration"
...
This reverts commit 21a9b3b66f .
2026-01-23 07:14:00 +00:00
Peter Steinberger
bd7443b39b
docs: update media auto-detect
2026-01-23 05:47:16 +00:00
Peter Steinberger
1d9f230be4
docs: expand slack replyToModeByChatType examples
2026-01-23 05:38:28 +00:00
Peter Steinberger
9bf295da48
feat: add slack replyToModeByChatType overrides
2026-01-23 05:38:28 +00:00
Stefan Galescu
7b40d1b261
feat(slack): add dm-specific replyToMode configuration ( #1442 )
...
Adds support for separate replyToMode settings for DMs vs channels:
- Add channels.slack.dm.replyToMode for DM-specific threading
- Keep channels.slack.replyToMode as default for channels
- Add resolveSlackReplyToMode helper to centralize logic
- Pass chatType through threading resolution chain
Usage:
```json5
{
channels: {
slack: {
replyToMode: "off", // channels
dm: {
replyToMode: "all" // DMs always thread
}
}
}
}
```
When dm.replyToMode is set, DMs use that mode; channels use the
top-level replyToMode. Backward compatible when not configured.
2026-01-23 05:13:23 +00:00
Peter Steinberger
784468d6c3
fix: harden BlueBubbles voice memos ( #1477 ) (thanks @Nicell)
2026-01-23 04:38:08 +00:00
Peter Steinberger
f1deffa681
fix: repair docs redirects
2026-01-23 03:13:12 +00:00
Peter Steinberger
ea79b26b79
feat: extend lobster tool run args
2026-01-23 03:09:59 +00:00
Peter Steinberger
ecfddb7807
docs: fix lobster links
2026-01-23 02:51:33 +00:00
Peter Steinberger
21a9b3b66f
fix: improve GitHub Copilot integration
2026-01-23 02:51:33 +00:00
Peter Steinberger
eaf1b6bfee
docs: simplify OpenProse install
2026-01-23 01:37:54 +00:00
Peter Steinberger
06cb2bf58d
docs: expand mattermost intro
2026-01-23 01:35:50 +00:00
Peter Steinberger
8fdb3b38eb
docs: add mattermost redirect
2026-01-23 01:35:15 +00:00
Peter Steinberger
2424404fb4
docs: add transcript hygiene reference
2026-01-23 01:34:21 +00:00
Peter Steinberger
bc4d8ce398
docs: link Lobster and OpenProse
2026-01-23 01:29:17 +00:00
Peter Steinberger
279f799388
fix: harden Mattermost plugin gating ( #1428 ) (thanks @damoahdominic)
2026-01-23 01:23:23 +00:00
Peter Steinberger
1d658109a8
docs: remove OpenProse telemetry mentions
2026-01-23 01:20:30 +00:00
Peter Steinberger
5a446f3a21
docs: expand OpenProse guide
2026-01-23 01:08:55 +00:00
Peter Steinberger
52b6bf04af
fix: improve tool summaries
2026-01-23 01:00:24 +00:00
Peter Steinberger
51a9053387
feat: add OpenProse plugin skills
2026-01-23 00:49:40 +00:00
Peter Steinberger
fac21e6eb4
Merge pull request #1428 from bestparents/feat/mattermost-channel
...
feat: add Mattermost channel support
2026-01-23 00:24:47 +00:00
Peter Steinberger
e872f5335b
fix: allow chained exec allowlists
...
Co-authored-by: Lucas Czekaj <1464539+czekaj@users.noreply.github.com>
2026-01-23 00:11:58 +00:00
Peter Steinberger
6a25e23909
fix: tui local shell consent UX ( #1463 )
...
- add local shell runner + denial notice + tests
- docs: describe ! local shell usage
- lint: drop unused Slack upload contentType
- cleanup: remove stray Swabble pins
Thanks @vignesh07.
Co-authored-by: Vignesh Natarajan <vigneshnatarajan92@gmail.com>
2026-01-22 23:38:44 +00:00
Peter Steinberger
c1e50b7184
docs: clarify node service commands
2026-01-22 23:22:56 +00:00
Peter Steinberger
c7e0dc10fc
docs: fix remaining node ws references
2026-01-22 23:22:56 +00:00
Dominic Damoah
01579aa7d7
Merge branch 'main' into feat/mattermost-channel
2026-01-22 18:17:40 -05:00
Peter Steinberger
96f1846c2c
docs: align node transport with gateway ws
2026-01-22 23:10:09 +00:00
Peter Steinberger
814e9a500e
feat: add manual onboarding flow alias
2026-01-22 23:09:28 +00:00
Peter Steinberger
c721947346
feat(macos): add attach-only launchd override
2026-01-22 23:08:56 +00:00
Peter Steinberger
826013c990
docs: refresh nodes + pairing docs
2026-01-22 22:02:06 +00:00
Peter Steinberger
fb85cb3271
docs: clarify bootstrap memory absence
2026-01-22 10:48:07 +00:00
Peter Steinberger
6822d509d7
docs: explain unpinning model auth profiles
2026-01-22 09:38:47 +00:00
Peter Steinberger
ff69a9bd9c
fix: sanitize antigravity thinking signatures
2026-01-22 08:17:49 +00:00
Dominic Damoah
91278d8b4e
Merge branch 'main' into feat/mattermost-channel
2026-01-22 03:11:53 -05:00
Peter Steinberger
1a8b106f34
style: format agent workspace and prompts
2026-01-22 08:05:55 +00:00
Dominic Damoah
fe77d3eb56
Merge branch 'main' into feat/mattermost-channel
2026-01-22 02:49:17 -05:00
Peter Steinberger
7004616e03
docs: note node-gyp workaround for sharp
2026-01-22 07:09:20 +00:00
Peter Steinberger
8544df36b8
feat: extend Control UI assistant identity
2026-01-22 07:08:13 +00:00
Vignesh
aadb66e956
Merge pull request #1427 from vignesh07/docs/lobster-org-url
2026-01-21 23:07:39 -08:00
Peter Steinberger
ad6d048934
feat: add update wizard and guard elevated defaults
2026-01-22 07:06:19 +00:00
Peter Steinberger
d19a0249f8
fix: align rolling logs to local time
2026-01-22 07:02:52 +00:00
Vignesh Natarajan
d8ad865cf5
docs: update lobster repo url
2026-01-21 22:55:49 -08:00
Peter Steinberger
6539c09a93
Merge remote-tracking branch 'origin/main' into feature/agent-avatar-support
2026-01-22 06:03:56 +00:00
Peter Steinberger
a2981c5a2c
feat: add elevated ask/full modes
2026-01-22 05:41:11 +00:00
Peter Steinberger
a59ac5cf6f
feat: add agent identity avatars ( #1329 ) (thanks @dlauer)
2026-01-22 05:37:15 +00:00
Peter Steinberger
e0896de2bf
feat: surface repo root in runtime prompt
2026-01-22 05:20:42 +00:00
Peter Steinberger
d912b02a43
docs: add control ui dev gatewayUrl note
2026-01-22 05:05:30 +00:00
Peter Steinberger
351c73be01
docs: fix npm prefix guidance
2026-01-22 04:31:25 +00:00
Peter Steinberger
55ead9636c
docs: add /model allowlist troubleshooting note
2026-01-22 04:28:57 +00:00
Peter Steinberger
ff3d8cab2b
feat: preflight update runner before rebase
2026-01-22 04:19:33 +00:00
Peter Steinberger
9ae03b92bb
docs: clarify prompt injection guidance
2026-01-22 04:19:33 +00:00
Peter Steinberger
5424b4173c
fix: localize system event timestamps
2026-01-22 04:15:39 +00:00
Peter Steinberger
30a8478e1a
fix: default envelope timestamps to local
2026-01-22 04:10:06 +00:00
Peter Steinberger
9450873c1b
fix: align exec approvals default agent
2026-01-22 04:05:54 +00:00
Peter Steinberger
a2bea8e366
feat: add agent avatar support ( #1329 ) (thanks @dlauer)
2026-01-22 04:00:07 +00:00
Peter Steinberger
0f7f7bb95f
fix: msteams attachments + plugin prompt hints
...
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com>
2026-01-22 03:37:29 +00:00
Peter Steinberger
57f3d209de
docs: expand lobster guides
2026-01-22 03:25:13 +00:00
Peter Steinberger
f4b3f33c8e
Merge pull request #1152 from vignesh07/feat/lobster-plugin
...
feat: Add optional lobster plugin tool (typed workflows, approvals/resume)
2026-01-22 02:34:05 +00:00
Peter Steinberger
cc74e0d188
feat(signal): add typing + read receipts
2026-01-22 02:04:59 +00:00
Peter Steinberger
3ad0d2fe23
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Zach Knickerbocker
7725dd6795
feat: configurable heartbeat session
2026-01-22 01:36:28 +00:00
Peter Steinberger
7e1a17e5e6
fix: unify exec approval ids
2026-01-22 00:59:29 +00:00
Peter Steinberger
7d93de710e
fix: remove setup-token run option in onboarding
2026-01-22 00:42:04 +00:00
Peter Steinberger
7eef176afc
fix: warn on unset gateway.mode
2026-01-22 00:21:08 +00:00
Peter Steinberger
f76e3c1419
fix: enforce secure control ui auth
2026-01-21 23:58:42 +00:00
Dominic Damoah
bf6df6d6b7
feat: add Mattermost channel support
...
Add Mattermost as a supported messaging channel with bot API and WebSocket integration. Includes channel state tracking (tint, summary, details), multi-account support, and delivery target routing. Update documentation and tests to include Mattermost alongside existing channels.
2026-01-21 18:40:56 -05:00
Peter Steinberger
b4776af38c
docs: clarify mac packaging guidance
2026-01-21 23:27:40 +00:00
Peter Steinberger
3b18efdd25
feat: tighten exec allowlist gating
2026-01-21 21:45:50 +00:00
Peter Steinberger
acd40e1780
docs: add showcase video
2026-01-21 20:53:55 +00:00
Peter Steinberger
b5fd66c92d
fix: add explicit tailnet gateway bind
2026-01-21 20:36:09 +00:00
Peter Steinberger
76600e80ba
docs: simplify heartbeat active hours example
2026-01-21 20:33:23 +00:00
Peter Steinberger
31943dcecb
feat: add heartbeat active hours
2026-01-21 20:30:37 +00:00
Peter Steinberger
0d3b8f6ac3
feat: make nodes run exec-style
2026-01-21 20:25:12 +00:00
Peter Steinberger
6492e90c1b
feat: add auth-aware cache defaults
2026-01-21 20:23:39 +00:00
Peter Steinberger
0daaa5b592
fix: restore 1h cache ttl option
2026-01-21 20:00:32 +00:00
Peter Steinberger
6866cca6d7
docs: clarify cache-ttl pruning window
2026-01-21 20:00:32 +00:00
Peter Steinberger
9f59ff325b
feat: add cache-ttl pruning mode
2026-01-21 19:46:24 +00:00
Echo
c415ccaed5
feat(sessions): add channelIdleMinutes config for per-channel session idle durations ( #1353 )
...
* feat(sessions): add channelIdleMinutes config for per-channel session idle durations
Add new `channelIdleMinutes` config option to allow different session idle
timeouts per channel. For example, Discord sessions can now be configured
to last 7 days (10080 minutes) while other channels use shorter defaults.
Config example:
sessions:
channelIdleMinutes:
discord: 10080 # 7 days
The channel-specific idle is passed as idleMinutesOverride to the existing
resolveSessionResetPolicy, integrating cleanly with the new reset policy
architecture.
* fix
* feat: add per-channel session reset overrides (#1353 ) (thanks @cash-echo-bot)
---------
Co-authored-by: Cash Williams <cashwilliams@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-21 19:10:31 +00:00
Peter Steinberger
c913f05fb5
docs(discord): mention wildcard channel defaults
2026-01-21 18:21:24 +00:00
Peter Steinberger
c129f0bbaa
docs: align gateway service naming
2026-01-21 17:45:26 +00:00
Peter Steinberger
4e1806947d
fix: normalize abort signals for fetch
2026-01-21 17:29:46 +00:00
Peter Steinberger
8aca606a6f
docs: clarify bluebubbles message ids
2026-01-21 17:20:03 +00:00
Peter Steinberger
cd25d69b4d
fix: harden bluebubbles short ids and fetch wrapper ( #1369 ) (thanks @tyler6204)
2026-01-21 17:09:15 +00:00
Peter Steinberger
cbb9872478
docs: add FAQ entry for tool_use input error
2026-01-21 16:56:26 +00:00
Peter Steinberger
39e24c9937
docs: update node CLI references
2026-01-21 16:48:42 +00:00
Peter Steinberger
dc06b225cd
fix: narrow configure model allowlist for Anthropic OAuth
2026-01-21 11:00:28 +00:00
Peter Steinberger
8479dc97da
fix: make session memory indexing async
2026-01-21 10:39:00 +00:00
Peter Steinberger
40646c73af
feat: improve exec approvals defaults and wildcard
2026-01-21 09:55:10 +00:00
Peter Steinberger
e3cea55d72
docs: add npm files check to release checklist
2026-01-21 08:10:53 +00:00
Peter Steinberger
5dcd48544a
feat: align update channel installs
2026-01-21 06:00:54 +00:00
Peter Steinberger
555b2578a8
feat: add /allowlist command
2026-01-21 05:34:53 +00:00
Peter Steinberger
15f16de651
docs: update nodes list/status flags
2026-01-21 04:52:54 +00:00
Peter Steinberger
1ad4a7194e
fix: allow node exec fallback and defer node approvals
2026-01-21 04:46:50 +00:00
Peter Steinberger
beec504ebd
feat: filter nodes list/status
2026-01-21 04:39:15 +00:00
Peter Steinberger
e97b4973bb
docs: clarify node host exec flow
2026-01-21 04:14:34 +00:00
Peter Steinberger
28c49db494
fix: default exec security to allowlist
2026-01-21 03:40:27 +00:00
Peter Steinberger
caf9dec89c
feat: add nodes list table with last connect
2026-01-21 03:03:48 +00:00
Peter Steinberger
a0cd295c0f
fix: add browser snapshot default mode ( #1336 )
...
Co-authored-by: Seb Slight <sbarrios93@gmail.com>
2026-01-21 03:03:10 +00:00
Peter Steinberger
5bd55037e4
fix: harden web fetch SSRF and redirects
...
Co-authored-by: Eli <fogboots@users.noreply.github.com>
2026-01-21 02:54:14 +00:00
Peter Steinberger
77d9451712
docs: fix mdx in security cli doc
2026-01-21 01:24:29 +00:00
Peter Steinberger
96be166bd6
fix: refactor cron edit payload patches
...
Co-authored-by: Felix Krause <869950+KrauseFx@users.noreply.github.com>
2026-01-21 01:14:24 +00:00
Peter Steinberger
00bcb01bb4
docs: clarify whatsapp voice notes and wsl portproxy
2026-01-21 00:14:36 +00:00
Peter Steinberger
76bae8da40
feat: add download installs for skills
2026-01-21 00:14:36 +00:00
Peter Steinberger
e5ea8a0d22
docs: add network hub + pairing locality
2026-01-21 00:14:14 +00:00
Peter Steinberger
51dfd6efdb
fix: tighten small-model audit guardrails
2026-01-20 23:52:26 +00:00
Peter Steinberger
6734f2d71c
fix: wire OTLP logs for diagnostics
2026-01-20 22:51:47 +00:00
Peter Steinberger
7b6cbf5869
feat: add Nostr channel plugin and onboarding install defaults
...
Co-authored-by: joelklabo <joelklabo@users.noreply.github.com>
2026-01-20 20:15:56 +00:00
Peter Steinberger
4999f15688
refactor: consolidate mac debug CLI
2026-01-20 19:17:31 +00:00
Peter Steinberger
5c4079f66c
feat: add diagnostics events and otel exporter
2026-01-20 18:56:15 +00:00
Peter Steinberger
d298b8c16b
fix(cron): auto-deliver agent output to explicit targets
2026-01-20 17:56:15 +00:00
Peter Steinberger
02ca148583
fix: preserve subagent thread routing ( #1241 )
...
Thanks @gnarco.
Co-authored-by: gnarco <gnarco@users.noreply.github.com>
2026-01-20 17:22:07 +00:00
Peter Steinberger
842be7b864
chore: bump version to 2026.1.20
2026-01-20 16:36:37 +00:00
Peter Steinberger
99fc0fbac1
feat: sync plugin updates with update channel
2026-01-20 16:00:42 +00:00
Peter Steinberger
76698ed296
fix: allow custom skill config bag
...
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
2026-01-20 15:57:08 +00:00
Peter Steinberger
74f382f732
fix: default Anthropic API cache TTL to 1h
2026-01-20 15:48:53 +00:00