nanobot:超轻量级个人 AI 助手,让智能触手可及
一个比 OpenClaw 少 99% 代码量的 AI 助手,2 分钟完成部署,即刻拥有专属智能助手。
引言:从 OpenClaw 到 nanobot
在 AI Agent 领域,OpenClaw 是一个备受关注的框架。但你是否想过:一个个人 AI 助手,真的需要成千上万行代码吗?
nanobot 的答案是:不需要。
这是一个受 OpenClaw 启发的超轻量级个人 AI 助手实现,代码量仅为 OpenClaw 的 1%。它保留了 Agent 的核心能力,却将体积压缩到极致。启动只需毫秒级,资源占用几乎可以忽略不计。
核心特性:极简而不简单
🪶 超轻量级
nanobot 的代码精简到极致。通过重构和优化,它实现了 OpenClaw 99% 的功能,却只保留了必要的核心逻辑。
# 查看实际代码行数cd nanobotbash core_agent_lines.sh
运行后你会发现:不到 500 行代码,却完成了 Agent 的全部核心功能。
⚡️ 极速启动
传统 AI Agent 部署可能需要数分钟,而 nanobot:
-
启动时间:毫秒级
-
内存占用:< 100MB
-
磁盘占用:< 50MB
📦 一键部署
无需复杂的环境配置,三步即可拥有一个可用的 AI 助手。
架构设计:清晰的模块化
nanobot 的架构设计体现了简洁即美的原则。
nanobot/├── agent/ # 🧠 核心 Agent 逻辑│ ├── loop.py # Agent 循环(LLM ↔ 工具执行)│ ├── context.py # 提示词构建器│ ├── memory.py # 持久化记忆│ ├── skills.py # 技能加载器│ └── tools/ # 内置工具├── skills/ # 🎯 预置技能├── channels/ # 📱 聊天渠道集成├── providers/ # 🤖 LLM 提供商├── session/ # 💬 对话会话└── config/ # ⚙️ 配置管理
核心模块解析
1. Agent Loop(循环逻辑)
Agent 的核心是工具调用循环:
用户消息 → LLM 分析 → 选择工具 → 执行工具 → 返回结果 → 更新上下文
nanobot 的 loop.py 实现了这个循环,简洁高效。
2. Memory System(记忆系统)
记忆是 Agent 的灵魂。nanobot 的记忆系统:
-
持久化存储:基于文件系统
-
自动更新:每次交互后自动更新
-
上下文管理:智能管理对话历史
3. Skills System(技能系统)
技能是 Agent 的能力扩展点。nanobot 支持从 ClawHub 安装公开技能:
# 搜索并安装技能nanobot skill search <关键词>nanobot skill install <技能名>
4. Providers Registry(提供商注册表)
LLM 提供商通过注册表模式管理,新增提供商只需 2 步:
# Step 1: 添加 ProviderSpecProviderSpec(name="myprovider",keywords=("myprovider", "mymodel"),display_name="My Provider",)# Step 2: 添加配置字段classProvidersConfig(BaseModel):myprovider: ProviderConfig=ProviderConfig()
快速开始:2 分钟部署
前置要求
# Python ≥ 3.11python --version# pip 或 uvpip --version
安装方式
方式 1:使用 pip(稳定)
pip install nanobot-ai
方式 2:使用 uv(快速)
uv tool install nanobot-ai
方式 3:从源码安装(最新特性)
git clone https://github.com/HKUDS/nanobot.gitcd nanobotpip install -e .
初始化配置
nanobot onboard
这会自动创建配置文件和 workspace。
配置 API Key
编辑 ~/.nanobot/config.json:
{"providers": {"openrouter": {"apiKey": "sk-or-v1-xxx" } },"agents": {"defaults": {"model": "anthropic/claude-opus-4-5","provider": "openrouter" } }}
推荐使用 OpenRouter:访问 https://openrouter.ai/keys 获取免费 API Key
启动 Agent
nanobot agent
完成! 你现在拥有一个可用的 AI 助手了。
多渠道集成:连接你的世界
nanobot 支持连接到主流聊天平台,实现统一入口,多端接入。
支持的渠道
| 平台 | 特点 | 配置难度 |
|---|---|---|
| Telegram | 推荐,稳定可靠 | ⭐⭐ |
| Discord | 社区友好,支持群组 | ⭐⭐⭐ |
| 全球通用,媒体支持 | ⭐⭐⭐⭐ | |
| Feishu | 飞书集成,国内首选 | ⭐⭐⭐ |
| Mochat | 超链接,自动配置 | ⭐ |
| DingTalk | 钉钉集成,企业常用 | ⭐⭐⭐ |
| Slack | 企业协作平台 | ⭐⭐⭐ |
| IMAP/SMTP 邮件助手 | ⭐⭐⭐⭐ | |
| 国内主流平台 | ⭐⭐⭐⭐ | |
| Wecom | 企业微信集成 | ⭐⭐⭐ |
示例:Telegram 集成
1. 创建 Bot
-
打开 Telegram,搜索
@BotFather -
发送
/newbot,按照提示创建 -
复制 Bot Token
2. 配置
{"channels": {"telegram": {"enabled": true,"token": "YOUR_BOT_TOKEN","allowFrom": ["YOUR_USER_ID"] } }}
3. 启动 Gateway
nanobot gateway
4. 发送消息
向 Bot 发送消息,即刻获得响应。
💡 提示:可以在 Telegram 设置中查看你的 User ID(如
@yourUserId),配置时去掉@符号。
LLM 提供商:灵活选择
nanobot 支持 20+ LLM 提供商,满足不同场景需求。
推荐组合
场景 1:全球访问(推荐)
{"providers": {"openrouter": {"apiKey": "sk-or-v1-xxx" } },"agents": {"defaults": {"model": "anthropic/claude-opus-4-5" } }}
优点:访问所有模型,无需单独注册
场景 2:国内优化
{"providers": {"deepseek": {"apiKey": "xxx" },"moonshot": {"apiKey": "xxx" },"zhipu": {"apiKey": "xxx" } },"agents": {"defaults": {"provider": "deepseek","model": "deepseek-chat" } }}
优点:国内访问稳定,成本低
场景 3:本地部署(隐私优先)
{"providers": {"ollama": {"apiBase": "http://localhost:11434" },"vllm": {"apiKey": "dummy","apiBase": "http://localhost:8000/v1" } },"agents": {"defaults": {"provider": "ollama","model": "llama3.2" } }}
优点:完全本地运行,数据隐私
支持的提供商
| 提供商 | 用途 | 获取方式 |
|---|---|---|
| OpenRouter | 全局访问,推荐 | openrouter.ai |
| Anthropic | Claude 直接访问 | console.anthropic.com |
| Azure OpenAI | 企业级 Azure 部署 | portal.azure.com |
| OpenAI | GPT 直接访问 | platform.openai.com |
| DeepSeek | DeepSeek 模型 | platform.deepseek.com |
| Groq | 超快推理 + Whisper | console.groq.com |
| Gemini | Google 模型 | aistudio.google.com |
| MiniMax | MiniMax 模型 | platform.minimaxi.com |
| Ollama | 本地 Llama 模型 | ollama.com |
| vLLM | 自建 OpenAI 兼容服务 | vllm.ai |
高级特性:不止于聊天
1. Web 搜索
配置搜索提供商,让 Agent 能够搜索互联网:
{"tools": {"web": {"search": {"provider": "brave","apiKey": "BSA..." } } }}
支持 Brave、Tavily、Jina、SearXNG、DuckDuckGo。
💡 提示:使用代理可绕过网络限制
{ "tools": { "web": { "proxy": "http://127.0.0.1:7890" } } }
2. MCP(Model Context Protocol)
连接外部工具服务器,扩展 Agent 能力:
{"tools": {"mcpServers": {"filesystem": {"command": "npx","args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"] } } }}
支持 Stdio 和 HTTP 两种传输模式。
3. 定时任务(Cron)
设置定时提醒,Agent 会定期检查并执行:
nanobot onboard
编辑 ~/.nanobot/workspace/HEARTBEAT.md:
## Periodic Tasks- [ ] 每天早上 9:00 发送天气提醒- [ ] 每小时检查一次邮件
Gateway 每 30 分钟唤醒一次,自动执行任务。
4. 多实例部署
同时运行多个 nanobot 实例,服务于不同渠道:
# Telegram 实例nanobot gateway --config ~/.nanobot-telegram/config.json# Discord 实例nanobot gateway --config ~/.nanobot-discord/config.json# Feishu 实例nanobot gateway --config ~/.nanobot-feishu/config.json --port18792
每个实例独立配置、独立内存、独立会话。
技术亮点:简洁设计的力量
1. Provider Registry 模式
nanobot 使用注册表模式管理 LLM 提供商,新增提供商只需 2 步:
# Step 1: 添加 ProviderSpecProviderSpec(name="myprovider",keywords=("myprovider", "mymodel"),litellm_prefix="myprovider",skip_prefixes=("myprovider/",),)# Step 2: 添加配置字段classProvidersConfig(BaseModel):myprovider: ProviderConfig=ProviderConfig()
优势:
-
无需修改核心代码
-
自动处理模型命名
-
自动设置环境变量
2. 工具调用优化
Agent 的工具调用采用智能缓存:
# 缓存提示词,减少重复计算prompt_cache= {}defbuild_prompt(context):key=hash(str(context))ifkeynotinprompt_cache:prompt_cache[key] =build(context)returnprompt_cache[key]
优势:
-
减少 API 调用
-
降低延迟
-
节省成本
3. 安全沙箱
生产环境启用沙箱模式:
{"tools": {"restrictToWorkspace": true }}
安全特性:
-
限制工具访问范围
-
防止路径遍历
-
保护敏感文件
使用场景:Agent 的无限可能
场景 1:24/7 市场分析
连接到股票、加密货币等数据源,实时分析市场趋势。
{"tools": {"web": {"search": {"provider": "brave","apiKey": "BSA..." } } }}
场景 2:全栈软件工程师
代码生成、调试、部署,一站式开发助手。
场景 3:智能日常管理
日程安排、邮件处理、任务提醒,让 Agent 成为你的私人秘书。
场景 4:个人知识助手
学习资料整理、知识库构建、学习进度跟踪。
部署方式:灵活选择
1. 本地部署(推荐)
pip install nanobot-ainanobot onboardnanobot gateway
优点:简单、快速、可控
2. Docker 部署
docker compose run --rm nanobot-cli onboardvim ~/.nanobot/config.jsondocker compose up -d nanobot-gateway
优点:容器化、易部署、可扩展
3. Linux 服务(后台运行)
[Unit]Description=Nanobot GatewayAfter=network.target[Service]Type=simpleExecStart=%h/.local/bin/nanobot gatewayRestart=alwaysRestartSec=10[Install]WantedBy=default.target
systemctl --user enable --now nanobot-gateway
优点:自动启动、崩溃恢复
常见问题
Q1: 如何获取 API Key?
OpenRouter(推荐):
-
访问 https://openrouter.ai/keys
-
注册/登录
-
获取 API Key
其他提供商:访问对应平台官网获取
Q2: 如何连接多个渠道?
在 config.json 中配置多个渠道:
{"channels": {"telegram": {"enabled": true,"token": "xxx" },"discord": {"enabled": true,"token": "xxx" } }}
然后启动 Gateway:
nanobot gateway
Agent 会同时响应所有渠道的消息。
Q3: 如何更换模型?
修改 config.json:
{"agents": {"defaults": {"model": "anthropic/claude-sonnet-4-6" } }}
重启 Gateway 生效。
Q4: 如何查看日志?
# 查看实时日志journalctl --user-u nanobot-gateway -f# 或在 CLI 模式下nanobot agent --logs
Q5: 如何备份配置?
# 备份配置和 workspacetar -czf nanobot-backup.tar.gz ~/.nanobot/# 恢复tar -xzf nanobot-backup.tar.gz -C ~/
总结:极简主义的胜利
nanobot 的成功,在于它证明了:
复杂不等于强大,简洁不等于简单。
-
代码精简:500 行代码,完成 99% 的 Agent 功能
-
部署简单:3 步完成部署,2 分钟拥有助手
-
扩展灵活:注册表模式,轻松添加新功能
-
生态丰富:20+ LLM 提供商,10+ 聊天渠道
无论是个人使用、团队协作,还是企业部署,nanobot 都能提供开箱即用的解决方案。
开源项目
-
GitHub: https://github.com/HKUDS/nanobot
-
文档: https://github.com/HKUDS/nanobot/blob/main/README.md
-
讨论区: https://github.com/HKUDS/nanobot/discussions
致谢
感谢 OpenClaw 项目提供的灵感。
感谢所有贡献者(Contributors)的努力。
nanobot — 让 AI 助手触手可及,让智能不再复杂。
本文基于 nanobot v0.1.4.post4 版本编写
最后更新:2026-03-13
夜雨聆风