本文介绍开源 AI 助手框架 nanobot 的安装、配置与使用体验。文章涵盖 uv 正式版与源码安装、初始化与配置模型和聊天平台、终端与网关两种运行方式,并梳理文件操作、Shell、搜索、定时任务、记忆系统与自定义技能等核心能力。同时说明通过 MCP 集成 Open-WebSearch 的配置技巧,并总结其轻量、高效、易扩展,适合开发辅助、自动化任务和私有智能体搭建。
什么是 nanobot
nanobot 是一个开源的 AI 助手框架,支持多工具调用和记忆系统。它可以通过 Telegram、Discord 等聊天工具与用户交互,并能够执行文件操作、Shell 命令、网络搜索、定时任务等多种功能。
安装方式
正式版安装(推荐)
现在 release 版本已支持 MCP 功能,推荐直接使用 uv 安装:
uv tool install nanobot-ai
安装完成后,将 /root/.local/bin 添加到 PATH:
export PATH="/root/.local/bin:$PATH"
源码安装
如果需要最新功能或开发贡献,可以选择源码安装:
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
uv venv
source .venv/bin/activate
uv pip install -e .
配置与运行
初始化:
在终端执行以下命令完成基础设置:
nanobot onboard
修改配置文件:
编辑默认生成的 ~/.nanobot/config.json 文件。在此处配置大模型提供商(如 OpenAI、Anthropic、OpenRouter 等)的 API Key 和默认模型。如果需要接入聊天工具,也在此填入对应平台(如 Telegram、Discord)的 Bot Token。
启动交互:
- 终端模式:使用
nanobot agent开启连续对话,或使用nanobot agent -m "你的指令"快速执行单次任务。 - 网关模式:使用
nanobot gateway启动网关服务后,即可通过配置的聊天工具实现跨设备的全天候交互。
核心功能
工具调用
nanobot 内置多种工具:
| 工具 | 功能 |
|---|---|
| read_file / write_file / edit_file | 文件操作 |
| exec | 执行 Shell 命令 |
| web_search / web_fetch | 网络搜索和网页抓取(需要配置API Key) |
| message | 发送消息到聊天渠道 |
| spawn | 生成子代理处理后台任务 |
| cron | 管理定时任务 |
技能系统 (Skills)
nanobot 支持自定义技能扩展能力。默认包含以下技能:
- memory — 双层记忆系统(MEMORY.md + HISTORY.md)
- weather — 天气查询
- tmux — 远程操控 tmux
- github — 使用 gh CLI 与 GitHub 交互
- cron — 定时任务调度
此外,还可以添加自定义技能,可以参考:如何创建自定义技能 | Anthropic Help Center
MCP 工具集成
通过 MCP 协议,可以集成外部服务。因为 nanobot 默认只支持 brave 搜索,并且需要 API Key,所以我配置了 Open-WebSearch。
Open-WebSearch 配置
官方的MCP示例是这样的:
{
"mcpServers": {
"web-search": {
"command": "npx",
"args": [
"open-websearch@latest"
],
"env": {
"MODE": "stdio",
"DEFAULT_SEARCH_ENGINE": "duckduckgo",
"ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
}
}
}
}
但是 nanobot 的 MCP 配置不支持直接设置环境变量 env,就需要使用 env 命令运行:
{
"mcpServers": {
"web-search": {
"command": "env",
"args": [
"MODE=stdio",
"DEFAULT_SEARCH_ENGINE=duckduckgo",
"npx",
"-y",
"open-websearch@latest"
]
}
}
}
关键点:
- 使用
env命令设置环境变量 - 每个环境变量作为独立的 args 元素
MODE=stdio用于 MCP 模式(不使用 HTTP)
使用场景
- 本地开发与代码辅助:通过文件操作和 Shell 工具,在本地终端帮你分析 Kotlin 安卓项目的报错日志,或快速编写、测试 Python 与 HTML 等语言的代码脚本。
- 全天候个人助理:通过 Telegram 或 Discord 接入,配合双层记忆系统,随时随地帮你记录灵感、管理待办事项或抓取所需资料。
- 定时自动化工作流:利用 cron 技能配置周期任务,如每天定时运行自动化脚本收集数据,并将结果自动推送到你的聊天应用中。
- Agent 研究与二次定制:得益于其极其精简的核心代码量(约 4000 行),它非常适合开发者快速阅读源码,并在此基础上轻松定制私有技能或二次开发。
模型配置
我现在用的阿里云最近发布的 Qwen3.5-Flash 模型,性能还不错,价格也比较便宜。
总结
nanobot 是一款极致轻量且功能完备的 AI 助手框架。它以极低的代码量和资源占用,实现了工具调用、记忆持久化以及多平台接入等关键 Agent 能力。无论你是需要一个能辅助日常开发的得力工具,还是希望低门槛构建自定义 AI 智能体,它都是一个极其高效的选择。
微信