用 nanobot 把 AI 养成常驻「数字同事」:港大开源本地 Agent 运行时
很多 AI 助手「关掉网页就失忆」,而 2026 年 7 月火起来的 nanobot(港大 HKUDS 团队开源,核心仅约 4000 行 Python、MIT 协议、GitHub 4.5 万+ Star)走的是另一条路:它是一个常驻你电脑或廉价 VPS 上的「AI Agent 运行时」——能读你的工作区、执行命令、调工具、接 Telegram / 飞书 / 钉钉,还带跨会话记忆。本教程零基础上手,5 分钟跑通第一个会「长期待命」的数字同事。
先搞懂:nanobot 是什么,和聊天机器人差在哪?
用一句话理解:聊天机器人是你打开才在的「临时工」,nanobot 是 24 小时待命的「数字同事」。关键差别在三点:
| 能力 | 普通聊天框 | nanobot 运行时 |
|---|---|---|
| 运行方式 | 打开网页才在 | 后台常驻进程,随时响应 |
| 记忆 | 关掉就忘 | 跨会话持久记忆(Dream 双层整理) |
| 触达方式 | 只能在网页里 | Telegram / 飞书 / 钉钉 / 邮件 / CLI 都能找它 |
| 干活 | 只给建议 | 读文件、跑命令、调工具、推进多步目标 |
它和 OpenClaw / Hermes 是什么关系?三者都是「长驻个人 Agent」,但 nanobot 主打极简可读——核心 4000 行代码一个下午就能读完、能 fork。想搞懂原理或二次开发,nanobot 是最友好的起点。
Step 1:准备环境与大模型 Key
nanobot 支持 20+ 模型提供商(OpenRouter、Anthropic、智谱、DeepSeek、火山引擎……),也支持本地 vLLM。新手推荐用有免费额度或便宜的云端模型:
准备项:
· Python 3.10+(Windows / macOS / Linux 都行)
· 一个大模型 API Key(任选其一):
- DeepSeek → deepseek.com 注册,充值几元即可
- 智谱 GLM → open.bigmodel.cn,有免费额度
- OpenRouter → 一个 Key 能切几十家模型
拿到的 Key 形如 sk-xxxx,复制保存好,别泄露。
Step 2:安装 nanobot
三种装法任选,个人用户推荐 PyPI 稳定版:
# 方式 1(推荐,稳定版)
pip install nanobot-ai
# 方式 2(uv,快且干净)
uv tool install nanobot-ai
# 方式 3(源码,含最新功能)
git clone https://github.com/HKUDS/nanobot.git
cd nanobot && pip install -e .
# 验证
nanobot --version
装不上?八成是 Python 版本太低或没装 pip。先 python --version 确认 ≥3.10;Windows 用户务必用 PowerShell 或终端,别在 CMD 里折腾。
Step 3:初始化配置并填 Key
运行 onboard 会自动在 ~/.nanobot 生成配置文件和工作区,然后编辑它填入 Key:
# 1) 初始化(生成 ~/.nanobot/config.json)
nanobot onboard
# 2) 编辑配置文件,填入 Key 与默认模型
{
"providers": {
"deepseek": { "apiKey": "sk-你的DeepSeekKey" }
},
"agents": {
"defaults": { "model": "deepseek/deepseek-chat", "provider": "deepseek" }
}
}
providers 里可以配多家,agents.defaults 决定默认用谁。想随时换模型,改这一行就行,不用动别的地方。Step 4:启动,和你的数字同事说第一句话
不接任何聊天软件也能用,先在终端里验证它活了:
# 交互式聊天
nanobot agent
# 或单次问答
nanobot agent -m "用三句话介绍你自己,并列出你能帮我省掉哪些重复活"
它现在就能干什么?读你工作区文件、执行你允许的命令、用内置技能(GitHub、天气等)、记住对话。但还只在终端里——下一步让它「常驻」到你的聊天软件。
Step 5:接上 Telegram / 飞书,让它 24 小时待命
以 Telegram 为例(3 步,无需公网 IP):在 config.json 的 channels 里加上 token 和允许的用户,再启动网关。
# config.json 追加
"channels": {
"telegram": {
"enabled": true,
"token": "你的BotFather机器人Token",
"allowFrom": ["你的Telegram用户ID"]
}
}
# 启动网关(监听消息并自动回复)
nanobot gateway
channels.feishu 或 channels.dingtalk,运行 nanobot gateway 即可。手机上发句话,它就在干活。Step 6:让记忆生效 + 设定时任务,真正「养成」
nanobot 的「越用越懂你」来自两层记忆(Dream 整理)和定时任务(Heartbeat)。配置好后,它会自动把重要事实写进 MEMORY.md 并在后台常驻:
# 1) 用 systemd 让它在服务器上 7x24 运行(Linux)
# ~/.config/systemd/user/nanobot-gateway.service 写入启动命令后:
systemctl --user enable --now nanobot-gateway
loginctl enable-linger $USER # 退出登录也继续跑
# 2) 设定时任务:编辑 workspace/HEARTBEAT.md
# 网关每 30 分钟执行一次,把结果推到最近活跃的聊天渠道
# 例:每天早上 9 点总结我的 GitHub 通知 + 待办
三个新手容易踩的坑:① 不用进程管理器(systemd / nohup)跑,一关终端就掉线;② 忘配 allowFrom,谁都能调你的 Agent(生产务必指定用户 ID);③ 记忆目录无限增长,给 Dream 设合理的 interval_minutes 和 max_facts 上限。
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| 启动报找不到命令 | pip 装到了别的 Python,用 python -m nanobot 或检查 PATH |
| Telegram 不回消息 | token 错 / allowFrom 没填自己 ID / 网关没起 |
| 回答「无法连接模型」 | Step 3 的 Key 没配好或账户没额度 |
| 想完全离线 | 用 vLLM 起本地模型,provider 指向本地地址 |