NVIDIA/NemoClaw · 上手攻略
- 仓库:NVIDIA/NemoClaw
- 链接:https://github.com/NVIDIA/NemoClaw
- 分类:ai · agent-runtime · sandbox
- 作者:spark
- 更新:2026-08-18
1. 这是什么
NVIDIA NemoClaw 是一个 alpha 阶段的参考实现栈(reference stack),把"已经在市面上流通的 AI 智能体 CLI"包进 NVIDIA OpenShell 沙箱里跑。它的目标不是再造一个 agent,而是给"agent 已经能跑了、但我想让它跑得可控、可审计、可回滚"的场景,提供一整套安装、生命周期、网络策略、托管推理、快照管理。仓库 README 把 OpenShell 称作"NemoClaw 所基于的容器化执行底座",NemoClaw 自身提供:
- 引导式安装与"开箱即配置"的预置(express install preset)
- 托管推理(managed inference,routed 到 NIM / vLLM / Ollama / OpenAI 兼容端点)
- 网络策略(baseline + operator-approval 流程 + egress 控制)
- 受管集成(managed integrations,限定可达 API)
- 快照(snapshots,用于回滚 / 审计 / 迁移)
- 生命周期操作(创建 / 暂停 / 恢复 / 销毁沙箱)
- 沙箱特定的 agent 别名(
openclaw、nemohermes、nemo-deepagents)
⚠️ 仓库当前 无任何 release tag(截至 2026-08-18 GitHub Releases 页面"There aren't any releases here")。README 明确说明"NemoClaw is an alpha project, so maintainers review issues, discussions, and pull requests on a best effort basis without guaranteed response timelines"——版本号、tag、SHA 不要在攻略里写死。
2. 解决什么问题
把大模型 agent 放进生产环境时,反复出现三类痛点:
- 能不能让它做事,但不让它乱做事? OAuth scope 与 IAM 角色只能管"能不能连到服务",管不到"连上之后做什么"。NemoClaw 通过 OpenShell 沙箱 + 网络策略 + capability drop + 进程限制,让 agent 即使被 prompt 注入也无法直接调用
drop_table类的破坏性动作。 - 多个 agent 共用一把 API key,出事后怎么溯源? 五六个 sub-agent 串在一个 key 下,日志只显示"某 agent 调用了某工具",无法做 incident response。NemoClaw 提供每个沙箱独立身份 + 不可篡改审计记录("what policy was active, which agent, which decision was made")。
- 如何在不暴露 secret 的前提下升级 / 迁移 / 回滚 agent 配置? 沙箱快照 + 静态 + 动态网络策略组合,让运维可以用一个 GitOps 风格的工作流把整套 agent 环境当不可变基础设施来管。
适合的典型角色:
- 安全团队要做 OWASP Agentic Top 10 / EU AI Act 合规落地
- SRE 想把"agent 跑挂"的回滚时间压到秒级
- 个人开发者想在 DGX Spark / DGX Station / GB300 / WSL 上托管一个 always-on 的本地 agent
不适合的:只想"装一个 chat 客户端"——直接用 OpenClaw / Claude Code / Codex CLI 就行,不需要这层沙箱包装。
3. 快速安装
3.1 硬件与平台前提
官方文档把平台分为几类,对应不同预置:
- DGX Spark / DGX Station / NVIDIA GB300 —— 直接用 express install 默认预置
- Windows WSL —— WSL 专用预置
- 普通 macOS / Linux —— 走交互式选择(agent + sandbox 名 + 推理 provider + 模型)
- N1x(⚠️ 不在 supported-platform 集合内)—— 仅暴露 Deferred managed-vLLM preview,明确"未完成物理 NemoClaw Express E2E 验证"
- 其他 / 未识别 —— 拒绝自动选型,停下来问用户
3.2 两条安装路径
路径 A:用 coding agent 安装(推荐给非终端用户)
把 starter prompt 复制到 Cursor / Claude Code / Codex / Copilot:
Help me install and run NVIDIA NemoClaw from this coding-agent UI. ...
这个 prompt 强制 agent 一次只问一个问题、解释每条命令、需要批准才执行、不把 API key / 密码贴到聊天框(用 <PASTE_YOUR_API_KEY_HERE> 占位)。
路径 B:终端交互安装
README 给出的最小流程(命令名来自 quickstart.md,未在 README 内提供单行 curl install,必须走文档步骤):
- 阅读 Prerequisites,确认 Docker / NVIDIA Container Toolkit / Node.js / sudo 权限齐备
- 执行安装器;在
Run express install with these settings? [Y/n]:提示下回车使用预置 - Express 模式默认安装 OpenClaw;若想换 Hermes 输入
n,想换 LangChain Deep Agents Code 也输入n - 安装完成后跳转到对应 quickstart:
- OpenClaw →
quickstart.html- Hermes →quickstart-hermes.html- Deep Agents Code →user-guide/deepagents/get-started/quickstart.html
3.3 一键可复制的只读 readiness check
在执行安装前跑一遍只读自检,识别硬件与已存在的服务(命令来自 quickstart 文档):
# 操作系统与 WSL 探测
uname -a
cat /etc/os-release
# NVIDIA 驱动 / GPU
nvidia-smi
nvidia-smi --query-gpu=name,driver_version --format=csv
# Docker / Container Toolkit
docker --version
docker info 2>&1 | grep -E "Server Version|nvidia"
# 端口占用(8000 是 vLLM 默认)
ss -tlnp | grep ':8000' || echo "8000 free"
# 已有推理服务
which ollama vllm 2>/dev/null
curl -s --max-time 3 http://localhost:8000/v1/models || echo "no vllm on 8000"
⚠️ 这些命令 仅用于 preflight,不是 NemoClaw 安装器本身。官方安装步骤必须看 docs 实时版(quickstart 文档明示"This page is for the main branch and may not match the latest release. Check the version selector.")。
4. 核心用法
4.1 三种 supported agents 对应的命令行别名
README / quickstart 给出的 agent 别名约定(未发布版本号,仅作为用法名引用):
| Agent | 环境变量 | 安装器别名 |
|---|---|---|
| OpenClaw(默认) | NEMOCLAW_AGENT=openclaw |
(默认预置) |
| Hermes | NEMOCLAW_AGENT=hermes 或 nemohermes onboard |
n 选 Hermes |
| LangChain Deep Agents Code | NEMOCLAW_AGENT=langchain-deepagents-code 或 nemo-deepagents onboard |
n 选 Deep Agents Code |
启动 Hermes 时,如果连接来自"light terminal",NemoClaw 会装一个 managed nemoclaw-light Hermes skin 来提供可读 assistant 文本;终端不再需要时自动卸载,不覆盖用户自己选的 skin。
4.2 选择推理 provider
quickstart 列出的 provider 顺序(在普通 macOS / Linux 下,过滤后展示):
- Existing vLLM(仅当检测到
localhost:8000有 ready server 且非 N1x) - Managed vLLM(本地大下载,NVIDIA 优化)
- Local Ollama(仅当选定 agent + 平台支持)
- NVIDIA Endpoints(需 NVIDIA API key)
- OpenRouter(需 OpenRouter API key)
- OpenAI(需 OpenAI API key)
- Anthropic(需 Anthropic API key)
- Google Gemini(需 Gemini API key)
- Model Router(需 NVIDIA API key)
- 其它 OpenAI-compatible 端点
- 其它 Anthropic-compatible 端点
- Hermes Provider(仅 Hermes)
⚠️ DGX Spark / DGX Station / GB300 走平台专用预置,不展示通用 provider 菜单;N1x 仅暴露 Deferred managed-vLLM preview(NEMOCLAW_PROVIDER=install-vllm),用 nvidia/Qwen3.6-35B-A3B-NVFP4 模型、独占 8000 端口。
4.3 非交互模式开关
NEMOCLAW_NON_INTERACTIVE=1 关闭 NemoClaw 自家提示;不绕过执行沙箱(execution sandbox)的权限——这点在文档里被明确强调,避免被误解为"开 = 自动批准"。
NEMOCLAW_NON_INTERACTIVE_SUDO_MODE=prompt 用于 sudo 不可免密时让 coding agent UI 安全收集密码;永远不会通过聊天 / API-key 表单收主机密码。
4.4 网络策略(Network Policy)
文档 Network Policies 与 Customize Network Policy 定义了两层:
- Baseline rules(默认 deny + 显式 allow 列表)
- Operator approval flow(某些动作为了透明,要求 operator 二次确认)
- Egress control(出站白名单 + 出站速率)
- Customize(静态 vs 动态策略切换、preset)
⚠️ quickstart 第 4.3 节警告:"If the user or managed policy denies approval, stop before the command." —— 策略拒绝时不绕过。
4.5 沙箱硬化(Sandbox Hardening)
- 容器安全措施(seccomp / apparmor / capability drop)
- 进程 / 文件描述符限制
- 只读根文件系统(按需)
- 网络命名空间隔离
复现 ≤ 10 行最小命令(直接摘自 README,不杜撰):
# 贡献者环境初始化(不创建 runtime sandbox)
./scripts/dev-setup.sh
# 仅当你显式需要 host 上可见的开发 CLI 时
./scripts/dev-setup.sh --expose-cli
# 仅当改动需要 sandbox 验证时(这条同时 opt-in CLI exposure)
./scripts/dev-setup.sh --with-runtime
⚠️ README 强调"default 和 --repair 模式只改仓库本地依赖、build、hooks"——不会创建 sandbox;想跑端到端验证必须显式 --with-runtime。
5. 典型适用场景
- 合规落地:OWASP Agentic Top 10 10/10 全覆盖(README 自我声明),EU AI Act / NIST AI RMF 对"agent 行为可审计 + 网络可控 + 凭据不外泄"的强制要求
- always-on 本地 agent:在 DGX Spark / DGX Station / GB300 上 24×7 跑一个 OpenClaw,让它调度自家数据 + 调用受控外部 API
- 多沙箱并行实验:为同一 agent 准备 5 个不同 policy 的沙箱,对比 prompt 注入时的行为差异
- 回滚演练:用 snapshots 做"agent 配置升级失败秒级回退"
- 多 agent 协作时溯源:每个沙箱独立身份 + 不可篡改审计日志,incident response 时能精确到"哪个 agent 在哪个 policy 下做的哪个决策"
6. 坑与注意
- alpha 阶段:仓库明说"NemoClaw is an alpha project... without guaranteed response timelines",任何版本号、tag、SHA 都不应写死,以 docs.nvidia.com/nemoclaw/latest 实时为准。
- 平台矩阵:DGX Spark 不能只凭 GPU 名认定——必须结合 product / firmware / architecture / GPU 四重证据;DGX Station 同理。错认会进入错误预置。
- N1x 路径:明确 outside supported-platform set,"accepting this path is explicit preview intent";生产部署不要碰。
- 凭据安全红线:NemoClaw 永不通过聊天收 API key / 密码 / token;表单用
<PASTE_YOUR_API_KEY_HERE>占位;ssh -N -L 转发用于远程 credential form 是被允许的唯一工作站侧命令。 - 执行沙箱 vs NemoClaw 沙箱:当 coding agent 的 execution sandbox 拦截 docker 命令时,需用 command-scoped approval 单独批准那条命令;不要为了绕过而改 docker socket 权限或申请宽泛的 host 访问。
- Ollama 升级冲突:不能用用户本地的 Ollama 静默替换系统 Ollama——旧的服务还会继续跑,造成端口冲突。文档要求"do not silently use user-local Ollama for a system Ollama upgrade"。
- Hermes 的 light skin:在 light terminal 上自动装
nemoclaw-light,会在终端不再需要时自动卸载;如果用户自己装了一个 skin,NemoClaw 不覆盖。 - 隐含费用:Managed vLLM "large download"、host 推理占用磁盘 / 显存;NVIDIA Endpoints / Model Router 走 NVIDIA API key 计费——选型前必须确认预算。
7. 与同类对比
| 维度 | NVIDIA NemoClaw | Docker + 手动沙箱 | E2B / Fly.io sandbox | LangSmith Agent Evaluator |
|---|---|---|---|---|
| 定位 | reference stack(参考实现栈) | 通用容器 | 通用 sandbox API | LLM 评估 + tracing |
| Agent 集成 | 内建 OpenClaw / Hermes / Deep Agents Code | 自己写 | 不绑定 | 不绑定 |
| 推理路由 | 内置 12 类 provider + managed vLLM | 自己接 | 自己接 | 自己接 |
| 网络策略 | first-class(baseline + approval + egress) | 需手写 iptables / Cilium | 较细 | 无 |
| 审计 | 每个沙箱独立身份 + 不可篡改日志 | 自己接 Loki / OpenSearch | 自己接 | 自家 trace |
| 平台加成 | DGX Spark / Station / GB300 预置 | 无 | 无 | 无 |
| 成熟度 | alpha(无 release tag) | 稳 | 稳 | 稳 |
| 适合 | NVIDIA 硬件 + 合规场景 | 自定义程度高 | 短任务 serverless 沙箱 | 评估 / 监控 |
简版取舍:要"agent 在自家机器上 7×24 + 网络/审计内建" → NemoClaw;要"灵活 + 不绑 NVIDIA" → Docker + iptables;要"serverless 一次性 sandbox" → E2B;要"先评估 / 监控再谈沙箱" → LangSmith。
8. 一句话推荐
如果你手上有 DGX / GB300 / WSL + 需要把 agent 跑得"可控、可审计、可回滚",NemoClaw 的 alpha stack 值得现在就当"参考实现"试用;否则等 GA 再碰——alpha 不适合生产。
来源与不确定处
- 来源(已 fetch 验证):
https://github.com/NVIDIA/NemoClawREADME 完整 rawhttps://docs.nvidia.com/nemoclaw/latest/user-guide/openclaw/get-started/quickstart.mdquickstart 主体https://github.com/NVIDIA/NemoClaw/releases确认"无任何 release"- 不确定处:
- 无版本号可标:仓库无 tag,README 也未声明当前 main SHA——攻略不写版本号,写"alpha, no release tag as of 2026-08-18"
- CLI 子命令全集:README 把 CLI 引用交给 CLI Commands,未在 README 内逐条列出——本攻略只复述 README 中出现的
scripts/dev-setup.sh三种模式 - 12 个 provider 在各 agent 下是否齐备:quickstart 明示"按选定 agent + 平台过滤"——本攻略给出通用排序,但"Deep Agents 是否支持 Local Ollama"等组合要按官方 docs 实时版二次核验
- OWASP Agentic Top 10 覆盖明细:README 自我宣称 10/10,但未在本攻略展开逐条对照表;引用前请回看 docs/compliance/owasp-agentic-top10-architecture.md
- Spark 命名冲突:仓库的默认 agent 名是 OpenClaw,与本工作环境同名——攻略里用 "OpenClaw(默认)" 区分