Architektura
NemoClaw składa się z dwóch głównych komponentów: wtyczki TypeScript integrującej się z CLI OpenClaw oraz blueprintu Python, który orkiestruje zasoby OpenShell.
Wtyczka NemoClaw
Wtyczka to cienki pakiet TypeScript, który rejestruje polecenia pod openclaw nemoclaw.
Działa w procesie bramy OpenClaw i obsługuje interakcje CLI widoczne dla użytkownika.
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
Blueprint NemoClaw
Blueprint to wersjonowany artefakt Python z własnym strumieniem wydawniczym. Wtyczka rozwiązuje, weryfikuje i wykonuje blueprint jako podproces. Blueprint steruje wszystkimi interakcjami z CLI OpenShell.
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
Cykl życia blueprintu
flowchart LR
A[resolve] --> B[verify digest]
B --> C[plan]
C --> D[apply]
D --> E[status]
- Rozwiązanie. Wtyczka lokalizuje artefakt blueprintu i sprawdza wersję względem ograniczeń
min_openshell_versionimin_openclaw_versionwblueprint.yaml. - Weryfikacja. Wtyczka sprawdza skrót artefaktu względem oczekiwanej wartości.
- Planowanie. Runner określa, jakie zasoby OpenShell należy utworzyć lub zaktualizować, takie jak brama, dostawcy, sandbox, trasa inferencji i polityka.
- Zastosowanie. Runner wykonuje plan, wywołując polecenia CLI
openshell. - Status. Runner raportuje bieżący stan.
Środowisko sandboxa
Sandbox uruchamia obraz kontenera
ghcr.io/nvidia/openshell-community/sandboxes/openclaw.
Wewnątrz sandboxa:
- OpenClaw działa z wstępnie zainstalowaną wtyczką NemoClaw.
- Wywołania inferencji są kierowane przez OpenShell do skonfigurowanego dostawcy.
- Ruch wychodzący sieci jest ograniczony przez politykę bazową w
openclaw-sandbox.yaml. - Dostęp do systemu plików jest ograniczony do
/sandboxi/tmpw trybie odczytu i zapisu, a ścieżki systemowe są tylko do odczytu.
Routing inferencji
Żądania inferencji od agenta nigdy nie opuszczają sandboxa bezpośrednio. OpenShell przechwytuje je i kieruje do skonfigurowanego dostawcy:
Agent (sandbox) ──▶ OpenShell gateway ──▶ NVIDIA cloud (build.nvidia.com)
Zapoznaj się z Profilami inferencji, aby uzyskać szczegóły konfiguracji dostawców.