clisbot 0.1.40 → 0.1.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -75
- package/config/clisbot.json.template +12 -22
- package/config/clisbot.json.v0.1.39.template +1 -1
- package/dist/main.js +5278 -3249
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ The challenge is not whether AI is useful. It is how to make it work at enterpri
|
|
|
28
28
|
- Learns from and integrates the two biggest strengths that made OpenClaw popular: memory and native channel integration with deep, channel-specific conversation and presentation capabilities.
|
|
29
29
|
- Not just a tmux bridge. Slack and Telegram are treated as real channel surfaces with routing, thread or topic continuity, pairing, follow-up control, and attachment-aware interaction instead of plain text passthrough so you can work from your laptop or on the go without giving up a real coding workspace.
|
|
30
30
|
- Team-first by design, with `AGENTS`, `USER`, and `MEMORY` context bootstrapping shaped for shared team reality instead of only personal solo-assistant flows.
|
|
31
|
-
- Useful for coding, operations, teamwork, and general assistant work, with fast chat controls such as `!<command>` and `/bash <command>` for terminal-like control, `/loop` to bring loop-style automation beyond Claude, `/queue` to add follow-up prompts in the same session without interrupting the current run,
|
|
31
|
+
- Useful for coding, operations, teamwork, and general assistant work, with fast chat controls such as `!<command>` and `/bash <command>` for terminal-like control, `/loop` to bring loop-style automation beyond Claude, `/queue` to add follow-up prompts in the same session without interrupting the current run, `/streaming on` to view real-time processing progress for coding tasks, and `/mention`, `/mention channel`, or `/mention all` to tighten follow-up policy at conversation, route, or bot scope.
|
|
32
32
|
|
|
33
33
|
## What to expect
|
|
34
34
|
|
|
@@ -40,6 +40,24 @@ The challenge is not whether AI is useful. It is how to make it work at enterpri
|
|
|
40
40
|
- Slack and Telegram are not treated as plain-text sinks: routed conversations can carry thread or topic identity, pairing, and file-aware workflows.
|
|
41
41
|
- Advanced multi-agent setup is available later, but it is not required for day one.
|
|
42
42
|
|
|
43
|
+
## CLI Compatibility Snapshot
|
|
44
|
+
|
|
45
|
+
`clisbot` currently works best with `codex`.
|
|
46
|
+
|
|
47
|
+
`claude` and `gemini` are both usable, but they need a bit more operator awareness today.
|
|
48
|
+
|
|
49
|
+
| CLI | Current Stability | Short Take |
|
|
50
|
+
| ----------| ---------------------| -------------------------------------------------------------------------------------------------------------|
|
|
51
|
+
| `codex` | Best today | Strongest default for routed coding work. |
|
|
52
|
+
| `claude` | Usable with caveats | Claude can surface its own plan-approval and auto-mode behavior even when launched with bypass-permissions. |
|
|
53
|
+
| `gemini` | Usable with caveats | Runner support is solid, but auth/setup gating and routed reply behavior still need more care. |
|
|
54
|
+
|
|
55
|
+
CLI-specific operator notes:
|
|
56
|
+
|
|
57
|
+
- [Codex CLI Guide](docs/user-guide/codex-cli.md)
|
|
58
|
+
- [Claude CLI Guide](docs/user-guide/claude-cli.md)
|
|
59
|
+
- [Gemini CLI Guide](docs/user-guide/gemini-cli.md)
|
|
60
|
+
|
|
43
61
|
## Quick Start
|
|
44
62
|
|
|
45
63
|
Platform support:
|
|
@@ -61,14 +79,17 @@ clisbot start \
|
|
|
61
79
|
|
|
62
80
|
If you want to try first without persisting the token yet, just remove `--persist`.
|
|
63
81
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
- `
|
|
82
|
+
Next steps:
|
|
83
|
+
|
|
84
|
+
- For security, just as openclaw, direct message with the bot currently requires pairing and groups need explicit specified in allowlist by default.
|
|
85
|
+
- However, `clisbot` has smart autopairing feature to help you get started frictionless. Just send direct message to your bot (through telegram or slack) within 30 minutes so you can claim owner role automatically, and use the bot right away without pairing. After this 30 minutes window you need to approve pairing following instructions by the bot in direct message.
|
|
86
|
+
- To chat with the bot in a group:
|
|
87
|
+
- telegram: Add bot to group, then use slash command in that group /start, you will be guided with command to add a group. Run that command directly or copy that command and chat directly with the bot in DM to ask it do for you (since you are the owner, you are authorized to run that command). After completed, come back to the group and start talk with the bot.
|
|
88
|
+
- Notice that group has require mention (or tag the bot) enabled by default to avoid abuse. But it also has smart follow up within 5 minutes by default so you dont need to tag it again. You could change the mode by asking the bot to do for you.
|
|
89
|
+
- If you want stricter mention behavior, use `/mention` for this conversation only, `/mention channel` for the current channel or group default, or `/mention all` for the current bot default.
|
|
90
|
+
- For long running task such as coding, you might want to toggle streaming mode on with slash command inside the chat "/streaming on", check streaming status anytime with "/streaming status". In slack, native slash command is unconventional so you can get around to use slash command with a space prefix such as " /streaming on", or use alias "\streaming on". This is also true for any other slash command supported by `clisbot`.
|
|
91
|
+
- slack:
|
|
92
|
+
- If you want to add more owner or app admin, grant that principal explicitly with the platform prefix plus the channel-native user id, for example `clisbot auth add-user app --role owner --user telegram:1276408333` or `clisbot auth add-user app --role admin --user slack:U123ABC456`.
|
|
72
93
|
- `clisbot auth --help` now covers role scopes, permission sets, and add/remove flows for users and permissions.
|
|
73
94
|
- App-level auth and owner-claim semantics in [Authorization And Roles](docs/user-guide/auth-and-roles.md) describe both the current runtime reality and the remaining target-model gaps.
|
|
74
95
|
|
|
@@ -269,26 +290,18 @@ trust_level = "trusted"
|
|
|
269
290
|
|
|
270
291
|
Most users only need a small set of commands at first:
|
|
271
292
|
|
|
272
|
-
- `clisbot start
|
|
273
|
-
- `clisbot restart
|
|
274
|
-
- `clisbot stop
|
|
275
|
-
- `clisbot status
|
|
276
|
-
- `clisbot logs
|
|
277
|
-
- `clisbot
|
|
278
|
-
- `clisbot
|
|
279
|
-
- `clisbot
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
-
|
|
284
|
-
- `clisbot bots add --channel telegram --bot default --bot-token TELEGRAM_BOT_TOKEN --persist`
|
|
285
|
-
- `clisbot bots add --channel slack --bot default --app-token SLACK_APP_TOKEN --bot-token SLACK_BOT_TOKEN --persist`
|
|
286
|
-
- `clisbot routes add --channel telegram group:<chatId> --bot default`
|
|
287
|
-
- `clisbot routes add --channel telegram topic:<chatId>:<topicId> --bot default`
|
|
288
|
-
- `clisbot routes add --channel slack channel:<channelId> --bot default`
|
|
289
|
-
- `clisbot routes set-agent --channel telegram group:<chatId> --bot default --agent <id>`
|
|
290
|
-
- `clisbot routes set-agent --channel slack channel:<channelId> --bot default --agent <id>`
|
|
291
|
-
- `clisbot --help`
|
|
293
|
+
- `clisbot start`: start the bot runtime and create the default first-run setup when needed.
|
|
294
|
+
- `clisbot restart`: restart the runtime cleanly; use this first when the bot stops responding.
|
|
295
|
+
- `clisbot stop`: stop the runtime cleanly before upgrades, config changes, or maintenance.
|
|
296
|
+
- `clisbot status`: check whether the runtime, channels, and active sessions look healthy.
|
|
297
|
+
- `clisbot logs`: inspect recent runtime logs when startup, routing, or replies look wrong.
|
|
298
|
+
- `clisbot runner list`: list the live tmux-backed runner sessions and see what is active.
|
|
299
|
+
- `clisbot runner watch <session-name>`: live-watch one specific session when debugging a real run.
|
|
300
|
+
- `clisbot runner watch --latest`: jump straight into the most recently active session.
|
|
301
|
+
|
|
302
|
+
Full operator command reference:
|
|
303
|
+
|
|
304
|
+
- [CLI Commands Guide](docs/user-guide/cli-commands.md)
|
|
292
305
|
|
|
293
306
|
If you are running from the repo instead of the global package:
|
|
294
307
|
|
|
@@ -302,7 +315,7 @@ If you are running from the repo instead of the global package:
|
|
|
302
315
|
|
|
303
316
|
## In Chat
|
|
304
317
|
|
|
305
|
-
`clisbot` supports a small set of chat-native commands for thread control
|
|
318
|
+
`clisbot` supports a small set of chat-native commands for thread control and workflow acceleration inside Slack and Telegram.
|
|
306
319
|
|
|
307
320
|
Native coding-CLI command compatibility:
|
|
308
321
|
|
|
@@ -320,37 +333,26 @@ Common commands:
|
|
|
320
333
|
|
|
321
334
|
- `/start`: show onboarding or route-status help for the current conversation.
|
|
322
335
|
- `/help`: show the available clisbot conversation commands.
|
|
323
|
-
- `/status`: show the current route status, follow-up policy, and operator setup hints.
|
|
324
|
-
- `/whoami`: show the current sender and route identity for the active conversation.
|
|
325
336
|
- `/stop`: interrupt the current running turn.
|
|
326
|
-
- `/
|
|
327
|
-
- `/followup
|
|
328
|
-
- `/
|
|
329
|
-
- `/
|
|
330
|
-
- `/followup resume`: restore the default follow-up behavior for that conversation.
|
|
331
|
-
- `/transcript`: return the current conversation transcript when the route `verbose` policy allows it.
|
|
332
|
-
- `::transcript` or `\transcript`: transcript shortcuts from the default slash-style prefixes.
|
|
333
|
-
- `/bash <command>`: run a shell command in the current agent workspace when the resolved agent role allows `shellExecute`.
|
|
334
|
-
- `!<command>`: shorthand for `/bash <command>`.
|
|
337
|
+
- `/streaming on`, `/streaming off`, `/streaming status`: turn live progress on when you want to follow long coding work, then turn it back off when you only want final answers; in Slack, use ` /streaming on` or `\streaming on` when Slack grabs the raw slash command.
|
|
338
|
+
- `/followup status`, `/followup auto`, `/followup mention-only`, `/followup pause`, `/followup resume`: control whether the bot keeps naturally following the thread, stays quiet, or requires an explicit mention again; fast shorthands include `/mention`, `/pause`, and `/resume`.
|
|
339
|
+
- `/queue <message>`: queue the next prompt behind the current run so the bot can finish one thing, then keep going automatically without you babysitting every step.
|
|
340
|
+
- `/loop <schedule or count> <message>`: turn one instruction into repeated work, from recurring automation to brute-force progress like `/loop 3 tiếp đi em` when you want the AI to keep pushing instead of stopping early.
|
|
335
341
|
|
|
336
|
-
|
|
342
|
+
Why `/queue` and `/loop` matter:
|
|
337
343
|
|
|
338
|
-
-
|
|
339
|
-
-
|
|
340
|
-
- both are configurable with `bots.defaults.commandPrefixes`, `bots.slack.defaults.commandPrefixes`, or `bots.telegram.defaults.commandPrefixes`
|
|
344
|
+
- `/queue` is a very simple workflow primitive: stack the next prompts now, let the bot run them one by one later.
|
|
345
|
+
- `/loop` is the force multiplier: use it for recurring review/reporting, or just to keep the AI moving through multi-step coding work with less laziness and fewer early stops.
|
|
341
346
|
|
|
342
|
-
|
|
347
|
+
Examples:
|
|
343
348
|
|
|
344
|
-
- `/
|
|
345
|
-
- `/
|
|
346
|
-
-
|
|
347
|
-
- use `clisbot routes --help` for route-level setup and route policy guidance
|
|
349
|
+
- `/queue tiếp đi em`
|
|
350
|
+
- `/queue code review theo architecture, guideline và fix, test`
|
|
351
|
+
- `/loop 3 tiếp đi em`
|
|
348
352
|
|
|
349
|
-
|
|
353
|
+
Detailed slash-command guide:
|
|
350
354
|
|
|
351
|
-
-
|
|
352
|
-
- `pause` is useful when the bot has already participated but you do not want it to keep jumping into every follow-up message.
|
|
353
|
-
- `mention-only` is the stricter mode when you want every new bot turn to require an explicit call.
|
|
355
|
+
- [Slash Commands](docs/user-guide/slash-commands.md)
|
|
354
356
|
|
|
355
357
|
## Docs
|
|
356
358
|
|
|
@@ -380,27 +382,6 @@ Follow-up behavior matters in team threads:
|
|
|
380
382
|
|
|
381
383
|
tmux is still the current stability boundary. One agent maps to one durable runner session in one workspace, and every CLI, channel, or workflow layer should route onto that durable runtime instead of recreating the agent from scratch.
|
|
382
384
|
|
|
383
|
-
## Launch MVP Path
|
|
384
|
-
|
|
385
|
-
See [docs/overview/launch-mvp-path.md](docs/overview/launch-mvp-path.md) for the full current launch order.
|
|
386
|
-
|
|
387
|
-
Short snapshot:
|
|
388
|
-
|
|
389
|
-
1. Foundations first:
|
|
390
|
-
- frictionless start and credential persistence
|
|
391
|
-
- runtime stability and truthful status or debug UX
|
|
392
|
-
- `/loop` as the current differentiating workflow feature
|
|
393
|
-
2. International launch gate:
|
|
394
|
-
- Claude, Codex, and Gemini as the well-tested core CLI trio
|
|
395
|
-
- current shared channel package remains Slack plus Telegram
|
|
396
|
-
3. Vietnam launch package:
|
|
397
|
-
- add Zalo Official Account and Zalo Personal on top of the same core trio
|
|
398
|
-
4. Next expansion wave:
|
|
399
|
-
- more CLIs such as Cursor, Amp, OpenCode, Qwen, Kilo, and Minimax, prioritized by real userbase demand
|
|
400
|
-
- more channels such as Discord, WhatsApp, Google Workspace, and Microsoft Teams
|
|
401
|
-
5. Open launch decision:
|
|
402
|
-
- whether native CLI slash-command compatibility, override, and customization should ship before broader push
|
|
403
|
-
|
|
404
385
|
## Completed
|
|
405
386
|
|
|
406
387
|
- [x] Multiple Codex, Claude, and Gemini sessions with streaming on/off support.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"schemaVersion": "0.1.
|
|
3
|
+
"schemaVersion": "0.1.42",
|
|
4
4
|
"lastTouchedAt": "2026-04-18T10:10:00Z"
|
|
5
5
|
},
|
|
6
6
|
"app": {
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"loadingMessages": []
|
|
128
128
|
},
|
|
129
129
|
"directMessages": {
|
|
130
|
-
"
|
|
130
|
+
"dm:*": {
|
|
131
131
|
"enabled": true,
|
|
132
132
|
"requireMention": false,
|
|
133
133
|
"policy": "pairing",
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
},
|
|
193
193
|
"timezone": "UTC",
|
|
194
194
|
"directMessages": {
|
|
195
|
-
"
|
|
195
|
+
"dm:*": {
|
|
196
196
|
"enabled": true,
|
|
197
197
|
"requireMention": false,
|
|
198
198
|
"policy": "pairing",
|
|
@@ -224,14 +224,12 @@
|
|
|
224
224
|
},
|
|
225
225
|
"timezone": "America/Los_Angeles"
|
|
226
226
|
},
|
|
227
|
-
"U_OWNER": {
|
|
228
|
-
"enabled": true,
|
|
229
|
-
"policy": "open",
|
|
227
|
+
"dm:U_OWNER": {
|
|
230
228
|
"agentId": "default"
|
|
231
229
|
}
|
|
232
230
|
},
|
|
233
231
|
"groups": {
|
|
234
|
-
"
|
|
232
|
+
"dm:*": {
|
|
235
233
|
"enabled": true,
|
|
236
234
|
"requireMention": true,
|
|
237
235
|
"policy": "disabled",
|
|
@@ -361,14 +359,12 @@
|
|
|
361
359
|
"participationTtlMin": 10
|
|
362
360
|
}
|
|
363
361
|
},
|
|
364
|
-
"U_SUPPORT": {
|
|
365
|
-
"enabled": true,
|
|
366
|
-
"policy": "allowlist",
|
|
362
|
+
"dm:U_SUPPORT": {
|
|
367
363
|
"agentId": "reviewer"
|
|
368
364
|
}
|
|
369
365
|
},
|
|
370
366
|
"groups": {
|
|
371
|
-
"
|
|
367
|
+
"dm:*": {
|
|
372
368
|
"enabled": true,
|
|
373
369
|
"requireMention": true,
|
|
374
370
|
"policy": "disabled",
|
|
@@ -450,7 +446,7 @@
|
|
|
450
446
|
},
|
|
451
447
|
"timezone": "UTC",
|
|
452
448
|
"directMessages": {
|
|
453
|
-
"
|
|
449
|
+
"dm:*": {
|
|
454
450
|
"enabled": true,
|
|
455
451
|
"requireMention": false,
|
|
456
452
|
"policy": "pairing",
|
|
@@ -525,14 +521,12 @@
|
|
|
525
521
|
"participationTtlMin": 5
|
|
526
522
|
}
|
|
527
523
|
},
|
|
528
|
-
"1276408333": {
|
|
529
|
-
"enabled": true,
|
|
530
|
-
"policy": "open",
|
|
524
|
+
"dm:1276408333": {
|
|
531
525
|
"agentId": "default"
|
|
532
526
|
}
|
|
533
527
|
},
|
|
534
528
|
"groups": {
|
|
535
|
-
"
|
|
529
|
+
"dm:*": {
|
|
536
530
|
"enabled": true,
|
|
537
531
|
"requireMention": true,
|
|
538
532
|
"policy": "disabled",
|
|
@@ -664,14 +658,10 @@
|
|
|
664
658
|
"participationTtlMin": 15
|
|
665
659
|
}
|
|
666
660
|
},
|
|
667
|
-
"1276408333": {
|
|
668
|
-
"enabled": true,
|
|
669
|
-
"policy": "open",
|
|
661
|
+
"dm:1276408333": {
|
|
670
662
|
"agentId": "reviewer"
|
|
671
663
|
},
|
|
672
|
-
"555000111": {
|
|
673
|
-
"enabled": true,
|
|
674
|
-
"policy": "open",
|
|
664
|
+
"dm:555000111": {
|
|
675
665
|
"agentId": "reviewer"
|
|
676
666
|
}
|
|
677
667
|
},
|