nanobot:超轻量、可自托管的个人 AI 智能体框架,浏览器、终端和聊天软件共用一个网关
HKUDS/nanobot 是用 Python 写的超轻量开源个人 AI 智能体框架,可在浏览器、终端或聊天软件里处理文件、记住偏好和安排定时任务。它自带 WebUI 和原生终端界面,接入 Telegram、Discord、Slack、飞书、微信等渠道,支持 MCP、定时任务、多智能体委派,并提供 Python SDK 与兼容 OpenAI 的接口。项目采用 MIT 许可,约有 4.9 万星标;它不提供模型账号,需要自己接入模型服务或本地模型。
HKUDS/nanobot 的 README 开头一句话说得很清楚:它是一个用 Python 写的超轻量、开源、可自托管的个人 AI 智能体框架,可以在浏览器、终端或聊天软件里使用,让智能体处理文件、记住偏好、安排定时任务。它需要你自己接入受支持的模型服务或本地模型服务器,nanobot 本身不提供模型。截至 2026 年 10 月 13 日,仓库约有 48,978 个星标、8,626 个派生,MIT 许可,用 Python 编写,创建于 2026 年 2 月 1 日,最近一次推送在 10 月 12 日。项目在 README 里列出的“为什么选择 nanobot”有五点:持久的工作流、聊天软件原生的触达、模型自由、小而可读的核心,以及“自己掌握整套技术栈”。 能力清单相当完整。它能接入 Telegram、Discord、Slack、微信、电子邮件、Mattermost、Linear 等渠道;用内置的文件工具读取 PDF、Word(.docx)、Excel(.xlsx)和 PowerPoint(.pptx),比如总结一份报告;使用命令行、网页搜索与抓取、MCP 集成、定时任务、图像生成和多智能体委派;通过名为 Dream 的机制保留会话历史和长期记忆;运行长周期目标和计划自动化;提供 Python SDK 和兼容 OpenAI 的 API;也可以作为长期运行的本地或服务器网关部署。最新版本是 v0.3.5,更新说明称它把工作台带到了终端,让对话更容易在浏览器、终端和聊天软件之间继续,可以在 WebUI 里并排排列最多四个对话,并查看每一轮的上下文使用和压缩进度。
安装路径很清楚。需要 Python 3.11 或更新版本。推荐用安装脚本自动设置:Linux 和 macOS 上用 curl 下载 install.sh,Windows 上用 PowerShell 的 install.ps1,脚本会在激活的虚拟环境、uv、pipx 或 ~/.nanobot/venv 里安装或升级 nanobot-ai,本地桌面会直接打开 WebUI,SSH 和无头环境则进入终端向导,还支持 --dry-run 先预览计划。熟悉工具链的人可以 uv tool install nanobot-ai 或 pip 安装。随后运行 nanobot webui,在设置里选择模型、保存凭据,发送一句“Hello!”验证连接,再选一个练习文件夹和受限访问模式,让它读 notes.txt 并写出 summary.md,用来检查文件权限是否按预期工作。平台预编译包同时包含 WebUI 和原生终端界面,覆盖 macOS 13 以上、glibc 2.17 以上的 Linux(ARM64 与 x64)和 Windows x64,x64 运行时需要 SSE4.2;想用最新特性则从源码安装,需要 Git 和 Bun。
架构上的取舍是它所说的“小核心”。Python 网关拥有智能体的执行、会话、工具、记忆和安全策略,WebUI、终端界面和聊天软件共享同一个运行时;核心的智能体循环负责构建上下文、调用模型、执行请求的工具并返回结果,记忆、技能、渠道和 MCP 集成都是在这个循环上扩展。Python SDK 把运行时嵌入你自己的应用进程,而兼容 OpenAI 的 API 会启动一个独立的 HTTP 服务,提供 /v1/chat/completions,每个请求只含一条用户消息,历史由服务器管理,模型由配置决定。WebUI 允许为不同任务保留独立的“话题”,也有不写入历史和长期记忆的临时对话;但 README 同时提醒,话题只隔离会话历史,项目文件夹只决定文件操作发生在哪里,二者都不会产生独立的长期记忆,一个实例的智能体档案、记忆和技能会在所有项目间共享,如果客户数据或偏好必须隔离,应该使用多个独立实例。
对想自托管的人,安全提醒值得放在前面。README 明确写道:WebUI 的访问权限等同于管理同一个智能体实例,只应分享给可信的操作者;接入聊天软件前,要分别检查平台的私聊配对、白名单和群组访问策略,因为批准一个私聊发送者并不一定会限制所有平台的群组访问;定时任务需要网关持续运行、主机不休眠,网关重启后错过的时间点不会补发。另外,临时对话的请求仍然会发给所配置的模型服务,工具创建的文件在对话关闭后依然保留,所以“临时”不等于“不外发”。 我们的判断是,nanobot 的价值在于它把“个人智能体”做成了一个可读的小系统,而不是一个必须依赖某家云的产品:你能看到核心循环,决定接哪个模型,决定数据放在哪里。需要保持清醒的地方也很明确。第一,星标和更新频率说明社区活跃,但并不等于稳定,它的 README 自己区分了稳定版和当前源码,日常使用应选稳定版。第二,智能体拥有文件、命令行和聊天渠道的权限,权限设置不当时风险与能力同样大,建议从受限访问模式和单个练习文件夹开始。第三,模型费用或本地硬件要求取决于你的选择,nanobot 不会替你解决。建议先在隔离的机器或容器里部署,只接入一个自己的聊天账号并设置白名单,用一周的真实任务检验它是否值得长期运行。
Sources
FAQ
nanobot 是什么,能做什么?
它是用 Python 写的超轻量、可自托管的个人 AI 智能体框架。可以在浏览器、终端或聊天软件里让它处理文件(包括 PDF、Word、Excel、PowerPoint)、使用命令行和网页搜索、接入 MCP、安排定时任务、委派多个智能体,并通过名为 Dream 的机制保留会话历史和长期记忆。
怎么安装,需要什么条件?
需要 Python 3.11 或更新版本,并自备模型服务或本地模型服务器,nanobot 不提供模型账号。官方推荐用安装脚本,也可以 uv tool install nanobot-ai 或 pip 安装;之后运行 nanobot webui 打开浏览器界面,或用 nanobot onboard --wizard 在终端里完成设置。
把它放到服务器上要注意什么?
WebUI 的访问权限等同于管理这个智能体实例,只应分享给可信的操作者。接入聊天软件前,要分别检查各平台的私聊配对、白名单和群组访问策略,批准一个私聊发送者并不一定限制群组访问。定时任务需要网关保持运行、主机不休眠,网关重启后错过的时间点不会补发。