乐于分享
好东西不私藏

nanobot:超轻量级个人 AI 助手,让智能触手可及

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):myproviderProviderConfig=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 社区友好,支持群组 ⭐⭐⭐
WhatsApp 全球通用,媒体支持 ⭐⭐⭐⭐
Feishu 飞书集成,国内首选 ⭐⭐⭐
Mochat 超链接,自动配置
DingTalk 钉钉集成,企业常用 ⭐⭐⭐
Slack 企业协作平台 ⭐⭐⭐
Email IMAP/SMTP 邮件助手 ⭐⭐⭐⭐
QQ 国内主流平台 ⭐⭐⭐⭐
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):myproviderProviderConfig=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(推荐):

  1. 访问 https://openrouter.ai/keys

  2. 注册/登录

  3. 获取 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 都能提供开箱即用的解决方案。


开源项目

  • GitHubhttps://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

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » nanobot:超轻量级个人 AI 助手,让智能触手可及

猜你喜欢

  • 暂无文章