使用OpenClaw和NVIDIA NemoClaw构建本地AI智能体

智能体正在从问答系统发展为长期运行的自主助手,可读取文件、调用 API 并驱动多步骤工作流。但是,部署智能体来执行代码和使用工具而不进行适当隔离会带来真正的风险,尤其是在使用第三方云基础设施时,由于数据隐私和控制的原因。

NVIDIA NemoClaw 是一个开源参考堆栈,通过编排NVIDIA OpenShell来运行OpenClaw,一个自托管网关,可将消息传递平台与由 NVIDIA Nemotron 等开放模型驱动的 AI 编码智能体相连接。NemoClaw 增加了引导式载入、生命周期管理、图像强化和版本化蓝图,提供了从模型推理到更安全的交互式智能体部署的完整流程。

本教程将介绍如何在 NVIDIA DGX Spark 上部署 NemoClaw,从配置运行时环境和在本地提供模型,到安装 NemoClaw 堆栈并将其连接到 Telegram 以进行远程访问,不一而足。您将构建一个在硬件上运行的本地沙盒 AI 助手,可通过任何 Telegram 客户端访问。

模型和代码的快速链接

访问本教程的以下资源:

* 软件和模型:

DGX Spark 上搭载 NVIDIA Nemotron 3 Super 和 Telegram 的 NemoClaw:关于使用本地推理设置 NemoClaw 的端到端指南。

NVIDIA Build 上的 NVIDIA Nemotron 3 Super 120B:教程中使用的模型。

代码和文档:

NVIDIA NemoClaw 文档:配置、策略和高级部署的完整参考。(https://docs.nvidia.com/nemoclaw/)(复制链接至浏览器打开,下同)

GitHub 上的 NVIDIA NemoClaw:源代码和社区贡献。(https://github.com/NVIDIA/NemoClaw)

NVIDIA DGX Spark:硬件规格和开发者资源。(https://www.nvidia.cn/products/workstations/dgx-spark/)

预备知识

有关完整的设置说明,请在网站访问适用于 NemoClaw 的 DGX Spark 剧本,或者无需硬件即可开始使用。

如果您计划使用其他设备,我们将在文档中列出的替代部署设备上对 NemoClaw 进行测试和验证,请检查 API/VLLM 功能。

开始设置之前,请确保满足以下要求:

硬件:运行 Ubuntu 24.04 LTS 的 DGX Spark (GB10) 系统,以及最新的 NVIDIA 驱动程序。

Docker:28.x 版本或更高版本,配置了 NVIDIA 容器运行时 (将在下一节中介绍)。

Ollama:安装为本地模型服务引擎。

Telegram 机器人词元:通过 Telegram 的 BotFather 创建 (详情请参阅 Telegram 集成部分)。

预计时间:大约 20 – 30 分钟的活动设置时间,以及 15 – 30 分钟的初始模型下载时间(约 87 GB),具体取决于网络带宽。

以下命令可验证系统就绪情况:

head-n 2 /etc/os-release  # Expected: Ubuntu 24.04
nvidia-smi          # Expected: NVIDIA GB10 GPU
docker info --format'{{.ServerVersion}}'# Expected: 28.x+

NemoClaw 组件

在构建沙盒助手之前,务必要了解此环境中使用的软件。

a22ce9ba-4f45-11f1-90a1-92fbcf53809c.png

表 1. NVIDIA NemoClaw 堆栈的架构组件

安全注意事项:虽然 OpenShell 提供了强大的隔离功能,但请记住,没有任何沙盒能够针对高级提示注入提供全面保护。在测试新工具时,始终在独立系统上进行部署。

我们开始吧。

配置运行时

DGX Spark 需要几个 Docker 配置步骤来支持具有适当隔离设置的 GPU 加速容器。首先,通过 Docker 注册 NVIDIA 容器运行时:

sudonvidia-ctk runtime configure --runtime=docker

接下来,将 cgroup 命名空间模式设置为host。此配置是 DGX Spark 正常处理容器化工作负载所必需的:

sudopython3 -c"
import json, os
path = '/etc/docker/daemon.json'
d = json.load(open(path)) if os.path.exists(path) else {}
d['default-cgroupns-mode'] = 'host'
json.dump(d, open(path, 'w'), indent=2)
"
Restart Docker to apply the changes and verify that the NVIDIA runtime is functioning:
sudosystemctl restart docker
docker run --rm--runtime=nvidia --gpus all ubuntu nvidia-smi

输出应显示 GB10 GPU。为避免后续 Docker 命令需要sudo,请将当前用户添加到 Docker 组:

sudousermod -aG docker$USER
newgrp docker

安装 Ollama

Ollama 是一个轻量级模型服务引擎,用于在本地运行大语言模型。使用官方安装程序进行安装:

curl-fsSL https://ollama.com/install.sh | sh

默认情况下,Ollama 仅会在本地主机上侦听。由于 NemoClaw 智能体在沙盒中运行,并且拥有自己的网络命名空间,因此它必须跨越网络边界到达 Ollama。将 Ollama 配置为在所有接口上侦听:

sudomkdir-p /etc/systemd/system/ollama.service.d 
printf'[Service]
Environment="OLLAMA_HOST=0.0.0.0"
'|   
sudotee/etc/systemd/system/ollama.service.d/override.conf
sudosystemctl daemon-reload                 
sudosystemctl restart ollama

验证 Ollama 是否在所有接口上运行并可访问:

curlhttp://0.0.0.0:11434

重要提示:只能通过 systemd 启动 Ollama。手动启动的 Ollama 进程不会接收 OLLAMA_HOST = 0.0.0.0 优设,并且 NemoClaw 沙盒无法到达推理服务器。

sudosystemctl restart ollama

接下来,拉取 Nemotron 3 Super 120B 模型。下载约为 87 GB:

ollamapull nemotron-3-super:120b

下载完成后,将模型权重预加载到 GPU 显存中,以避免首次智能体交互出现冷启动延迟:

ollamarun nemotron-3-super:120b

加载模型并给出提示后,使用/bye退出会话。权重仍将缓存在内存中。确认模型可用:

ollamalist
# You should see something like
NAME           ID       SIZE   MODIFIED  

安装 NemoClaw

基础准备就绪后,只需一条命令即可安装 NemoClaw:

curl-fsSL https://www.nvidia.com/nemoclaw.sh | bash

安装程序提供 Node.js 依赖项、OpenShell 运行时和 NemoClaw CLI,然后启动载入向导。向导将提示您选择以下配置选项:

沙盒名称:指定带连字符的小写字母和数字名称(例如my-assistant)。所有后续命令均使用此名称。

推理提供程序:选择 Local Ollama(本地 Ollama)(选项 7),将推理路由到本地 Ollama 实例。

模型:选择nemotron-3-super:120b(选项 1)。

策略预设:如果您接受默认策略,请按 Y。这些预设可配置沙盒的文件系统和网络限制。

Telegram 集成:您可以选择在入门向导的第 5 步中配置 Telegram 机器人。

入职流程结束后,安装程序会以http://127.0.0.1:18789/#token= 的格式显示标记化的 Web UI URL。记录此 URL,因为它是将来访问 Web 控制面板所必需的,并且不会再次显示。

如果安装后nemoclaw命令无法识别,请重新加载 shell 环境,以便在未来的所有会话中启用该命令:

source~/.bashrc

验证设置

连接到沙盒并验证智能体能否到达推理后端:

nemoclawmy-assistantconnect

此命令返回模型信息,确认沙盒环境可以与 Ollama 通信。接下来,通过智能体发送测试消息:

openclaw agent--agentmain--local-m "hello"--session-idtest

如果配置正确,NVIDIA Nemotron 3 Super 会生成响应。请注意,使用 120B 模型进行推理时,每个响应通常需要 30 – 90 秒,对于运行本地推理的这种规模的模型,预计需要 30 – 90 秒。

交互式终端 UI 提供更具对话性的测试体验:

openclawtui

完成后,使用Ctrl+C退出终端 UI。

访问 Web UI

要在本地访问 Web 控制面板,请退出沙盒,然后打开载入过程中记录的标记化 URL:

exit

然后在浏览器中导航至 http://127.0.0.1:18789/#词元=** long-词元-here >。

从另一台机器进行远程访问。如果您要通过网络而非直接访问 DGX Spark,则需要进行其他配置。首先,确定 Spark 的 IP 地址:

hostname-I | awk'{print$1}'

通过 Spark 的终端会话启动端口转发:

openshell forwardstart18789my-assistant--background

在远程机器中,创建通往 Spark 的 SSH 隧道:

ssh-L18789:127.0.0.1:18789
 
  @
  
 

激活隧道后,在远程机器的浏览器中打开 http://127.0.0.1:18789/#词元=** long-词元-here >。

注意:仅使用127.0.0.1。localhost可能会导致“origin not allowed”错误。

连接到 Telegram

Telegram 集成将助手扩展到本地终端之外,使其可以通过具有 Telegram 客户端的任何设备进行访问。

创建 Telegram 机器人

打开 Telegram 并搜索 BotFather 以管理您的机器人。开始对话并使用/newbot命令。@BotFather 会指导您命名机器人,并在完成后提供 API 词元。保存此词元以执行以下配置步骤。

注意:如果您在 NemoClaw 载入向导程序中配置了 Telegram,则 Telegram 已在沙盒中运行。

如果您在入门期间未配置 Telegram,请使用词元设置重新运行入门向导。这将使用烘焙的 Telegram 重建沙盒。机器人词元已在 OpenShell 网关中注册,不会直接进入沙盒。

exportTELEGRAM_BOT_TOKEN=
 
  
nemoclaw onboard   
 

验证集成

打开 Telegram,找到机器人,然后发送消息。首次接触时,OpenClaw 需要配对。机器人将使用配对代码作出响应:

OpenClaw: access not configured.
Your Telegram user id:
 
  
Pairing code:
  
 

在沙盒内批准配对:

nemoclawmy-assistantconnect
openclaw pairing approve telegram 
exit

在 Telegram 中发送另一条消息。在推理延迟窗口后,机器人应返回由 NVIDIA Nemotron 3 Super 生成的响应。

此时,部署已完成。AI 助手完全在 NVIDIA DGX Spark 上运行,沙盒由 OpenShell 提供,由 120B 开放模型提供动力支持,并可通过 Telegram 远程访问。所有推理均在本地进行,数据不会离开设备,运行时也不存在外部服务依赖项。

可以引用哪些命令进行部署?

以下命令对于持续管理 NemoClaw 部署非常有用。

表 2. 用于编排、监控和访问 NemoClaw 智能体环境的命令

用于彻底卸载的命令

对于清理和卸载,NemoClaw 在~/.nemoclaw/source/uninstall.sh提供了卸载程序。请参阅 nvidia.com 说明页面,了解有关清理标志和排除常见问题的详细信息。

通过策略审批扩展智能体访问权限

默认情况下,沙盒会将智能体限制为一组有限的网络端点。当您要求智能体执行需要外部服务的操作时。

例如,在获取网页或调用第三方 API 时,OpenShell 会阻止请求,智能体会报告网络访问不可用。

要查看此操作,请在主机上的一个终端中打开 OpenShell TUI:

openshellterm

在第二个终端中,连接到沙盒并开始对话:

openclawtui

要求智能体执行“use curl to fetch https://httpbin.org/get”等操作。

代理会尝试请求,OpenShell 会阻止该请求,TUI 会显示已阻止的与目标主机、端口和发起该请求的二进制文件的连接。

在 TUI 中,您可以批准当前会话的请求,也可以拒绝该请求以阻止端点。

如果要永久添加端点,请使用主机的策略预设:

nemoclaw my-assistant policy-add

此审批流程可让您实时查看和控制智能体可以访问的内容,而无需修改基本策略或重启沙盒。

开始使用

立即开始使用 NVIDIA NemoClaw 进行构建。

通过订阅 NVIDIA 新闻并在 LinkedIn、X、Discord 和 YouTube 上关注 NVIDIA AI,及时了解 NVIDIA NemoClaw。

请访问 NemoClaw 页面(https://www.nvidia.cn/ai/nemoclaw/),获取入门资源。在 GitHub 上探索 NemoClaw。

为您推荐

当前非电脑浏览器正常宽度,请使用移动设备访问本站!