NanoBot
ai-tools
香港大學資料科學實驗室(HKUDS)開源的超輕量 AI 代理框架,擁有同類產品中最廣泛的多頻道覆蓋與精巧的雙層記憶系統。
最適合誰
需要讓單一 AI 代理同時活在多個通訊平台上的開發者,特別是需要覆蓋微信、飛書、釘釘、QQ 等中國主流平台,同時也要顧及 Telegram、Slack、Discord 的場景。對於正在研究長時間運行個人 AI 助理與持久化記憶系統的技術人員,NanoBot 的架構也有很高的參考價值。
我實際怎麼用
我把 NanoBot 當作設計參考來追蹤,而非直接作為生產依賴。最值得研究的是它的雙層記憶系統:當上下文視窗接近滿載時,Consolidator 會把舊對話壓縮成 append-only 的 JSONL 檔案;接著由排程執行的 Dream 程序,定期將這些原始歷史蒸餾進結構化的長期記憶檔案(SOUL.md、USER.md、MEMORY.md),並透過 Git 進行版本控制。這套架構不依賴向量資料庫,在輕量與持久化之間取得了不錯的平衡,對於任何需要跨對話記憶能力的代理系統都有參考意義。
飛書頻道的實作(75.9KB,最大的單一頻道模組)也是很扎實的參考,特別是串流、CardKit、討論串等飛書特有功能的整合方式。
真正強的地方
多頻道覆蓋,同類產品無人能及。 單一框架內整合 15+ 頻道:微信、飛書、釘釘、QQ、Telegram、Slack、Discord、Matrix(支援端對端加密)、MS Teams、WhatsApp(透過 Node.js 橋接)、Email、WebSocket、CLI。跨頻道統一會話管理讓同一個代理實例能同時服務所有頻道並共享上下文。
雙層記憶系統,不需要向量資料庫也能運作。 Consolidator 在上下文視窗壓力時把舊對話段落壓縮成 JSONL。Dream 層以排程方式運行(預設每 2 小時),對長期記憶檔案進行手術式更新。記憶變更透過 Git 版控,可用 /dream-restore 回溯到任意歷史狀態。
廣泛的 LLM 提供者生態。 支援 20+ 提供者,包含原生 Anthropic 和 OpenAI SDK,加上 OpenAI 相容層覆蓋 DeepSeek、Qwen、Kimi、VolcEngine、Ollama、vLLM 等。新增提供者只需 2 個步驟。自動備援機制在主模型失敗時切換備援模型,提升長時間運行的穩定性。
成熟的 MCP 整合。 支援多個 MCP 伺服器同時連線、Resources 和 Prompts 暴露為工具、SSE 傳輸、自訂驗證標頭。MCP 支援完整度高於多數同級框架。
完全開源(MIT 授權)。 沒有廠商鎖定風險。核心代理迴圈的可讀性足以讓你 fork 後自行修改。
失敗模式與不該用的情境
Alpha 狀態,API 不穩定。 目前版本 v0.1.5,PyPI 上標示 Development Status: Alpha。幾乎每日都有 commit,API 介面隨時可能出現破壞性變更。
單一主要維護者。 主要由一位研究人員(Xubin Ren)維護。HKUDS 提供學術背書但非商業等級支援。如果維護者停止投入,專案可能快速停擺。
macOS 沒有核心級沙盒。 bwrap 沙盒依賴 Linux 核心命名空間,macOS 和 Windows 完全不支援。在 Mac 上運行時,代理執行的命令缺乏核心級隔離保護。
API Key 明文儲存。 金鑰以明文存於 ~/.nanobot/config.json,沒有 Keychain 整合。
沒有速率限制和會話過期機制。 部署為多頻道服務時,這些基本防護需要自己補上。
依賴數量龐大。 pyproject.toml 列出 40+ 直接依賴,在複雜的 Python 環境中版本衝突風險不低。
價格、上手門檻與風險
價格: 免費開源(MIT 授權)。你只需要支付所選 LLM 提供者的 API 呼叫費用。
上手門檻: 進階。需要 Python 3.11+、熟悉 YAML/JSON 設定、理解代理架構概念。多頻道部署會增加額外複雜度(建議使用 Docker)。WebUI 尚未正式打包,需從原始碼建構。
風險: 作為生產用途風險高,因為 Alpha 狀態加上單一維護者。作為研究和參考用途風險低。MIT 授權消除了廠商鎖定風險。
結論:觀察(Watch)
NanoBot 做到了其他開源代理框架做不到的事,特別是中國平台的覆蓋廣度和經過深思的雙層記憶設計。但 Alpha 穩定性、單一維護者、macOS 缺乏沙盒這三個問題讓它只適合放在觀察清單。光是記憶系統的架構就值得持續追蹤。等它進入 v0.2.x+ 且有更多貢獻者加入時再重新評估。
來源
- GitHub: https://github.com/HKUDS/nanobot
- 官方文件: https://nanobot.wiki/docs/latest/getting-started/nanobot-overview
- PyPI: https://pypi.org/project/nanobot-ai/
- 授權: MIT
- 維護者: HKUDS(香港大學資料科學實驗室)/ Xubin Ren