HKUDS/nanobot

Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps

nanobot – 輕量級、自架設的個人 AI 代理框架

是什麼 – nanobot 是一個開源的 Python 庫,讓您能在自己的機器(或您控制的伺服器)上運行個人 AI 助手。它內建瀏覽器為基礎的 WebUI、原生終端 UI,以及多種聊天平台(Telegram、Discord、Slack、WeChat、電子郵件等)的整合。核心部分刻意設計得小巧且易讀,但支援強大的功能,如工具使用、長期記憶、定時自動化、多代理委派,以及 OpenAI 相容的 HTTP API。

為何重要 – 您完全掌控整個系統:可自由選擇 LLM 提供商(OpenAI、Anthropic、本地 Ollama/vLLM 等),可將代理持續運行作為背景網關,還可透過自訂工具或「技能」擴展執行環境。由於執行環境極小(僅數個 Python 模組),因此容易審計、修改,或嵌入其他專案。


核心功能

功能 工作方式
隨處運行 nanobot webui 啟動本地瀏覽器 UI;nanobot 啟動終端 UI;nanobot gateway 執行持續的背景服務。
聊天應用連接 內建 Telegram、Discord、Slack、WeChat、Mattermost、Linear、電子郵件及通用 Webhook 通道的適配器。
工具使用 代理可呼叫 shell、讀取/寫入檔案、執行網路搜尋/取得、生成影像、呼叫 MCP(微元件協定)服務,或啟動子代理。
記憶 會話歷史按主題保存;長期記憶由 Dream 儲存提供,重啟後仍持續保留。
自動化 可定義重複任務(類似 cron),即使未開啟 UI,網關也會執行。
OpenAI 相容 API 提供 /v1/chat/completions 風格的端點,其他程式可像與 OpenAI 通訊一樣與 nanobot 互動。
可擴展 SDK 提供 Python SDK,開發者可將代理嵌入自己的程式碼,或撰寫自訂技能/應用。
部署選項 一鍵式 Render 藍圖、Docker/Docker-Compose、systemd/LaunchAgent 服務,或手動 uv/pip 安裝。

快速入門(簡要執行步驟)

  1. 安裝 – 使用 uv tool install nanobot-ai、pip install nanobot-ai,或執行一鍵安裝腳本。
  2. 啟動 UI – 執行 nanobot webui,開啟 http://127.0.0.1:8765。
  3. 設定模型 – 設定 → 模型 → 選擇提供者並輸入 API 金鑰。
  4. 開始對話 – 建立一個主題,輸入訊息,觀察代理呼叫工具、編輯檔案或排程任務。
  5. 無頭運行 – 使用 nanobot gateway --background,關閉終端後代理仍持續運行;可透過 OpenAI 相容端點或聊天應用適配器進行互動。

典型使用情境

  • 個人生產力 – 讓代理起草郵件、整理任務或產生程式碼片段,工作內容儲存在持久化工作區中。
  • 開發者助手 – 在終端 UI 中讓代理編輯檔案、執行測試或直接取得文件。
  • 團隊機器人 – 將網關公開給 Slack/Discord,整個團隊可查詢相同的長期記憶與共享自動化。
  • 自動化中心 – 定期產生日報、周期性網路爬取,或無人介入的 CI 風格流程。
  • 實驗平台 – 在 OpenAI、Anthropic 或本地 LLM(Ollama、vLLM)之間切換,無需更動任何應用程式碼。

安裝與部署注意事項

  • 需要 Python ≥ 3.11。
  • 預先建構的 wheel 包含 WebUI(內建靜態資源)和適用於 macOS 13+、Linux glibc 2.17+、Windows x64(需 SSE4.2)的原生終端 UI。
  • 來源安裝時還需 Bun(用於重建 TUI 資源)。
  • 專案提供 Render.com 一鍵藍圖,輸入 Anthropic API 金鑰和私密令牌後,即可部署網關 + WebUI 為持續服務。
  • Docker 鏡像說明詳見 docs/deployment.md 文件;也可將網關作為 systemd 服務或 macOS LaunchAgent 執行。

文件與社群

  • 完整文件位於 nanobot.wiki(多語言)和倉儲的 docs/ 資料夾中。
  • 支援與討論可透過 Discord 伺服器、X(Twitter)帳號、WeChat/飛書連結取得。
  • 倉儲包含 CI 指示燈、測試套件與 MIT 授權,顯示這是一個活躍維護的開源專案。

總結

nanobot 提供一個緊湊、可擴展的個人 AI 代理執行環境,您可在本地或自架設環境中運行,支援豐富的 UI 選項、多通道聊天整合、工具使用、記憶與排程功能,全部基於清晰易讀的 Python 程式碼庫。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案