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 安裝。 |
快速入門(簡要執行步驟)
- 安裝 – 使用
uv tool install nanobot-ai、pip install nanobot-ai,或執行一鍵安裝腳本。 - 啟動 UI – 執行
nanobot webui,開啟http://127.0.0.1:8765。 - 設定模型 – 設定 → 模型 → 選擇提供者並輸入 API 金鑰。
- 開始對話 – 建立一個主題,輸入訊息,觀察代理呼叫工具、編輯檔案或排程任務。
- 無頭運行 – 使用
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 程式碼庫。
相關
- 專案
- 專案
- 專案
- 專案
- 專案