nanobot

9小时前发布 46 00

nanobot 是一款受 OpenClaw 启发,却走向极简主义的个人 AI 助手。仅用约 4,000 行代码,nanobot 就实现了核心智能体功能,体积相比 OpenClaw 的 43 万行代码缩减了 99%,真正做到了“小到可以理解”。

所在地:
中国
收录时间:
2026-02-03

nanobot是一款超轻量级个人AI助手,核心定位是在保留OpenClaw核心智能体功能的前提下,实现极致轻量化与简洁性,同时通过操作系统级隔离保障安全性,适合追求高效、易理解、可定制的个人用户,尤其是开发者、研究人员,无需面对复杂的配置与庞大的代码库,2分钟即可完成部署并投入使用。

nanobot

它与OpenClaw(及前身Clawdbot)形成鲜明对比:仅用约4000行代码实现核心功能,相比Clawdbot的43万+行代码体积减少99%,摒弃了冗余模块与复杂依赖,同时衍生出专门适配Claude的NanoClaw版本,以容器隔离保障安全,兼顾极简性与实用性。

nanobot

核心亮点:轻量、高效、易扩展,四大优势脱颖而出

1. 超轻量级,资源消耗极低

  • 代码量极少:仅约4000行核心代码,相比Clawdbot体积减少99%,无冗余模块与复杂抽象层;
  • 部署体积小:依赖项极少,一键安装快速完成,启动速度快,运行时资源占用低,低配设备也能流畅运行;
  • 极简架构:单进程/容器架构(NanoClaw),无复杂配置文件,减少运行故障与资源浪费。

2. 研究友好,易于定制扩展

  • 代码清晰可读:极简架构让代码逻辑一目了然,8分钟内即可理解核心流程,适合AI智能体研究、二次开发;
  • 定制方式灵活:核心版本支持通过修改配置文件定制,NanoClaw版本直接修改代码即可完成个性化调整,无需应对复杂配置体系;
  • 可扩展强:预留工具、通道扩展接口,轻松添加自定义技能、集成新的通讯平台或LLM模型。

3. 极速响应,迭代与使用高效

  • 快速部署:2分钟内即可完成初始化、配置、启动,无需复杂环境搭建;
  • 快速启动:轻量化架构带来更快的启动速度与更短的响应时间,交互无卡顿;
  • 快速迭代:极简代码库降低二次开发的试错成本,迭代周期大幅缩短,便于快速验证新功能、新想法。

4. 简单易用,兼顾安全与多功能

  • 操作便捷:提供完整CLI命令集,交互式聊天、网关启动、定时任务等功能一键调用;
  • 安全可靠:NanoClaw版本采用Apple容器(macOS)实现操作系统级隔离,代理仅能访问显式挂载目录,相比OpenClaw的应用层安全更底层、更可靠;
  • 功能实用:支持云端LLM(OpenRouter/Claude)、本地模型(vLLM)、通讯平台集成(Telegram/WhatsApp)、定时任务等核心功能,满足个人AI助手的全场景需求。

衍生版本:NanoClaw——专为Claude打造的安全极简替代品

NanoClaw是nanobot针对Claude(Anthropic AI)打造的衍生版本,核心是通过容器隔离实现更高安全性,是OpenClaw的极简替代方案,具体特性如下:

1. 核心概念与优势

  • 安全隔离:运行在Apple容器(macOS Tahoe及以上)中,而非OpenClaw的Node.js共享进程,实现操作系统级隔离,更安全;
  • 专注Claude:深度集成Claude Agent SDK,针对Claude优化,相比OpenClaw的多AI支持,对Claude的适配更深入、交互更流畅;
  • 极简无配置:无繁琐配置文件,所有定制通过直接修改代码完成,符合“小到可以理解”的设计理念。

2. 核心功能

  • 仅集成WhatsApp:专注单一通讯通道,减少冗余,保障运行效率;
  • 隔离组上下文:每个聊天组拥有独立的CLAUDE.md记忆、隔离文件系统,在专属容器沙箱中运行,数据互不干扰;
  • 额外实用功能:支持定时任务、网络访问与网页搜索,满足日常使用需求;
  • 专为macOS设计:适配Mac设备,在Mac Mini上运行表现优异,轻量无负担。

3. 常见问题解答

  • 为什么选择Apple Container而非Docker?:Apple Container更轻量、更快,且内置于macOS,无需额外安装Docker,适配性更好;如需Docker支持,可贡献代码进行转换;
  • 能否在Linux上运行?:可以,通过Claude辅助修改代码,约30分钟即可完成适配,完成后可将适配技能贡献回项目;
  • 安全性如何?:代理运行在容器沙箱中,仅能访问显式挂载目录,且代码库极小,可手动审查所有代码,安全可控(详细安全模型见docs/SECURITY.md)。

快速上手:2分钟部署nanobot,即刻使用

nanobot支持PyPi一键安装与源码安装,优先推荐PyPi安装(普通用户),源码安装适合开发人员,步骤如下:

步骤1:安装nanobot

  • PyPi一键安装(普通用户推荐):
pip install nanobot-ai
  • 源码安装(开发/二次开发推荐):
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e .

步骤2:初始化与配置

  1. 执行初始化命令,生成工作空间与配置文件:
nanobot onboard
  1. 编辑配置文件 ~/.nanobot/config.json,填写API密钥(获取渠道:OpenRouter用于LLM,Brave Search可选用于网页搜索):
{
  "providers": {
    "openrouter": {
      "apiKey": "sk-or-v1-xxx" // 替换为你的OpenRouter API密钥
    }
  },
  "agents": {
    "defaults": {
      "model": "anthropic/claude-opus-4-5" // 可选替换为minimax/minimax-m2降低成本
    }
  },
  "webSearch": {
    "apiKey": "BSA-xxx" // 可选,填写Brave Search API密钥开启网页搜索
  }
}

步骤3:开始与AI助手对话

执行单条消息对话命令,快速验证是否可用:

nanobot agent -m "What is 2+2?"

至此,部署完成,即可正常使用nanobot的核心功能。

进阶使用:本地模型部署与通讯平台集成

1. 本地模型部署(vLLM):无需云端,数据本地私密

nanobot支持通过vLLM运行本地模型,兼容所有OpenAI格式服务器,步骤如下:

  1. 启动vLLM服务器(以Llama-3.1-8B-Instruct为例):
vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000
  1. 修改配置文件 ~/.nanobot/config.json,配置vLLM提供商:
{
  "providers": {
    "vllm": {
      "apiKey": "dummy", // 本地服务器无需认证,填写任意非空字符串即可
      "apiBase": "http://localhost:8000/v1"
    }
  },
  "agents": {
    "defaults": {
      "model": "meta-llama/Llama-3.1-8B-Instruct"
    }
  }
}
  1. 启动本地模型对话:
nanobot agent -m "Hello from my local LLM!"

2. 通讯平台集成:随时随地通过Telegram/WhatsApp对话

nanobot支持集成Telegram(简单)与WhatsApp(中等),实现移动端随时随地交互,优先推荐Telegram。

方案1:Telegram集成(推荐,简单)

  1. 创建Telegram机器人:打开Telegram搜索@BotFather,发送/newbot按提示操作,复制生成的机器人令牌;
  2. 获取个人用户ID:搜索@userinfobot,发送消息即可获取个人用户ID;
  3. 修改配置文件 ~/.nanobot/config.json
{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN", // 替换为你的机器人令牌
      "allowFrom": ["YOUR_USER_ID"] // 替换为你的个人用户ID,限制仅自己可访问
    }
  }
}
  1. 启动网关服务,即可通过Telegram与nanobot对话:
nanobot gateway

方案2:WhatsApp集成(中等,需Node.js ≥18)

  1. 链接WhatsApp设备:执行命令后,用WhatsApp扫码关联设备(路径:设置→已关联设备→扫码):
nanobot channels login
  1. 修改配置文件 ~/.nanobot/config.json
{
  "channels": {
    "whatsapp": {
      "enabled": true,
      "allowFrom": ["+1234567890"] // 替换为你的WhatsApp号码(国际格式)
    }
  }
}
  1. 启动服务(需两个终端):
# 终端1:保持WhatsApp链接
nanobot channels login

# 终端2:启动网关服务
nanobot gateway

3. 定时任务:自动执行预设消息(Cron)

nanobot支持通过Cron表达式设置定时任务,自动发送预设消息,常用命令如下:

# 添加每日9点早安任务
nanobot cron add --name "daily" --message "Good morning!" --cron "0 9 * * *"

# 添加每小时检查状态任务
nanobot cron add --name "hourly" --message "Check status" --every 3600

# 列出所有定时任务
nanobot cron list

# 删除指定任务(替换<job_id>为任务ID)
nanobot cron remove <job_id>

核心参考:CLI命令与项目结构

1. 常用CLI命令参考

命令核心描述
nanobot onboard初始化nanobot工作空间与配置文件
nanobot agent -m "..."单条消息与AI智能体对话
nanobot agent进入交互式聊天模式,持续与智能体对话
nanobot gateway启动网关服务,支持通讯平台(Telegram/WhatsApp)交互
nanobot status查看nanobot当前运行状态信息
nanobot channels login扫码关联WhatsApp设备
nanobot channels status查看通讯通道(Telegram/WhatsApp)的当前状态
nanobot cron [add/list/remove]管理定时任务(添加/列出/删除)

2. 项目结构(清晰易懂,便于二次开发)

nanobot/
├── agent/          # 🧠 核心智能体逻辑(循环、上下文、记忆、技能)
│   ├── loop.py     #    智能体核心循环(LLM与工具的交互逻辑)
│   ├── context.py  #    提示词构建与上下文管理
│   ├── memory.py   #    会话持久化记忆管理
│   ├── skills.py   #    内置技能加载与执行
│   ├── subagent.py #    后台子任务执行逻辑
│   └── tools/      #    内置工具(网页搜索等)
├── skills/         # 🎯 内置技能库(github、天气、tmux等)
├── channels/       # 📱 通讯通道集成(WhatsApp/Telegram)
├── bus/            # 🚌 内部消息路由与分发
├── cron/           # ⏰ 定时任务核心逻辑
├── heartbeat/      # 💓 服务主动唤醒与保活
├── providers/      # 🤖 LLM提供商适配(OpenRouter/vLLM等)
├── session/        # 💬 会话管理与持久化
├── config/         # ⚙️ 配置文件加载与解析
└── cli/            # 🖥️ 命令行接口(CLI)实现

发展路线图:未来功能规划

  1. 多模态支持:后续将添加图像、语音、视频处理能力,突破纯文本交互限制;
  2. 长期记忆:优化记忆机制,实现永不遗忘的重要上下文,提升复杂任务处理能力;
  3. 增强推理:添加多步骤规划与自我反思能力,提升AI智能体的问题解决能力;
  4. 更多集成:拓展Discord、Slack、电子邮件、日历等平台集成,覆盖更多使用场景;
  5. 自我改进:实现从用户反馈与运行错误中自主学习,持续优化自身性能与功能。

数据统计

相关导航

暂无评论

none
暂无评论...