在 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 问题或文档。
相关推荐
Sheffield8 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield16 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
舒一笑1 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
Johny_Zhao1 天前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev1 天前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
元Y亨H2 天前
华硕主机重装 Ubuntu 系统完全指南
ubuntu
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维