Xubin Ren and Xubin Ren
f0f0bf02d7
refactor(channel): centralize retry around explicit send failures
...
Make channel delivery failures raise consistently so retry policy lives in ChannelManager rather than being split across individual channels. Tighten Telegram stream finalization, clarify sendMaxRetries semantics, and align the docs with the behavior the system actually guarantees.
2026-03-25 22:37:11 +08:00
Xubin Ren and Xubin Ren
dbdb43faff
feat: channel plugin architecture with decoupled configs
...
- Add plugin discovery via Python entry_points (group: nanobot.channels)
- Move 11 channel Config classes from schema.py into their own channel modules
- ChannelsConfig now only keeps send_progress + send_tool_hints (extra=allow)
- Each built-in channel parses dict->Pydantic in __init__, zero internal changes
- All channels implement default_config() for onboard auto-population
- nanobot onboard injects defaults for all discovered channels (built-in + plugins)
- Add nanobot plugins list CLI command
- Add Channel Plugin Guide (docs/CHANNEL_PLUGIN_GUIDE.md)
- Fully backward compatible: existing config.json and sessions work as-is
- 340 tests pass, zero regressions
2026-03-14 16:13:38 +08:00
Re-bin
254cfd48ba
refactor: auto-discover channels via pkgutil, eliminate hardcoded registry
2026-03-11 14:23:19 +00:00
Re-bin
20dfaa5d34
refactor: unify instance path resolution and preserve workspace override
2026-03-08 02:58:25 +00:00
Nikolas de Hor
53b83a38e2
fix: use loguru native formatting to prevent KeyError on messages containing curly braces
...
Closes #857
2026-02-19 17:19:36 -03:00
Re-bin
ba2bdb080d
refactor: streamline mochat channel
2026-02-10 07:06:04 +00:00
tjb-tech
3779225917
refactor(channels): rename moltchat integration to mochat
2026-02-09 08:50:17 +00:00