Architectuur
NemoClaw heeft twee hoofdcomponenten: een TypeScript-plugin die integreert met de OpenClaw CLI, en een Python-blueprint die OpenShell-resources orkestreert.
NemoClaw-plugin
De plugin is een dun TypeScript-pakket dat commando’s registreert onder openclaw nemoclaw.
Het draait in-process met de OpenClaw gateway en verzorgt gebruikersgerichte CLI-interacties.
nemoclaw/
├── src/
│ ├── index.ts Plugin entry — registers all commands
│ ├── cli.ts Commander.js subcommand wiring
│ ├── commands/
│ │ ├── launch.ts Fresh install into OpenShell
│ │ ├── connect.ts Interactive shell into sandbox
│ │ ├── status.ts Blueprint run state + sandbox health
│ │ ├── logs.ts Stream blueprint and sandbox logs
│ │ └── slash.ts /nemoclaw chat command handler
│ └── blueprint/
│ ├── resolve.ts Version resolution, cache management
│ ├── fetch.ts Download blueprint from OCI registry
│ ├── verify.ts Digest verification, compatibility checks
│ ├── exec.ts Subprocess execution of blueprint runner
│ └── state.ts Persistent state (run IDs)
├── openclaw.plugin.json Plugin manifest
└── package.json Commands declared under openclaw.extensions
NemoClaw-blueprint
De blueprint is een geversioneerd Python-artefact met een eigen releasetraject. De plugin zoekt de blueprint op, verifieert deze en voert deze uit als subprocess. De blueprint stuurt alle interacties met de OpenShell CLI aan.
nemoclaw-blueprint/
├── blueprint.yaml Manifest — version, profiles, compatibility
├── orchestrator/
│ └── runner.py CLI runner — plan / apply / status
├── policies/
│ └── openclaw-sandbox.yaml Strict baseline network + filesystem policy
Blueprint-levenscyclus
flowchart LR
A[resolve] --> B[verify digest]
B --> C[plan]
C --> D[apply]
D --> E[status]
- Resolve. De plugin zoekt het blueprint-artefact op en controleert de versie tegen de
min_openshell_version- enmin_openclaw_version-restricties inblueprint.yaml. - Verify. De plugin controleert de artefactdigest tegen de verwachte waarde.
- Plan. De runner bepaalt welke OpenShell-resources moeten worden aangemaakt of bijgewerkt, zoals de gateway, providers, sandbox, inferentieroute en beleid.
- Apply. De runner voert het plan uit door
openshellCLI-commando’s aan te roepen. - Status. De runner rapporteert de huidige status.
Sandbox-omgeving
De sandbox draait de
ghcr.io/nvidia/openshell-community/sandboxes/openclaw
container-image. In de sandbox:
- OpenClaw draait met de NemoClaw-plugin vooraf geïnstalleerd.
- Inferentieaanroepen worden gerouteerd via OpenShell naar de geconfigureerde provider.
- Uitgaand netwerkverkeer wordt beperkt door het basisbeleid in
openclaw-sandbox.yaml. - Bestandssysteemtoegang is beperkt tot
/sandboxen/tmpvoor lees-schrijftoegang, met systeempaden als alleen-lezen.
Inferentieroutering
Inferentieverzoeken van de agent verlaten de sandbox nooit direct. OpenShell onderschept ze en routeert ze naar de geconfigureerde provider:
Agent (sandbox) ──▶ OpenShell gateway ──▶ NVIDIA cloud (build.nvidia.com)
Raadpleeg Inferentieprofielen voor details over providerconfiguratie.