在 Ubuntu 系统下安装 Nanobot:全面指南

在 Ubuntu 系统下安装 Nanobot:全面指南

  • [在 Ubuntu 系统下安装 Nanobot:全面指南](#在 Ubuntu 系统下安装 Nanobot:全面指南)
    • 引言
    • 先决条件
    • [步骤 1:安装 Nanobot](#步骤 1:安装 Nanobot)
    • [步骤 2:初始设置和配置](#步骤 2:初始设置和配置)
    • [步骤 3:测试和基本使用](#步骤 3:测试和基本使用)
    • [步骤 4:设置消息通道(可选:Telegram 集成)](#步骤 4:设置消息通道(可选:Telegram 集成))
    • 安全注意事项
    • 故障排除

在 Ubuntu 系统下安装 Nanobot:全面指南

引言

Nanobot 是一款超轻量级的个人 AI 助手,受 OpenClaw 启发而设计,通过简单的 CLI 接口提供高效、模块化的 AI 交互。它支持多种 LLM 提供商,包括通过 vLLM 运行的本地模型,并与 Telegram 等消息通道集成,实现无缝使用。

无论您是希望实验本地 AI 的开发者,还是需要轻量级代理进行自动化任务,Nanobot 的小体积(比类似工具小 99%)使其非常适合资源受限的环境。

先决条件

在安装 Nanobot 之前,请确保您的 Ubuntu 系统满足以下要求:

  • Python 3.8 或更高版本 :Nanobot 是基于 Python 的工具,因此必须安装 Python。大多数现代 Ubuntu 版本已预装 Python,您可以使用 python3 --version 进行验证。
  • pip :Python 包安装器。如果未安装,请通过 sudo apt update && sudo apt install python3-pip -y 安装。
  • Git :用于从源代码安装。请通过 sudo apt install git -y 安装。
  • 可选依赖
    • vLLM 用于本地 LLM 支持:稍后如果需要,可通过 pip install vLLM 安装。
    • Node.js(18 或更高版本):仅在使用 WhatsApp 通道时需要。
    • uv :pip 的更快替代品,可通过 pip install uv 安装。
  • 足够的磁盘空间和 RAM:Nanobot 本身很轻量,但本地模型如 Llama-3.1 可能需要 GPU 和数 GB 的 VRAM(如果使用 vLLM)。
  • API 密钥:对于外部提供商如 OpenRouter,请从其网站获取密钥。

首先更新系统软件包以避免问题:

复制代码
sudo apt update && sudo apt upgrade -y

步骤 1:安装 Nanobot

Nanobot 提供多种安装方法。对于 Ubuntu 用户,最简单的是通过 pip 从 PyPI 安装稳定版本。我们将重点介绍此方法,但也为高级用户提供备选方案。

通过 pip(推荐大多数用户)

打开终端并运行:

复制代码
pip install nanobot-ai

此命令将获取并安装最新稳定版本及其依赖项。

如果遇到权限问题,请使用 --user 标志:pip install --user nanobot-ai

备选:从源代码安装(用于最新功能)

如果您想要前沿版本或希望贡献开发:

复制代码
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e .

此命令克隆仓库并以可编辑模式安装。

备选:使用 uv 进行更快安装

首先,如果尚未安装 uv,请运行:

复制代码
pip install uv

然后:

复制代码
uv tool install nanobot-ai

步骤 2:初始设置和配置

安装后,初始化 Nanobot 以创建必要的配置文件:

复制代码
nanobot onboard

此命令将在 ~/.nanobot/config.json 创建默认配置,并在 ~/.nanobot/workspace/ 创建工作区目录,用于工具限制。

接下来,使用文本编辑器如 vim 或 nano 编辑配置文件(如果需要,安装 nano:sudo apt install nano -y):

复制代码
nano ~/.nanobot/config.json

对于使用 OpenRouter 的基本设置(推荐的提供商,用于成本效益高的模型如 Claude):

将内容替换为类似以下:

json 复制代码
{
  "providers": {
    "openrouter": {
      "apiKey": "your-openrouter-api-key-here"
    }
  },
  "agents": {
    "defaults": {
      "model": "anthropic/claude-3.5-sonnet-20240620"
    }
  }
}

保存并退出(在 nano 中:Ctrl+O,回车,Ctrl+X)。

对于本地模型,首先安装 vLLM:

复制代码
pip install vllm

启动 vLLM 服务器:

复制代码
vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000

然后更新您的配置:

json 复制代码
{
  "providers": {
    "vllm": {
      "apiKey": "dummy",
      "apiBase": "http://localhost:8000/v1"
    }
  },
  "agents": {
    "defaults": {
      "model": "meta-llama/Llama-3.1-8B-Instruct"
    }
  }
}

步骤 3:测试和基本使用

通过检查状态验证安装:

复制代码
nanobot status

这应该显示您的配置提供商、模型和其他运行时信息。

启动交互式聊天会话:

复制代码
nanobot agent

输入消息如"Hello, what is Nanobot?"并按回车。使用"exit"或 Ctrl+D 退出。

对于一次性查询:

复制代码
nanobot agent -m "用简单术语解释量子计算。"

步骤 4:设置消息通道(可选:Telegram 集成)

要通过 Telegram 使用 Nanobot 实现常在线访问:

  1. 通过 Telegram 的 @BotFather 创建机器人并记录令牌。
  2. 找到您的 Telegram 用户 ID(通过设置或 @userinfobot 等机器人)。
  3. 更新 ~/.nanobot/config.json
json 复制代码
{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN",
      "allowFrom": ["YOUR_USER_ID"]
    }
  }
}
  1. 运行网关以保持机器人在线:

    nanobot gateway

现在,在 Telegram 上向您的机器人发送消息即可与 Nanobot 交互。

安全注意事项

  • 在配置中启用工作区限制以沙箱文件操作:添加 "tools": {"restrictToWorkspace": true}
  • 在通道中使用 allowFrom 限制访问。
  • 对于生产环境,考虑在虚拟环境或 Docker 中运行以实现隔离。

故障排除

  • 命令未找到 :确保 ~/.local/bin 在您的 PATH 中:将 export PATH="$HOME/.local/bin:$PATH" 添加到 ~/.bashrc 并使用 source ~/.bashrc 重载。
  • 模型错误:验证配置中的 API 密钥和模型名称。
  • 依赖问题 :运行 pip install --upgrade pip 并重试安装。
  • 更多帮助,请查看 GitHub 问题或文档。
相关推荐
我爱学习好爱好爱2 小时前
Ansible 常用模块详解:yum、service/systemd、copy实战
linux·服务器·ansible
papaofdoudou3 小时前
LINUX VFIO被IOMMUFD取代
linux·运维·服务器
平生不喜凡桃李3 小时前
浅谈 Linux 中 namespace 相关系统调用
java·linux·服务器
无忧智库4 小时前
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
大数据·运维
YMWM_4 小时前
【问题】thor上的cubLas
linux·python·thor
杨云龙UP5 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长1155 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
mounter6256 小时前
Linux 7.0 重磅更新:详解 nullfs 如何重塑根文件系统挂载与内核线程隔离
linux·运维·服务器·kernel
色空大师6 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建
江南风月6 小时前
日志审计系统WGLOG支持syslog吗
运维·网络·日志审计