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]
  1. Resolve. Plugin findet das Artefakt und prüft die Version.
  2. Verify. Plugin prüft den Artefakt-Digest.
  3. Plan. Runner bestimmt zu erstellende/aktualisierende OpenShell-Ressourcen.
  4. Apply. Runner führt openshell-CLI-Befehle aus.
  5. 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: /sandbox und /tmp beschreibbar, Systempfade schreibgeschützt.

Inferenz-Routing

Agent (sandbox)  ──▶  OpenShell gateway  ──▶  NVIDIA cloud (build.nvidia.com)

Details zur Provider-Konfiguration unter Inferenzprofile.