Nanobot 是一款轻量级的个人 AI 助手,是 OpenClaw 的替代方案。它比 OpenClaw 小 98%,但仍提供相同的核心代理功能。与 OpenClaw 一样,它可以在您的机器上运行,连接您常用的应用程序,而且由于体量小,您也能轻松检查其代码。
Nanobot 能连接您喜爱的闭源与开源模型,以运行本地编码代理。无论您通过 Telegram、WhatsApp,还是终端发送消息,代理都会在您的机器上执行命令进行响应,例如读取日志、运行脚本、搜索文件。
在本教程中,我将从零开始带您完成 Nanobot 的设置,并展示如何在几分钟内搭建一个功能完整的 AI 代理。同时,我还会介绍一些使用此类技术时需要注意的坑点。
什么是 Nanobot?
Nanobot 是 OpenClaw 的替代方案,已迅速走红,截至撰写时在 GitHub 上获得超过 21,000 颗星。与 OpenClaw 一样,它支持 Discord、Slack、Telegram 等主流消息平台。
就像 OpenClaw 代理一样,您的 Nanobot 代理也可以加入 Moltbook 上的社交“派对”,我们在 Moltbook 入门 教程中有示例。
Nanobot 关键能力
尽管体量小,Nanobot 仍覆盖强大代理所需的三项核心能力:
有状态记忆: Nanobot 会构建您的历史本地图谱。这意味着如果您今天在做一个 Python 数据分析项目,一周后它仍会记得。
模型无关: 您不被绑定到任何特定模型提供商。既可使用 OpenAI、Anthropic,也可使用在自有硬件上运行的本地模型。
即刻可用的界面: Nanobot 可在您喜爱的消息应用中使用,这意味着您可以继续沿用熟悉的界面。
运行 Nanobot 的先决条件
要跟随本教程,您需要准备以下内容:
Python 3.11 或更高版本 ,已安装在您的电脑(Mac、Windows 或 Linux)上。
API 密钥 ,来自 OpenRouter、OpenAI 或 Anthropic 等提供商,或通过 Ollama 设置本地模型。
Telegram 账号 (我将使用 Telegram 作为界面,因为最易上手)。
Nanobot 分步教程:构建一个“研究代理”
让我们构建一个驻留在您的 Telegram 中、可搜索网页并能记住您兴趣的代理。
步骤 1:安装 Nanobot
如今安装 Python 工具最干净的方式是使用 pip 或 uv,它们能与系统 Python 隔离。如果没有这些工具,使用标准 pip 也可以。
打开终端并运行:
pip install nanobot-ai
uv tool install nanobot-ai技术支持
安装完成后,您会看到类似下面的消息:
Successfully installed nanobot-0.4.1技术支持
步骤 2:获取您的接口令牌
设置界面:
打开 Telegram 并搜索 @BotFather
输入 /newbot 并按提示操作
复制从 BotFather 获得的令牌
接着获取您的用户 ID,以确保机器人只接受来自您的指令。在 Telegram 中搜索 @userinfobot 并点击开始。复制用户 ID。
步骤 3:初始化
运行 nanobot onboard 初始化您的机器人。您应当能看到类似下面的消息:
✓ Created config at /Users/derrickmwiti/.nanobot/config.json
✓ Created workspace at /Users/derrickmwiti/.nanobot/workspace
Created AGENTS.md
Created SOUL.md
Created USER .md
Created memory/MEMORY.md
Created memory/HISTORY.md
🐈 nanobot is ready!
Next steps:
1 . Add your API key to ~/.nanobot/config.json
Get one at: https://openrouter.ai/keys
2 . Chat: nanobot agent -m "Hello!"
Want Telegram/WhatsApp? See: https://github.com/HKUDS/nanobot技术支持
步骤 4:配置
运行下方命令,并在 providers 部分为您想使用的模型提供商添加 API 密钥:
nano ~/.nanobot/config.json技术支持
编辑文件,将 API 密钥添加到所选提供商:
{
"workspace" : "./workspace" ,
"providers" : {
"openai" : {
"apiKey" : "sk-YOUR-OPENAI-KEY-HERE" ,
"model" : "gpt-4o"
} ,
"anthropic" : {
"apiKey" : "sk-ant-YOUR-CLAUDE-KEY-HERE" ,
"model" : "claude-3-5-sonnet-20240620"
} ,
"google" : {
"apiKey" : "AIza-YOUR-GOOGLE-KEY-HERE" ,
"model" : "gemini-1.5-pro"
} ,
"openrouter" : {
"apiKey" : "sk-or-YOUR-OPENROUTER-KEY-HERE" ,
"model" : "nousresearch/hermes-3-llama-3.1-405b"
} ,
"local" : {
"apiBase" : "http://localhost:11434/v1" ,
"apiKey" : "ollama" ,
"model" : "llama3"
}
} ,
"channels" : {
"telegram" : {
"enabled" : true ,
"token" : "YOUR_TELEGRAM_BOT_TOKEN" ,
"allowFrom" : [ "YOUR_NUMERIC_USER_ID" ]
}
}
} 技术支持
编辑 Telegram 部分,添加您之前获取的 token 和用户 ID。这样做是为了确保只有您能向代理发送指令。
"telegram" : {
"enabled" : true ,
"token" : "" ,
"allowFrom" : [ "" ] ,
"proxy" : null
} 技术支持
修改 agents 部分以匹配您选择的提供商:
"agents" : {
"defaults" : {
"workspace" : "~/.nanobot/workspace" ,
"model" : "openai/gpt-5" ,
"maxTokens" : 8192 ,
"temperature" : 0.7 ,
"maxToolIterations" : 20 ,
"memoryWindow" : 50
}
} 技术支持
在终端测试您的代理:
nanobot agent -m "Hello"
🐈 nanobot
Hi there! How can I help you today? 技术支持
步骤 5:设置网关
完成 Telegram 集成,请在终端运行下方命令:
nanobot gateway技术支持
现在您应当能看到 Telegram 已启用,如我下面的消息所示:
🐈 Starting nanobot gateway on port 18790 .. .
2026 -02-13 09:59:35.405 | INFO | nanobot.channels.manager:_init_channels:46 - Telegram channel enabled
✓ Channels enabled: telegram
✓ Heartbeat: every 30m
2026 -02-13 09:59:35.406 | INFO | nanobot.cron.service:start:154 - Cron service started with 0 jobs
2026 -02-13 09:59:35.406 | INFO | nanobot.heartbeat.service:start:81 - Heartbeat started ( every 1800s)
2026 -02-13 09:59:35.406 | INFO | nanobot.agent.loop:run:116 - Agent loop started
2026 -02-13 09:59:35.406 | INFO | nanobot.channels.manager:start_all:159 - Starting telegram channel.. .
2026 -02-13 09:59:35.406 | INFO | nanobot.channels.manager:_dispatch_outbound:187 - Outbound dispatcher started
2026 -02-13 09:59:35.411 | INFO | nanobot.channels.telegram:start:140 - Starting Telegram bot ( polling mode) .. .
2026 -02-13 09:59:39.245 | INFO | nanobot.channels.telegram:start:148 - Telegram bot @mwitibananabot connected
2026 -02-13 09:59:39.417 | DEBUG | nanobot.channels.telegram:start:152 - Telegram bot commands registered技术支持
前往 Telegram 进行测试:
您还可以通过我们提供的Claude Code 教程 ,结合 Supabase Python 库的实战示例,学习如何使用 Anthropic 的 Claude Code 改进软件开发流程。
进阶:打造“多工具”代理
现在设置已完成,是时候让您的代理更强大了。大多数模型只掌握其训练数据截断日期之前的信息。我们可以将其连接到互联网以增强功能。
Nanobot 支持模型上下文协议(MCP) ,为您的代理增添网页搜索或数据库查询等能力。下面我们添加 Brave 搜索服务,使代理能够访问互联网:
从 Brave 获取 API 密钥
将该密钥更新到配置中
"tools" : {
"web" : {
"search" : {
"apiKey" : "" ,
"maxResults" : 5
}
} ,
"exec" : {
"timeout" : 60
} ,
"restrictToWorkspace" : false
} 技术支持
重启您的网关。
现在在 Telegram 中,询问类似“苹果股票当前价格是多少?”的问题。在终端您可以看到它确实在搜索网页:
2026 -02-13 10 :14:48.753 | INFO | nanobot.agent.loop:_process_message:164 - Processing message from telegram:7045522516: What is the current price of the Apple Stock
2026 -02-13 10 :14:59.726 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_search( { "query" : "AAPL stock price Yahoo Finance" , "count" : 5 } )
2026 -02-13 10 :15:22.066 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://finance.yahoo.com/quote/AAPL/" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :15:26.886 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://www.google.com/finance/quote/AAPL:NASDAQ" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :15:51.361 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://query1.finance.yahoo.com/v7/finance/quote?symbols=AAPL" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :15:52.018 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL?modules=price" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :16:07.071 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://www.marketwatch.com/investing/stock/aapl" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :16:07.406 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://finviz.com/quote.ashx?t=AAPL" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :16:35.897 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://financialmodelingprep.com/api/v3/quote/AAPL?apikey=demo" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :16:36.919 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch( { "url" : "https://stooq.com/q/l/?s=aapl.us&i=5" , "extractMode" : "text" , "maxChars" : 20000 } )
2026 -02-13 10 :17:14.870 | INFO | nanobot.agent.loop:_process_message:266 - Response to telegram:7045522516: Reflection:
- JS-heavy sites ( Yahoo/Google) hid the live quote; Yahoo's JSON APIs blocked ( 401 ) .
- Finviz returned a pr.. .技术支持
本地与私密:离线运行 Nanobot
与OpenClaw 类似,Nanobot 的一大卖点是隐私保护。您可以在不向任何云提供商发送数据的情况下使用它。由于 Nanobot 支持 vllm 和兼容 OpenAI 的端点,您可以将其指向 Ollama 等本地模型运行器。
安装 Ollama 并运行 ollama
更新 config.json 的 provider 部分(参见上文步骤 4 中的“local”示例)。
查看我们的 OpenClaw 搭配 Ollama 教程 ,了解如何使用 OpenClaw 与 Ollama 构建全本地的 AI 数据分析师,编排多步工作流、分析数据集并生成可视化报告,而无需将数据发送至云端。
Nanobot 常见陷阱与故障排查
即便是像 Nanobot 这样简单的工具,也可能出现问题。以下是您可能遇到的一些问题及其解决方法。
“连接被拒绝”错误
如果您尝试在服务器上运行 Nanobot,却要访问本地模型,会出现“连接被拒绝”错误。原因是在线服务器无法访问您的本地电脑。
为此,您需要确保开源模型也在同一台服务器上运行,或使用 ngrok 之类的工具来打通连接。
上下文窗口限制
本地模型通常拥有更小的记忆上限(上下文窗口)。即便云端模型,上下文窗口也有限。由于 Nanobot 将记忆存为简单文件,“重置”其大脑的最佳方式是手动删除 ./workspace 文件夹中的记忆文件。
或者,直接切换到具有更大上下文窗口的模型,例如 gemini-1.5-pro 或 Claude Opus 4.6。
结语
Nanobot 证明了强大的软件不必臃肿。它在大幅缩小体量的同时,仍提供与 OpenClaw 相同的核心特性。不过,就安全性而言,它仍面临同类问题,因此我建议您在沙盒环境中进行部署,以避免诸如整块硬盘被清空等灾难性后果。
如需进一步学习如何使用 AI 工具,推荐查看 我们的 最佳免费 AI 工具指南 。若想全面提升 AI 编码技能,试试我们的 面向开发者的 AI 辅助编程课程 ,培养让 AI 助手在您的开发流程中更可靠的能力。
您还可以通过我们的 使用 LangChain 开发 LLM 应用 课程,学习如何利用 LLM、提示、链与代理来构建 AI 驱动的应用。
Nanobot 是一款轻量级的个人 AI 助手,是 OpenClaw 的替代方案。它比 OpenClaw 小 98%,但仍提供相同的核心代理功能。与 OpenClaw 一样,它可以在您的机器上运行,连接您常用的应用程序,而且由于体量小,您也能轻松检查其代码。
Nanobot 能连接您喜爱的闭源与开源模型,以运行本地编码代理。无论您通过 Telegram、WhatsApp,还是终端发送消息,代理都会在您的机器上执行命令进行响应,例如读取日志、运行脚本、搜索文件。
在本教程中,我将从零开始带您完成 Nanobot 的设置,并展示如何在几分钟内搭建一个功能完整的 AI 代理。同时,我还会介绍一些使用此类技术时需要注意的坑点。
什么是 Nanobot?
Nanobot 是 OpenClaw 的替代方案,已迅速走红,截至撰写时在 GitHub 上获得超过 21,000 颗星。与 OpenClaw 一样,它支持 Discord、Slack、Telegram 等主流消息平台。
就像 OpenClaw 代理一样,您的 Nanobot 代理也可以加入 Moltbook 上的社交“派对”,我们在Moltbook 入门教程中有示例。
Nanobot 关键能力
尽管体量小,Nanobot 仍覆盖强大代理所需的三项核心能力:
运行 Nanobot 的先决条件
要跟随本教程,您需要准备以下内容:
Nanobot 分步教程:构建一个“研究代理”
让我们构建一个驻留在您的 Telegram 中、可搜索网页并能记住您兴趣的代理。
步骤 1:安装 Nanobot
如今安装 Python 工具最干净的方式是使用
pip或uv,它们能与系统 Python 隔离。如果没有这些工具,使用标准pip也可以。打开终端并运行:
安装完成后,您会看到类似下面的消息:
步骤 2:获取您的接口令牌
设置界面:
/newbot并按提示操作步骤 3:初始化
运行
nanobot onboard初始化您的机器人。您应当能看到类似下面的消息:步骤 4:配置
运行下方命令,并在 providers 部分为您想使用的模型提供商添加 API 密钥:
编辑文件,将 API 密钥添加到所选提供商:
编辑 Telegram 部分,添加您之前获取的 token 和用户 ID。这样做是为了确保只有您能向代理发送指令。
修改 agents 部分以匹配您选择的提供商:
在终端测试您的代理:
步骤 5:设置网关
完成 Telegram 集成,请在终端运行下方命令:
现在您应当能看到 Telegram 已启用,如我下面的消息所示:
前往 Telegram 进行测试:
您还可以通过我们提供的Claude Code 教程,结合 Supabase Python 库的实战示例,学习如何使用 Anthropic 的 Claude Code 改进软件开发流程。
进阶:打造“多工具”代理
现在设置已完成,是时候让您的代理更强大了。大多数模型只掌握其训练数据截断日期之前的信息。我们可以将其连接到互联网以增强功能。
Nanobot 支持模型上下文协议(MCP),为您的代理增添网页搜索或数据库查询等能力。下面我们添加 Brave 搜索服务,使代理能够访问互联网:
重启您的网关。
现在在 Telegram 中,询问类似“苹果股票当前价格是多少?”的问题。在终端您可以看到它确实在搜索网页:
本地与私密:离线运行 Nanobot
与OpenClaw类似,Nanobot 的一大卖点是隐私保护。您可以在不向任何云提供商发送数据的情况下使用它。由于 Nanobot 支持
vllm和兼容 OpenAI 的端点,您可以将其指向 Ollama 等本地模型运行器。ollama查看我们的OpenClaw 搭配 Ollama 教程,了解如何使用 OpenClaw 与 Ollama 构建全本地的 AI 数据分析师,编排多步工作流、分析数据集并生成可视化报告,而无需将数据发送至云端。
Nanobot 常见陷阱与故障排查
即便是像 Nanobot 这样简单的工具,也可能出现问题。以下是您可能遇到的一些问题及其解决方法。
“连接被拒绝”错误
如果您尝试在服务器上运行 Nanobot,却要访问本地模型,会出现“连接被拒绝”错误。原因是在线服务器无法访问您的本地电脑。
为此,您需要确保开源模型也在同一台服务器上运行,或使用
ngrok之类的工具来打通连接。上下文窗口限制
本地模型通常拥有更小的记忆上限(上下文窗口)。即便云端模型,上下文窗口也有限。由于 Nanobot 将记忆存为简单文件,“重置”其大脑的最佳方式是手动删除
./workspace文件夹中的记忆文件。或者,直接切换到具有更大上下文窗口的模型,例如 gemini-1.5-pro 或Claude Opus 4.6。
结语
Nanobot 证明了强大的软件不必臃肿。它在大幅缩小体量的同时,仍提供与 OpenClaw 相同的核心特性。不过,就安全性而言,它仍面临同类问题,因此我建议您在沙盒环境中进行部署,以避免诸如整块硬盘被清空等灾难性后果。
如需进一步学习如何使用 AI 工具,推荐查看 我们的最佳免费 AI 工具指南。若想全面提升 AI 编码技能,试试我们的面向开发者的 AI 辅助编程课程,培养让 AI 助手在您的开发流程中更可靠的能力。
您还可以通过我们的使用 LangChain 开发 LLM 应用课程,学习如何利用 LLM、提示、链与代理来构建 AI 驱动的应用。