Architektur
NemoClaw besteht aus zwei Hauptkomponenten: einem TypeScript-Plugin, das sich in die OpenClaw-CLI integriert, und einem Python-Blueprint, der OpenShell-Ressourcen orchestriert.
NemoClaw-Plugin
Das Plugin ist ein schlankes TypeScript-Paket, das Befehle unter openclaw nemoclaw registriert.
nemoclaw/
├── src/
│ ├── index.ts Plugin-Einstieg — registriert alle Befehle
│ ├── cli.ts Commander.js-Subcommand-Verdrahtung
│ ├── commands/
│ │ ├── launch.ts Neuinstallation in OpenShell
│ │ ├── connect.ts Interaktive Shell in der Sandbox
│ │ ├── status.ts Blueprint-Run-Status + Sandbox-Zustand
│ │ ├── logs.ts Blueprint- und Sandbox-Logs streamen
│ │ └── slash.ts /nemoclaw-Chat-Befehlshandler
│ └── blueprint/
│ ├── resolve.ts Versionsauflösung, Cache-Verwaltung
│ ├── fetch.ts Blueprint aus OCI-Registry herunterladen
│ ├── verify.ts Digest-Verifizierung, Kompatibilitätsprüfung
│ ├── exec.ts Blueprint-Runner als Subprocess ausführen
│ └── state.ts Persistenter Zustand (Run-IDs)
├── openclaw.plugin.json Plugin-Manifest
└── package.json Befehle unter openclaw.extensions deklariert
NemoClaw-Blueprint
nemoclaw-blueprint/
├── blueprint.yaml Manifest — Version, Profile, Kompatibilität
├── orchestrator/
│ └── runner.py CLI-Runner — plan / apply / status
├── policies/
│ └── openclaw-sandbox.yaml Strikte Baseline-Netzwerk- + Dateisystemrichtlinie
Blueprint-Lebenszyklus
flowchart LR
A[resolve] --> B[verify digest]
B --> C[plan]
C --> D[apply]
D --> E[status]
- Resolve. Plugin findet das Artefakt und prüft die Version.
- Verify. Plugin prüft den Artefakt-Digest.
- Plan. Runner bestimmt zu erstellende/aktualisierende OpenShell-Ressourcen.
- Apply. Runner führt
openshell-CLI-Befehle aus. - Status. Runner meldet den aktuellen Zustand.
Sandbox-Umgebung
Die Sandbox nutzt das ghcr.io/nvidia/openshell-community/sandboxes/openclaw-Container-Image. Darin:
- OpenClaw mit vorinstalliertem NemoClaw-Plugin.
- Inferenz-Aufrufe werden über OpenShell geroutet.
- Netzwerk-Outbound durch Baseline-Richtlinie beschränkt.
- Dateisystemzugriff:
/sandboxund/tmpbeschreibbar, Systempfade schreibgeschützt.
Inferenz-Routing
Agent (sandbox) ──▶ OpenShell gateway ──▶ NVIDIA cloud (build.nvidia.com)
Details zur Provider-Konfiguration unter Inferenzprofile.