Skip to content

Commit 843cf36

Browse files
authored
docs: simplify README and make landing docs agent-agnostic (#4552)
## Summary Simplifies the GitHub README into a short landing page and updates the docs site intro pages to describe NemoClaw as an agent-agnostic sandbox stack. OpenClaw and Hermes are both listed as supported agents, and Hermes is no longer labeled experimental. ## Related Issue None. ## Changes - Rewrite `README.md` to point at docs for prerequisites, quickstarts, and deep topics instead of duplicating them inline. - Update `docs/index.mdx`, `docs/about/overview.mdx`, and `docs/about/how-it-works.mdx` with agent-agnostic framing and links to both OpenClaw and Hermes quickstarts. - Remove the experimental Hermes warning from `docs/get-started/quickstart-hermes.mdx`. - Move Model Router pool-config and routing-flow details from the old README into `docs/inference/inference-options.mdx`. - Retarget platform-matrix sync from `README.md` to `docs/get-started/prerequisites.mdx` using MDX `{/* */}` sentinels so Fern builds cleanly. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [x] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Verification - [x] `npx prek run --all-files` passes (pre-commit hooks on commit) - [ ] `npm test` passes - [ ] Tests added or updated for new or changed behavior - [x] No secrets, API keys, or credentials committed - [x] Docs updated for user-facing behavior changes - [ ] `npm run docs` builds without warnings (doc changes only) - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Streamlined README with clearer entry points and updated resource links * Rebranded architecture docs to emphasize NemoClaw and OpenShell support for multiple agents * Removed the experimental warning from the Hermes quickstart * Added prerequisites page embedding for platform matrix and clarified supported platforms * Added detailed Model Router guidance with YAML examples and tolerance explanation * Updated quickstart navigation to offer both OpenClaw and Hermes paths * **Chores** * Updated platform-docs generation to target generated prerequisites and MDX outputs <!-- review_stack_entry_start --> [![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/NVIDIA/NemoClaw/pull/4552?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent f81f4ac commit 843cf36

9 files changed

Lines changed: 95 additions & 284 deletions

File tree

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ repos:
7878
hooks:
7979
- id: platform-matrix-sync
8080
name: Sync platform matrix to docs
81-
entry: bash -c 'python3 scripts/generate-platform-docs.py && git add README.md docs/inference/inference-options.mdx'
81+
entry: bash -c 'python3 scripts/generate-platform-docs.py && git add docs/get-started/prerequisites.mdx docs/inference/inference-options.mdx'
8282
language: system
83-
files: ^(ci/platform-matrix\.json|README\.md|docs/inference/inference-options\.mdx|scripts/generate-platform-docs\.py)$
83+
files: ^(ci/platform-matrix\.json|docs/get-started/prerequisites\.mdx|docs/inference/inference-options\.mdx|scripts/generate-platform-docs\.py)$
8484
pass_filenames: false
8585
priority: 3
8686

README.md

Lines changed: 19 additions & 246 deletions
Original file line numberDiff line numberDiff line change
@@ -3,224 +3,38 @@
33
SPDX-License-Identifier: Apache-2.0
44
-->
55

6-
# 🦞 NVIDIA NemoClaw: Reference Stack for Running OpenClaw in OpenShell
6+
# NVIDIA NemoClaw: Reference Stack for Sandboxed AI Agents in OpenShell
77

8-
<!-- start-badges -->
98
[![License](https://img.shields.io/badge/License-Apache_2.0-blue)](https://github.com/NVIDIA/NemoClaw/blob/main/LICENSE)
109
[![Security Policy](https://img.shields.io/badge/Security-Report%20a%20Vulnerability-red)](https://github.com/NVIDIA/NemoClaw/blob/main/SECURITY.md)
11-
[![Project Status](https://img.shields.io/badge/status-alpha-orange)](https://github.com/NVIDIA/NemoClaw/blob/main/docs/about/release-notes.mdx)
10+
[![Project Status](https://img.shields.io/badge/status-alpha-orange)](https://docs.nvidia.com/nemoclaw/latest/about/release-notes.html)
1211
[![Discord](https://img.shields.io/badge/Discord-Join-7289da)](https://discord.gg/XFpfPv9Uvx)
13-
<!-- end-badges -->
1412

15-
<!-- start-intro -->
16-
NVIDIA NemoClaw is an open source reference stack that simplifies running [OpenClaw](https://openclaw.ai) always-on assistants more safely.
17-
It installs the [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell) runtime, part of NVIDIA Agent Toolkit, which provides additional security for running autonomous agents.
18-
<!-- end-intro -->
13+
NVIDIA NemoClaw is an open source reference stack for running always-on AI agents more safely inside [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell) sandboxes.
14+
It provides guided onboarding, a hardened blueprint, routed inference, network policy, and lifecycle management through a single CLI.
1915

20-
> **Alpha software**
21-
>
22-
> NemoClaw is available in early preview starting March 16, 2026.
16+
> [!NOTE]
17+
> NemoClaw is **alpha software**.
2318
> This software is not production-ready.
24-
> Interfaces, APIs, and behavior may change without notice as we iterate on the design.
25-
> The project is shared to gather feedback and enable early experimentation.
26-
> We welcome issues and discussion from the community while the project evolves.
19+
> Interfaces, APIs, and behavior may change without notice.
20+
> See [Release Notes](https://docs.nvidia.com/nemoclaw/latest/about/release-notes.html) for the current version.
2721
28-
NemoClaw adds guided onboarding, a hardened blueprint, state management, OpenShell-managed channel messaging, routed inference, and layered protection on top of the [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell) runtime. For the full feature list, refer to [Overview](https://docs.nvidia.com/nemoclaw/latest/about/overview.html). For the system diagram, component model, and blueprint lifecycle, refer to [How It Works](https://docs.nvidia.com/nemoclaw/latest/about/how-it-works.html) and [Architecture](https://docs.nvidia.com/nemoclaw/latest/reference/architecture.html).
22+
**Supported agents:**
2923

30-
## Getting Started
24+
- [OpenClaw](https://openclaw.ai) (default)
25+
- [Hermes](https://get-hermes.ai/)
3126

32-
Follow these steps to install NemoClaw and run your first sandboxed OpenClaw agent.
27+
For capabilities, architecture, security controls, and the full feature list, see the [NemoClaw documentation](https://docs.nvidia.com/nemoclaw/latest/).
3328

34-
<!-- start-quickstart-guide -->
29+
## Get Started
3530

36-
### Prerequisites
31+
Review [Prerequisites](https://docs.nvidia.com/nemoclaw/latest/get-started/prerequisites.html) before installing.
32+
For Hermes, set `NEMOCLAW_AGENT=hermes` before running the installer, or use the `nemohermes` alias after install.
3733

38-
Before getting started, check the prerequisites to ensure you have the necessary software and hardware to run NemoClaw.
39-
40-
#### Hardware
41-
42-
| Resource | Minimum | Recommended |
43-
|----------|----------------|------------------|
44-
| CPU | 4 vCPU | 4+ vCPU |
45-
| RAM | 8 GB | 16 GB |
46-
| Disk | 20 GB free | 40 GB free |
47-
48-
The sandbox image is approximately 2.4 GB compressed. During image push, the Docker daemon, k3s, and the OpenShell gateway run alongside the export pipeline, which buffers decompressed layers in memory. On machines with less than 8 GB of RAM, this combined usage can trigger the OOM killer. If you cannot add memory, configuring at least 8 GB of swap can work around the issue at the cost of slower performance.
49-
50-
#### Software
51-
52-
| Dependency | Version |
53-
|------------|----------------------------------|
54-
| Node.js | 22.16 or later |
55-
| npm | 10 or later |
56-
| Platform | See below |
57-
58-
#### OpenShell Lifecycle
59-
60-
For NemoClaw-managed environments, use `nemoclaw onboard` when you need to create or recreate the OpenShell gateway or sandbox.
61-
Avoid `openshell self-update`, `npm update -g openshell`, `openshell gateway start --recreate`, or `openshell sandbox create` directly unless you intend to manage OpenShell separately and then rerun `nemoclaw onboard`.
62-
63-
#### Container Runtimes
64-
65-
The following table lists tested platform and runtime combinations.
66-
Availability is not limited to these entries, but untested configurations may have issues.
67-
68-
<!-- platform-matrix:begin -->
69-
| OS | Container runtime | Status | Notes |
70-
|----|-------------------|--------|-------|
71-
| Linux | Docker | Tested | Primary tested path. |
72-
| macOS (Apple Silicon) | Colima, Docker Desktop | Tested with limitations | Install Xcode Command Line Tools (`xcode-select --install`) and start the runtime before running the installer. |
73-
| DGX Spark | Docker | Tested | Use the standard installer and `nemoclaw onboard`. For an end-to-end walkthrough with local Ollama inference, see the [NVIDIA Spark playbook](https://build.nvidia.com/spark/nemoclaw). |
74-
| Windows WSL2 | Docker Desktop (WSL backend) | Tested with limitations | Requires WSL2 with Docker Desktop backend. |
75-
<!-- platform-matrix:end -->
76-
77-
For platform-specific pre-setup (for example, Windows WSL 2), see [Prerequisites](https://docs.nvidia.com/nemoclaw/latest/get-started/prerequisites.html).
78-
79-
### Install NemoClaw and Onboard OpenClaw Agent
80-
81-
Download and run the installer script.
82-
The script installs Node.js if it is not already present, then runs the guided onboard wizard to create a sandbox, configure inference, and apply security policies.
83-
84-
> **ℹ️ Note**
85-
>
86-
> NemoClaw creates a fresh OpenClaw instance inside the sandbox during the onboarding process.
87-
>
88-
> The installer runs as your normal user and does not require `sudo` or root.
89-
> It installs Node.js via nvm and NemoClaw via npm, both into user-local directories.
90-
> Docker must be installed and running before you run the installer. Installing Docker may require elevated privileges on Linux.
91-
92-
```bash
93-
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
94-
```
95-
96-
The piped installer prompts through your terminal. In headless scripts or CI,
97-
pass explicit acceptance to the `bash` side of the pipe:
98-
99-
```bash
100-
curl -fsSL https://www.nvidia.com/nemoclaw.sh | NEMOCLAW_NON_INTERACTIVE=1 NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1 bash
101-
```
102-
103-
If you use nvm or fnm to manage Node.js, the installer may not update your current shell's PATH.
104-
If `nemoclaw` is not found after install, run `source ~/.bashrc` (or `source ~/.zshrc` for zsh) or open a new terminal.
105-
106-
When the install completes, a summary confirms the running environment:
107-
108-
```text
109-
──────────────────────────────────────────────────
110-
Sandbox my-assistant (Landlock + seccomp + netns)
111-
Model nvidia/nemotron-3-super-120b-a12b (NVIDIA Endpoints)
112-
──────────────────────────────────────────────────
113-
Run: nemoclaw my-assistant connect
114-
Status: nemoclaw my-assistant status
115-
Logs: nemoclaw my-assistant logs --follow
116-
──────────────────────────────────────────────────
117-
118-
To change settings later:
119-
Model: nemoclaw inference get
120-
nemoclaw inference set --model <model> --provider <provider> --sandbox my-assistant
121-
122-
[INFO] === Installation complete ===
123-
```
124-
125-
### Chat with the Agent
126-
127-
Connect to the sandbox, then chat with the agent through the TUI or the CLI.
128-
129-
```bash
130-
nemoclaw my-assistant connect
131-
```
132-
133-
In the sandbox shell, open the OpenClaw terminal UI and start a chat:
134-
135-
```bash
136-
openclaw tui
137-
```
138-
139-
Alternatively, send a single message and print the response:
140-
141-
```bash
142-
openclaw agent --agent main -m "hello" --session-id test
143-
```
144-
145-
### Model Router (Experimental)
146-
147-
NemoClaw includes an optional model router that automatically picks the most efficient model for each query. Instead of sending every request to a single large model, the router uses a lightweight encoder to predict which model in a pool can handle each query correctly, then routes to the cheapest one that meets an accuracy threshold.
148-
149-
The router uses the [NVIDIA LLM Router v3](https://github.com/NVIDIA-AI-Blueprints/llm-router/tree/v3) prefill routing engine and runs on the host as a LiteLLM proxy. The sandbox reaches it through the OpenShell gateway and continues to call `https://inference.local/v1`; do not probe `localhost:4000` or `host.openshell.internal` directly from inside the sandbox.
150-
151-
#### Enable during onboard
152-
153-
Select **Model Router (experimental)** during the onboard wizard, or set `NEMOCLAW_PROVIDER=routed` for non-interactive mode:
154-
155-
```bash
156-
NEMOCLAW_PROVIDER=routed nemoclaw onboard --non-interactive
157-
```
158-
159-
The onboard wizard starts the router, configures the OpenShell provider, and creates the sandbox. The router process runs on the host on port 4000.
160-
161-
#### Configure the model pool
162-
163-
Edit `nemoclaw-blueprint/router/pool-config.yaml` to define which models the router can choose from:
164-
165-
```yaml
166-
routing:
167-
method: prefill
168-
checkpoint: llm-router/checkpoints/prefill_router_qwen08b.pt
169-
tolerance: 0.20
170-
encoder: Qwen/Qwen3.5-0.8B
171-
172-
models:
173-
- name: nano
174-
litellm_model: "openai/nvidia/nvidia/Nemotron-3-Nano-30B-A3B"
175-
cost_per_m_input_tokens: 0.05
176-
api_base: "https://inference-api.nvidia.com"
177-
178-
- name: super
179-
litellm_model: "openai/nvidia/nvidia/nemotron-3-super-v3"
180-
cost_per_m_input_tokens: 0.10
181-
api_base: "https://inference-api.nvidia.com"
182-
```
183-
184-
The `tolerance` parameter controls the accuracy-cost tradeoff: 0.0 always picks the most accurate model, 1.0 always picks the cheapest, and 0.20 (default) allows up to 20 percentage points below the best for a cheaper model.
185-
186-
#### Architecture
187-
188-
The router runs on the host, not inside the sandbox:
189-
190-
```text
191-
Sandbox (OpenClaw) ──> OpenShell Gateway (L7 proxy) ──> Model Router (:4000) ──> NVIDIA API
192-
└── PrefillRouter selects model
193-
```
194-
195-
Credentials flow through the OpenShell provider system. The sandbox never sees raw API keys.
196-
197-
### Uninstall
198-
199-
To remove NemoClaw and all resources created during setup, run the CLI's built-in uninstall command:
200-
201-
```bash
202-
nemoclaw uninstall
203-
```
204-
205-
| Flag | Effect |
206-
|--------------------|-----------------------------------------------------|
207-
| `--yes` | Skip the confirmation prompt. |
208-
| `--keep-openshell` | Leave OpenShell binaries installed. |
209-
| `--delete-models` | Also remove NemoClaw-pulled Ollama models. |
210-
211-
`nemoclaw uninstall` runs the version-pinned `uninstall.sh` shipped with your installed CLI, with no network fetch at uninstall time.
212-
213-
If the `nemoclaw` CLI is missing or broken, fall back to the hosted script:
214-
215-
```bash
216-
curl -fsSL https://raw.githubusercontent.com/NVIDIA/NemoClaw/refs/heads/main/uninstall.sh | bash
217-
```
218-
219-
For a full comparison of the two forms, see [`nemoclaw uninstall` vs. the hosted `uninstall.sh`](https://docs.nvidia.com/nemoclaw/latest/reference/commands.html#nemoclaw-uninstall-vs-the-hosted-uninstallsh).
220-
221-
For troubleshooting installation or onboarding issues, see the [Troubleshooting guide](https://docs.nvidia.com/nemoclaw/latest/reference/troubleshooting.html).
222-
223-
<!-- end-quickstart-guide -->
34+
| Agent | Guide |
35+
|-------|-------|
36+
| OpenClaw (default) | [Quickstart with OpenClaw](https://docs.nvidia.com/nemoclaw/latest/get-started/quickstart.html) |
37+
| Hermes | [Quickstart with Hermes](https://docs.nvidia.com/nemoclaw/latest/get-started/quickstart-hermes.html) |
22438

22539
## Documentation
22640

@@ -241,49 +55,8 @@ Refer to the following pages on the official documentation website for more info
24155
| [CLI Commands](https://docs.nvidia.com/nemoclaw/latest/reference/commands.html) | Full NemoClaw CLI command reference. |
24256
| [Troubleshooting](https://docs.nvidia.com/nemoclaw/latest/reference/troubleshooting.html) | Common issues and resolution steps. |
24357

244-
### Build Docs Locally
245-
246-
The public documentation site is built with Fern.
247-
The repo pins the Fern CLI version in `fern/fern.config.json`.
248-
Use the npm scripts so every docs command uses that pinned version.
249-
250-
```bash
251-
npm run docs
252-
npm run docs:live
253-
```
254-
255-
To publish a branch-based Fern preview whenever docs files change, run:
256-
257-
```bash
258-
npm run docs:preview:watch
259-
```
260-
261-
## Project Structure
262-
263-
The following directories make up the NemoClaw repository.
264-
265-
```text
266-
NemoClaw/
267-
├── bin/ # CLI entry point and library modules (CJS)
268-
├── nemoclaw/ # TypeScript plugin (Commander CLI extension)
269-
│ └── src/
270-
│ ├── blueprint/ # Runner, snapshot, SSRF validation, state
271-
│ ├── commands/ # Slash commands, migration state
272-
│ └── onboard/ # Onboarding config
273-
├── nemoclaw-blueprint/ # Blueprint YAML and network policies
274-
│ └── router/
275-
│ ├── pool-config.yaml # Model pool and routing config
276-
│ └── llm-router/ # LLM Router v3 submodule (prefill routing engine)
277-
├── scripts/ # Install helpers, setup, automation
278-
├── test/ # Integration and E2E tests
279-
├── fern/ # Fern site configuration and shared assets
280-
└── docs/ # User-facing docs (Fern MDX plus legacy MyST source during migration)
281-
```
282-
28358
## Community
28459

285-
Join the NemoClaw community to ask questions, share feedback, and report issues.
286-
28760
- [Discord](https://discord.gg/XFpfPv9Uvx)
28861
- [GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions)
28962
- [GitHub Issues](https://github.com/NVIDIA/NemoClaw/issues)

docs/about/how-it-works.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
# SPDX-License-Identifier: Apache-2.0
44
title: "NemoClaw Architecture Overview"
55
sidebar-title: "Architecture Overview"
6-
description: "Learn how NemoClaw combines a host CLI, sandbox plugin, and versioned blueprint to move OpenClaw into a controlled sandbox."
6+
description: "Learn how NemoClaw combines a host CLI, sandbox plugin, and versioned blueprint to run supported agents in a controlled sandbox."
77
description-agent: "Describes how NemoClaw works internally: CLI, plugin, blueprint runner, OpenShell orchestration, inference routing, and protection layers. Use for sandbox lifecycle and architecture mechanics; not for product definition (Overview) or multi-project placement (Ecosystem)."
88
keywords: ["how nemoclaw works", "nemoclaw sandbox lifecycle blueprint"]
99
content:
1010
type: "concept"
1111
---
12-
This page explains how NemoClaw runs OpenClaw inside an OpenShell sandbox and how the gateway connects the agent to inference, integrations, and policy.
12+
This page explains how NemoClaw runs supported agents inside an OpenShell sandbox and how the gateway connects the agent to inference, integrations, and policy.
1313

14-
NemoClaw does not replace OpenClaw or OpenShell.
14+
NemoClaw does not replace OpenShell or your chosen agent runtime.
1515
It packages them into a repeatable setup with a host CLI, a versioned blueprint, default policies, inference setup, plugin configuration, and state helpers.
1616
You can use that setup directly or adapt it for your own OpenShell integration.
1717

@@ -30,7 +30,7 @@ The diagram has the following components:
3030
| Users and operators | Start from the CLI, installer, dashboard, or an end-user channel. |
3131
| NemoClaw control | Collects configuration, runs onboarding, prepares the blueprint, and asks OpenShell to create or update resources. |
3232
| OpenShell gateway | Owns sandbox lifecycle, networking, policy enforcement, inference routing, and integration egress. |
33-
| NemoClaw sandbox | Runs OpenClaw with the NemoClaw plugin, the selected blueprint contents, and supporting tools. |
33+
| NemoClaw sandbox | Runs the onboarded agent with the selected blueprint contents and supporting tools. OpenClaw sandboxes also load the NemoClaw plugin. |
3434
| Inference | Receives model requests through the gateway, using NVIDIA endpoints, NIM, or compatible APIs. |
3535
| Integrations | Reach messaging services, MCP servers, GitHub, package indexes, or model hubs through gateway-managed egress. |
3636
| State and artifacts | Store configuration, credentials, logs, workspace files, policies, and transcripts outside the running agent process. |
@@ -71,7 +71,7 @@ This separation keeps the sandbox plugin small while allowing host orchestration
7171

7272
## Sandbox Creation
7373

74-
When you run `nemoclaw onboard`, NemoClaw creates an OpenShell sandbox that runs OpenClaw in an isolated container.
74+
When you run `nemoclaw onboard`, NemoClaw creates an OpenShell sandbox that runs your selected agent in an isolated container.
7575
The host CLI and blueprint runner orchestrate this process through the OpenShell CLI:
7676

7777
1. NemoClaw resolves the blueprint, checks version compatibility, and verifies the digest.
@@ -106,6 +106,6 @@ For details on the baseline rules, refer to [Network Policies](/reference/networ
106106
## Next Steps
107107

108108
- Read [Ecosystem](/about/ecosystem) for stack-level relationships and NemoClaw versus OpenShell-only paths.
109-
- Follow the [Quickstart](/get-started/quickstart) to launch your first sandbox.
109+
- Follow the [Quickstart with OpenClaw](/get-started/quickstart) or [Quickstart with Hermes](/get-started/quickstart-hermes) to launch your first sandbox.
110110
- Refer to the [Architecture](/reference/architecture) for the full technical structure, including file layouts and the blueprint lifecycle.
111111
- Refer to [Inference Options](/inference/inference-options) for detailed provider configuration.

0 commit comments

Comments
 (0)