NVIDIA NemoClaw:OpenShell 的 OpenClaw 插件

NVIDIA NemoClaw 是一个开源技术栈,用于简化在安全环境中运行始终在线的 OpenClaw 助手。它会安装 NVIDIA OpenShell 运行时(属于 NVIDIA Agent Toolkit 的一部分),这是一个用于运行自主代理的安全环境,中国用户可通过 CGC 路由推理请求。

Alpha software

  • NemoClaw 目前仍处于早期阶段,部分功能仍在持续完善中。我们正在逐步构建面向生产环境的沙箱编排能力,但当前版本主要用于帮助用户搭建与运行基础环境。
  • 相关接口与 API 可能会在后续迭代中进行调整,恕不另行通知。
  • 本项目主要面向早期探索与反馈收集,暂不建议直接用于生产环境。
  • 欢迎社区用户积极反馈问题并参与讨论,共同推动项目完善。

快速开始

按照以下步骤开始使用 NemoClaw,并运行你的第一个沙箱化 OpenClaw 代理。

注意:当前 NemoClaw 需要全新安装 OpenClaw。

前置条件

在开始之前,请检查前置条件,以确保你具备运行 NemoClaw 所需的软件和硬件环境。

软件

  • Linux Ubuntu 22.04 LTS 及以上版本
  • Node.js 20+ 和 npm 10+(安装程序推荐 Node.js 22)
  • 已安装并运行 Docker
  • 已安装 NVIDIA OpenShell

安装 NemoClaw 并初始化 OpenClaw Agent

下载并运行安装脚本。该脚本会在 Node.js 未安装时自动安装,然后运行引导式初始化向导,用于创建沙箱、配置推理以及应用安全策略。

$ curl -fsSL https://nvidia.com/nemoclaw.sh | bash
安装脚本截图

安装完成后,将显示运行环境摘要:

──────────────────────────────────────────────────
Sandbox      my-assistant (Landlock + seccomp + netns)
Model        nvidia/nemotron-3-super-120b-a12b (NVIDIA Cloud API)
──────────────────────────────────────────────────
Run:         nemoclaw my-assistant connect
Status:      nemoclaw my-assistant status
Logs:        nemoclaw my-assistant logs --follow
──────────────────────────────────────────────────

[INFO]  === Installation complete ===
安装完成摘要

与 Agent 交互

连接到沙箱,然后通过 TUI 或 CLI 与代理进行交互。

$ nemoclaw my-assistant connect
连接到沙箱

OpenClaw TUI

OpenClaw TUI 会打开一个交互式聊天界面。输入消息并按 Enter 发送给代理:

sandbox@my-assistant:~$ openclaw tui
OpenClaw TUI界面

发送一条测试消息,并验证你是否收到响应。

OpenClaw CLI

使用 OpenClaw CLI 发送单条消息并打印响应:

sandbox@my-assistant:~$ openclaw agent --agent main --local -m "hello" --session-id test
OpenClaw CLI响应

工作原理

NemoClaw 安装 NVIDIA OpenShell 运行时和 Nemotron 模型,然后使用版本化 Blueprint 创建一个沙箱环境,在该环境中每一个网络请求、文件访问和推理调用都由声明式策略进行控制。nemoclaw CLI 负责编排整个技术栈,包括 OpenShell 网关、沙箱、推理提供方以及网络策略。

组件作用
Plugin用于启动、连接、状态和日志的 TypeScript CLI 命令
Blueprint用于编排沙箱创建、策略和推理配置的版本化 Python 工件
Sandbox 运行 OpenClaw 的隔离 OpenShell 容器,具有策略控制的网络出口和文件系统
Inference通过 OpenShell 网关路由的 NVIDIA 云模型调用,对代理透明

Blueprint 生命周期包括四个阶段:解析工件、验证摘要、规划资源以及通过 OpenShell CLI 应用。

当出现问题时,错误可能来自 NemoClaw 或底层 OpenShell。可使用:

nemoclaw <name> status
openshell sandbox list

推理(Inference)

代理发起的推理请求不会直接离开沙箱。OpenShell 会拦截所有调用并将其路由到 NVIDIA 云提供方。

提供方模型用途
当前配置的推理服务例如nemotron-3-super-120b-a12b需要 API Key

获取 Nemotron 模型 API Key(CGC)

可通过丽蟾CGC获取 nemotron-3-super-120b 模型 API Key,并完成调用。

步骤 1:注册并登录 CGC

在 CGC (https://cgc.chancloud.com) 官网完成账号注册并登录平台,以获取访问模型服务和管理资源的基础权限。

CGC登录界面

步骤 2:创建 API Key

登录后进入控制台-API keys密钥管理页面,创建并保存 API Key,用于后续模型调用的身份认证。

创建API Key

步骤 3:搜索模型

在首页搜索 nemotron-3-super-120b,并进入对应模型详情页面查看详情说明与调用方式。

搜索模型

步骤 4:调用 API

在模型详情页点击「API调用」,参考示例代码并替换 API Key 后即可发起模型推理请求。

调用API

防护层(Protection Layers)

沙箱以严格的基础策略启动,用于控制网络出口和文件系统访问:

层级保护内容生效时间
Network阻止未授权的外部连接运行时可热更新
Filesystem 限制对 /sandbox/tmp 之外的访问 创建时锁定
Process阻止提权和危险系统调用创建时锁定
Inference将模型调用重定向到受控后端运行时可热更新

当代理尝试访问未列出的主机时,OpenShell 会拦截请求,并在 TUI 中提示操作人员批准。

关键命令

主机命令(nemoclaw)

在主机上运行以下命令以管理沙箱:

命令描述
nemoclaw onboard交互式初始化:网关、推理提供方、沙箱
nemoclaw deploy <instance>通过 Brev 部署到远程 GPU
nemoclaw <name> connect进入沙箱
openshell term启动 OpenShell TUI
nemoclaw start/stop/status管理辅助服务

插件命令(openclaw nemoclaw)

在 OpenClaw CLI 内运行:

命令描述
openclaw nemoclaw launch在 OpenShell 沙箱中启动 OpenClaw
openclaw nemoclaw status查看状态
openclaw nemoclaw logs查看日志

完整命令参考:https://docs.nvidia.com/nemoclaw/latest/reference/commands.md

已知限制

  • 插件命令仍在开发中,可能不完全可用
  • 建议优先使用 nemoclaw CLI
  • 某些平台可能需要手动配置

许可

本项目基于 Apache License 2.0 开源