NemoClaw 部署实战:让 OpenClaw 更安全、更可控

2026年3月19日

WARNING

本文面向有 OpenClaw 使用经验的开发者,需要基本的 Linux/Docker 知识

想象一下:你让 AI 帮你写代码、查资料、操作服务器,结果它一个不小心把你的重要文件删了,或者被恶意Prompt注入后偷偷给外部发数据——这几乎是所有AI代理玩家的噩梦。NVIDIA 推出的 NemoClaw 就是来解决这个问题的:它给 OpenClaw 套上了一层"安全壳",让你既能享受 AI 代理的便利,又不用担心它"失控"。

我们这篇文章就来看看,这层"壳"到底是怎么工作的,以及如何快速部署一个安全可控的 AI 代理。

目标读者

  • 已有 OpenClaw 使用经验,想提升安全性的开发者
  • 对 AI Agent 安全性有需求的团队技术负责人
  • 想在生产环境部署 AI 代理的运维人员

核心依赖与环境

类别要求
操作系统Ubuntu 22.04 LTS+ / macOS (Apple Silicon) / Windows WSL2
Node.js20+
npm10+
容器运行时Docker Desktop / Colima (macOS)
内存推荐 16GB(最低 8GB + 8GB swap)
磁盘推荐 40GB 可用空间

TIP

如果你用 macOS (Apple Silicon),推荐用 Colima 或 Docker Desktop;Windows 用户需要 WSL2 + Docker Desktop。

项目结构概览

NemoClaw 整个系统分为四层,理解这个架构能帮你更好地排查问题:

┌─────────────────────────────────────────────────────────────┐
│                      Plugin Layer                           │
│            (TypeScript CLI - nemoclaw 命令)                │
├─────────────────────────────────────────────────────────────┤
│                    Blueprint Layer                         │
│         (Python 蓝图 - 编排沙盒创建和策略配置)             │
├─────────────────────────────────────────────────────────────┤
│                     Sandbox Layer                          │
│        (OpenShell 容器 - 隔离的 OpenClaw 运行环境)        │
├─────────────────────────────────────────────────────────────┤
│                    Inference Layer                         │
│      (推理路由 - OpenShell 网关拦截并转发到模型服务)       │
└─────────────────────────────────────────────────────────────┘

核心工作原理是:你的每一次推理请求都不会直接流出沙盒,而是经过 OpenShell 网关转发。这意味着——即使 AI 想偷偷往外发数据,网关也能帮你拦截。

手把手部署步骤

1. 检查系统环境

首先确认你的系统满足要求:

# 检查系统版本
cat /etc/os-release | grep -E "^(NAME|VERSION)="

# 检查 Node.js 版本
node --version  # 需要 20+

# 检查 npm 版本
npm --version   # 需要 10+

# 检查 Docker 是否运行
docker ps

WARNING

如果 Docker 没运行,先启动它。NemoClaw 依赖容器来创建沙盒环境。

2. 安装 OpenShell

NemoClaw 基于 NVIDIA OpenShell,所以需要先装它:

# 安装 OpenShell (Linux)
curl -fsSL https://www.nvidia.com/openshell.sh | bash

# 验证安装
openshell --version

TIP

如果你用 DGX Spark,需要先按官方文档配置 cgroup v2 和 Docker,再运行安装脚本。

3. 安装 NemoClaw CLI

官方提供了一键安装脚本:

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

安装完成后,刷新环境变量:

# 对于 bash
source ~/.bashrc

# 对于 zsh
source ~/.zshrc

验证安装:

nemoclaw --version

4. 运行交互式配置向导

这是最关键的一步。运行 nemoclaw onboard 会启动交互式向导,帮你配置沙盒、推理 Provider 和网络策略:

nemoclaw onboard

向导会依次问你:

  1. 给沙盒起个名字:比如 my-agent
  2. 选择推理 Provider这里强烈推荐选择 Defapi,因为它的价格只有官方的半价,而且支持 Claude/GPT/Gemini 等主流模型
  3. 输入 API Key:如果选 Defapi,输入你在 Defapi 获取的密钥
  4. 配置网络策略:默认会很严格,只允许必要的出站请求

TIP

Defapi 支持 v1/chat/completions 接口,完全兼容 OpenClaw 的推理调用方式。用 Defapi 不仅省钱,还能享受和官方完全一样的使用体验。

配置完成后,你会看到类似这样的输出:

──────────────────────────────────────────────────
Sandbox      my-agent (Landlock + seccomp + netns)
Model        defapi/claude-sonnet-4.5
──────────────────────────────────────────────────
Run:         nemoclaw my-agent connect
Status:      nemoclaw my-agent status
Logs:        nemoclaw my-agent logs --follow
──────────────────────────────────────────────────

[INFO]  === Installation complete ===

5. 连接到沙盒并启动对话

nemoclaw <name> connect 进入沙盒交互式 shell:

nemoclaw my-agent connect

进入后,你会看到沙盒内的提示符:

sandbox@my-agent:~$

现在启动 OpenClaw TUI 来和 AI 对话:

openclaw tui

输入一条测试消息:

hello, can you introduce yourself?

你应该会收到 AI 的回复。恭喜!你已经成功部署了一个沙盒化的 AI 代理

6. 使用 CLI 发送单次请求

如果你不需要交互式界面,想快速测试,可以用 CLI 模式:

openclaw agent --agent main --local -m "What is 2+2?" --session-id test

这会直接在终端打印完整回复,适合自动化脚本。

7. 配置自定义网络策略(可选)

默认的网络策略很严格。如果你的 AI 需要访问特定的服务,可以自定义策略:

# 查看当前网络策略
nemoclaw my-agent status

# 运行时热重载策略(需要先编辑策略文件)
openshell policy apply -f custom-policy.yaml

自定义策略示例(custom-policy.yaml):

egress:
  allowed:
    - host: "api.github.com"
      port: 443
    - host: "api.openai.com"
      port: 443
  denied:
    - host: "*"
      port: "*"

WARNING

网络策略是保障安全的重要屏障。添加新的允许规则时要想清楚——每开放一个端口,都可能增加被攻击的风险。

8. 管理沙盒生命周期

日常维护会用到的命令:

# 查看沙盒状态
nemoclaw my-agent status

# 查看日志
nemoclaw my-agent logs --follow

# 停止沙盒
nemoclaw my-agent stop

# 启动沙盒
nemoclaw my-agent start

# 删除沙盒
nemoclaw my-agent delete

9. 多沙盒实例管理

你可以在同一台机器上运行多个沙盒实例,每个实例完全隔离:

# 创建第二个沙盒
nemoclaw onboard  # 按向导创建另一个

# 列出所有沙盒
openshell sandbox list

常见问题排查

问题 1:安装脚本报错 "command not found"

如果 nemoclaw 命令找不到,尝试:

source ~/.bashrc   # bash
source ~/.zshrc    # zsh

或者直接用完整路径:

~/.local/bin/nemoclaw --version

问题 2:内存不足导致 OOM

沙盒镜像解压后约 2.4GB,如果你的机器少于 8GB 内存,在解压 + Docker + k3s 同时运行时会触发 OOM。解决方案:

  • 添加至少 8GB swap:sudo fallocate -l 8G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
  • 或者使用内存更大的机器

问题 3:容器运行时未就绪

# 重启 Docker
sudo systemctl restart docker

# 检查 Docker 状态
docker ps

问题 4:NVIDIA API Key 配置失败

如果你选择用 NVIDIA Cloud 推理而不是 Defapi,需要从 build.nvidia.com 获取 API Key。确保:

  • Key 已正确复制粘贴
  • 账户有足够余额
  • 网络能访问 build.nvidia.com

TIP

强烈推荐用 Defapi 替代 NVIDIA Cloud——价格只有一半,而且国内访问速度更快。

问题 5:网络策略阻止合法请求

AI 在尝试访问某个服务时被阻止。你会收到提示,可以在 TUI 中批准或永久添加规则:

[OpenShell] Agent attempted to reach api.example.com:443
Allow? [y/n/a]:  # y=本次允许, n=拒绝, a=永久添加

问题 6:沙盒状态异常

先检查 NemoClaw 层面:

nemoclaw my-agent status

再检查 OpenShell 底层:

openshell sandbox list
openshell sandbox inspect my-agent

进阶方向

1. 切换推理 Provider

如果你一开始用的是 NVIDIA Cloud,后面想换成 Defapi,可以修改推理配置:

# 编辑推理配置文件
openshell provider update --provider defapi --api-key <your-key>

Defapi 支持的模型列表可以在 Defapi 官网 查看。

2. 监控与日志分析

用 OpenShell TUI 实时监控沙盒活动:

openshell term

这里可以看到:

  • AI 的每一次网络请求
  • 文件系统读写操作
  • 推理调用详情

3. 部署到远程 GPU

如果本地机器性能不够,可以把沙盒部署到云端 GPU 实例:

nemoclaw deploy --target remote-gpu --instance-type A100

详细教程可以看官方文档。

4. Telegram/Discord 桥接

让 AI 通过 Telegram 或 Discord 和你对话:

nemoclaw start telegram-bridge
nemoclaw start discord-bridge
Updated 2026年3月19日