🎉 Another big release from the 🐈 nanobot community — thanks to all contributors, especially our 18 new ones!
This release adds MCP tool server support, real-time progress streaming so users actually see what the agent is doing, and a wave of new providers (Custom OpenAI-compatible, GitHub Copilot, OpenAI Codex, SiliconFlow). Channels got a lot of love too — Telegram now handles media uploads and long messages, Slack got proper mrkdwn and thread replies, Feishu supports rich text. We also added Docker Compose for one-command deployment, scoped sessions to workspace, and switched to json_repair for bulletproof LLM response parsing. Less silence, more providers, better channels — that's the nanobot way.
Highlights
- MCP Support — Connect external tool servers via Model Context Protocol (#554)
- Progress Streaming — Agent shows what it's doing during multi-step tool execution (#802)
- New Providers — Custom OpenAI-compatible endpoints, GitHub Copilot, OpenAI Codex, SiliconFlow (#786, #720, #312, #151, #630)
- Channel Improvements — Telegram media uploads & message splitting, Slack thread replies & mrkdwn, Feishu rich text (#747, #694, #717, #784, #629, #593)
- Docker Compose — One-command deployment (#765)
- Workspace-scoped Sessions — Sessions now live inside workspace with legacy migration (#713)
- Robust JSON Parsing — json_repair for handling malformed LLM responses (#664)
What's Changed
- 优化飞书卡片信息中的markdown标题显示 by @C-Li in #593
- feat: add custom provider and non-destructive onboard by @Re-bin in #604
- Upgrade Onboarding feature by @lukemilby in #583
- fix: bug #370, support temperature configuration by @wymcmh in #560
- fix: Cache expiration issue related fixes by @chengyongru in #590
- 增加支持飞书富文本内容接收。Add support for receiving Feishu rich text content. by @C-Li in #629
- fix(providers): clamp max_tokens to >= 1 before calling LiteLLM by @themavik in #617
- 修复corn忽略时区设置的问题,并在缺省时自动使用本机时区 by @C-Li in #625
- feat(tools): add mcp support by @SergioSV96 in #554
- fix: use json_repair for robust LLM response parsing by @Re-bin in #664
- Add OpenAI Codex OAuth login and provider support by @pinhua33 in #151
- Fix/Convert Markdown to Slack's mrkdwn formatting by @alekwo in #704
- fix(telegram): Slash commands failing access check due to missing username in sender_id by @TomLisankie in #701
- fix(telegram): split long messages to avoid Message is too long error by @zhouzhuojie in #694
- slack: use slackify-markdown for proper mrkdwn formatting by @xek in #717
- feat: add ClawHub skill by @Re-bin in #758
- fix(cron): preserve timezone for cron schedules by @jcpoyser in #744
- feat: Added GitHub Copilot as Provider by @DaryeDev in #720
- fix: avoid sending empty content entries in assistant messages by @zhuhui-in in #748
- feat: Allow Agent to upload media files (voice, pictures, documents) to Telegram Channel by @DaryeDev in #747
- fix(config): mcpServers env variables should not be converted to snake case by @fyhertz in #766
- Enable Cron Tool on CLI Agent. by @DaryeDev in #746
- feat: add Docker Compose support for easy deployment by @srajasimman in #765
- feat: add custom provider with direct openai-compatible support by @Re-bin in #786
- slack: Added replyInThread logic and custom react emoji in config by @hyudryu in #784
- [ADD] GitHub copilot support by @jeroenev in #312
- feat: add SiliconFlow provider support by @mtics in #630
- Scope Session Storage to Workspace (with legacy fallback) by @kiplangatkorir in #713
- feat: stream intermediate progress to user during tool execution by @Re-bin in #802
New Contributors
- @C-Li made their first contribution in #593
- @lukemilby made their first contribution in #583
- @wymcmh made their first contribution in #560
- @chengyongru made their first contribution in #590
- @themavik made their first contribution in #617
- @pinhua33 made their first contribution in #151
- @alekwo made their first contribution in #704
- @TomLisankie made their first contribution in #701
- @zhouzhuojie made their first contribution in #694
- @xek made their first contribution in #717
- @jcpoyser made their first contribution in #744
- @DaryeDev made their first contribution in #720
- @zhuhui-in made their first contribution in #748
- @fyhertz made their first contribution in #766
- @srajasimman made their first contribution in #765
- @hyudryu made their first contribution in #784
- @jeroenev made their first contribution in #312
- @mtics made their first contribution in #630
Full Changelog: v0.1.3.post7...v0.1.4