Kiến trúc

NemoClaw có hai thành phần chính: một plugin TypeScript tích hợp với CLI OpenClaw, và một blueprint Python điều phối các tài nguyên OpenShell.

Plugin NemoClaw

Plugin là một gói TypeScript mỏng đăng ký các lệnh dưới openclaw nemoclaw. Nó chạy trong cùng tiến trình với gateway OpenClaw và xử lý các tương tác CLI với người dùng.

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 là một artifact Python có phiên bản với luồng phát hành riêng. Plugin giải quyết, xác minh và thực thi blueprint như một subprocess. Blueprint điều khiển tất cả các tương tác với 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

Vòng đời Blueprint

flowchart LR
    A[resolve] --> B[verify digest]
    B --> C[plan]
    C --> D[apply]
    D --> E[status]
  1. Giải quyết. Plugin định vị artifact blueprint và kiểm tra phiên bản với các ràng buộc min_openshell_versionmin_openclaw_version trong blueprint.yaml.
  2. Xác minh. Plugin kiểm tra digest artifact với giá trị mong đợi.
  3. Lập kế hoạch. Trình chạy xác định tài nguyên OpenShell nào cần tạo hoặc cập nhật, chẳng hạn như gateway, nhà cung cấp, sandbox, tuyến suy luận và chính sách.
  4. Áp dụng. Trình chạy thực thi kế hoạch bằng cách gọi các lệnh CLI openshell.
  5. Trạng thái. Trình chạy báo cáo trạng thái hiện tại.

Môi trường Sandbox

Sandbox chạy image container ghcr.io/nvidia/openshell-community/sandboxes/openclaw. Bên trong sandbox:

  • OpenClaw chạy với plugin NemoClaw được cài đặt sẵn.
  • Các cuộc gọi suy luận được định tuyến qua OpenShell đến nhà cung cấp đã cấu hình.
  • Lưu lượng mạng ra bị hạn chế bởi chính sách cơ sở trong openclaw-sandbox.yaml.
  • Truy cập hệ thống tệp bị giới hạn ở /sandbox/tmp cho quyền đọc-ghi, với các đường dẫn hệ thống chỉ có quyền đọc.

Định tuyến suy luận

Các yêu cầu suy luận từ tác nhân không bao giờ rời khỏi sandbox trực tiếp. OpenShell chặn chúng và định tuyến đến nhà cung cấp đã cấu hình:

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

Tham khảo Hồ sơ suy luận để biết chi tiết cấu hình nhà cung cấp.