feat(channels): add runtime provider/model switching for telegram and discord

This commit is contained in:
Chummy 2026-02-18 22:00:15 +08:00
parent 0b66ed026c
commit 8988a069a6
3 changed files with 666 additions and 13 deletions

View file

@ -13,6 +13,21 @@ zeroclaw channel doctor
zeroclaw channel bind-telegram <IDENTITY>
```
## In-Chat Runtime Model Switching (Telegram / Discord)
When running `zeroclaw channel start` (or daemon mode), Telegram and Discord now support sender-scoped runtime switching:
- `/models` — show available providers and current selection
- `/models <provider>` — switch provider for the current sender session
- `/model` — show current model and cached model IDs (if available)
- `/model <model-id>` — switch model for the current sender session
Notes:
- Switching clears only that sender's in-memory conversation history to avoid cross-model context contamination.
- Model cache previews come from `zeroclaw models refresh --provider <ID>`.
- These are runtime chat commands, not CLI subcommands.
## Channel Matrix
| Channel | Config section | Access control field | Setup path |

View file

@ -80,6 +80,13 @@ Last verified: **February 18, 2026**.
- `zeroclaw channel add <type> <json>`
- `zeroclaw channel remove <name>`
Runtime in-chat commands (Telegram/Discord while channel server is running):
- `/models`
- `/models <provider>`
- `/model`
- `/model <model-id>`
`add/remove` currently route you back to managed setup/manual config paths (not full declarative mutators yet).
### `integrations`
@ -118,4 +125,3 @@ To verify docs against your current binary quickly:
zeroclaw --help
zeroclaw <command> --help
```