Skip to content

Add NemoClaw integration - #39

Open
nir-singher-band wants to merge 1 commit into
mainfrom
add/nemoclaw
Open

nir-singher-band wants to merge 1 commit into
mainfrom
add/nemoclaw

Conversation

@nir-singher-band

Copy link
Copy Markdown
Collaborator

Summary

Adds nemoclaw/ (manifest.yaml + bootstrap.sh + README.md) so connecting an OpenClaw agent inside a NemoClaw sandbox to Band is a single curl … | bash snippet, matching the pattern the NemoClaw fern tutorial documents manually today.

The snippet, in order (mirrors openclaw/bootstrap.sh's ordering — sandbox setup before Band registration, so a failed onboard never orphans a Band agent):

  1. Checks prereqs: nemoclaw on PATH, ANTHROPIC_API_KEY exported, nemoclaw host probe succeeds (Docker Desktop/Colima running, not OrbStack).
  2. Non-interactively onboards a fresh sandbox on the Anthropic provider (NEMOCLAW_PROVIDER=anthropic, --non-interactive --yes-i-accept-third-party-software — see NemoClaw's CLI reference).
  3. Applies the Band egress policy preset from band-sdk-typescript (same one band-ai/band-sdk-typescript#222 fixes).
  4. Installs @band-ai/openclaw-channel-band@0.2.1 in the sandbox via nemoclaw <name> exec and repairs its missing WASM file (current upstream gap).
  5. Mints a Band agent from the caller's Band API key (inline curl, same helper shape as openclaw/bootstrap.sh).
  6. Wires the agent into the sandbox's OpenClaw config via exec, then restarts the gateway.

Validation

  • python3 scripts/check.py — OK, 4 integrations valid.
  • pytest tests/ -q — 19 passed.
  • bash -n nemoclaw/bootstrap.sh — OK; shellcheck clean apart from one intentional SC2016 (the in-sandbox repair block is single-quoted on purpose — it must not expand on the host).
  • scripts/local-bootstrap.sh nemoclaw --print — output matches the committed script byte-for-byte.

Not run end-to-end. This environment has no NemoClaw install, Docker, GPU, or live Anthropic/Band credentials, so the actual onboard → policy → plugin-install → agent-wiring → gateway-restart sequence hasn't executed against real infrastructure. Please dry-run it on a real NemoClaw host before merging.

Open question for maintainers

AGENTS.md's rule is that a new PA harness also joins pa-conformance/ (a four-verb runner + stack). NemoClaw here is a sandboxed deployment of the already-covered OpenClaw harness (same plugin, same channel account shape) rather than a distinct agent runtime, and its stack would need a NemoClaw-capable Docker host, which doesn't fit the existing compose-stack pattern the other harnesses use. I left conformance coverage out of this PR rather than fake it — happy to scope it as a follow-up if you want NemoClaw in the live suite regardless.

Onboards a fresh NemoClaw sandbox on the Anthropic provider
(non-interactive), applies the Band OpenClaw plugin's egress policy,
installs the plugin (with the current WASM repair 0.2.1 needs), mints
a Band agent, and wires it in as the sandbox's channel account —
before starting the gateway.

Sandbox setup runs before Band agent registration, mirroring
openclaw/bootstrap.sh's ordering: a failed onboard never leaves an
orphaned Band agent.

Validated: python3 scripts/check.py, pytest tests/ -q, bash -n, and
scripts/local-bootstrap.sh nemoclaw --print (matches the committed
script). Not run end-to-end against live NemoClaw/Docker/Anthropic —
no such host in this environment; see PR description.
@nir-singher-band
nir-singher-band marked this pull request as ready for review September 16, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant