github HKUDS/nanobot v0.1.4

17 hours ago

🎉 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

Full Changelog: v0.1.3.post7...v0.1.4

Don't miss a new nanobot release

NewReleases is sending notifications on new releases.