在 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 问题或文档。
相关推荐
Elastic 中国社区官方博客1 小时前
Elasticsearch:使用 Workflow 查询天气,发送消息到 Slack
大数据·运维·人工智能·elasticsearch·搜索引擎·ai
独自归家的兔2 小时前
Harbor 登录报错 - 核心服务不可用
运维·harbor
虹科网络安全2 小时前
艾体宝洞察 | 流程自动化的下一步,是决策自动化
运维·自动化
人道领域2 小时前
Spring拦截器原理与实战详解
java·运维·服务器
zl_dfq3 小时前
Linux 之 【多线程】(基于阻塞队列的生产者消费者模型、基于环形队列的生产者消费者模型)
linux
远方16093 小时前
114-Oracle Database 26ai在Oracle Linux 9上的OUI图形界面安装
linux·服务器·数据库·sql·oracle·database
开开心心_Every3 小时前
在线看报软件, 22家知名报刊免费看
linux·运维·服务器·华为od·edge·pdf·华为云
%254 小时前
Nginx
运维·nginx
木子欢儿4 小时前
debian 13 安装配置ftp 创建用户admin可以访问 /mnt/Data/
linux·运维·服务器·数据库·debian