init_vss_nemoclaw.sh bootstraps a NemoClaw sandbox on a Brev instance and installs the Video Search and Summarization OpenClaw plugin into it.
When you run init_vss_nemoclaw.sh, it:
- Installs Ollama if needed.
- Starts
ollama servewith the requested GPU selection. - Pulls the requested Ollama model.
- Runs NemoClaw onboarding if
nemoclawis already available, or falls back to/home/ubuntu/NemoClaw/install.sh. - Configures the OpenShell inference provider to talk to Ollama through
host.openshell.internal. - Applies the VSS sandbox policy from
assets/vss_nemoclaw_policy.yaml. - Packages and installs the VSS OpenClaw plugin from
.openclaw/andskills/. - Updates OpenClaw's allowed origins and prints the final OpenClaw UI URL when available.
This script is meant to run on a NemoClaw-ready Ubuntu machine, typically a Brev instance, with this repository already checked out.
The following repo content is expected to exist:
.openclaw/skills/assets/vss_nemoclaw_policy.yamlscripts/nemoclaw/update_openclaw_config.py
The following host tools or resources are also expected:
python3dockersudo- a working NemoClaw install source at
/home/ubuntu/NemoClaw/install.sh, unlessnemoclawis already inPATH
Run from the repo checkout on the Brev instance:
bash scripts/nemoclaw/init_vss_nemoclaw.shYou can also pass the sandbox name and model positionally:
bash scripts/nemoclaw/init_vss_nemoclaw.sh demo qwen3.5Or use explicit flags:
bash scripts/nemoclaw/init_vss_nemoclaw.sh \
--sandbox-name demo \
--model qwen3.5 \
--cuda-visible-devices 1To start it in the background on a Brev instance:
nohup bash /home/ubuntu/video-search-and-summarization/scripts/nemoclaw/init_vss_nemoclaw.sh \
> /tmp/nemoclaw_install.log 2>&1 &| Option | Description | Default |
|---|---|---|
--sandbox-name NAME |
Target sandbox name | demo |
--model NAME |
NemoClaw model and default Ollama model | qwen3.5 |
--ollama-model NAME |
Override the Ollama model name only | same as --model |
--ollama-host HOST:PORT |
Ollama bind address | 0.0.0.0:11434 |
--ollama-base-url URL |
OpenShell-facing Ollama endpoint | http://host.openshell.internal:11434/v1 |
--cuda-visible-devices IDS |
GPU selection for ollama serve |
1 |
--openclaw-config-script PATH |
Path to update_openclaw_config.py |
scripts/nemoclaw/update_openclaw_config.py |
--policy-file PATH |
Custom sandbox policy file | assets/vss_nemoclaw_policy.yaml |
--help |
Show usage help | n/a |
The script also honors these environment variables:
VSS_REPO_DIR: repo root used to resolve plugin assets and the default policy fileNEMOCLAW_SANDBOX_NAMENEMOCLAW_MODELOLLAMA_MODELOLLAMA_HOSTOLLAMA_BASE_URLCUDA_VISIBLE_DEVICESOPENCLAW_CONFIG_UPDATE_SCRIPTNEMOCLAW_POLICY_FILEVSS_CONTAINER_NAME: explicit OpenShell gateway container name, if autodetection is not sufficientVSS_NAMESPACE: Kubernetes namespace for the sandbox pod, defaultopenshell
Successful runs usually include log lines like:
[run_nemoclaw_install] Ollama is ready
[run_nemoclaw_install] Start installing/onboarding NemoClaw
[run_nemoclaw_install] Finished installing/onboarding NemoClaw
[run_nemoclaw_install] Applying custom policy to sandbox demo
[run_nemoclaw_install] VSS OpenClaw plugin installed
[run_nemoclaw_install] Updating OpenClaw config for sandbox demo
OpenClaw UI at https://openclaw0-<brev-id>.brevlab.com/#token=<token>
If the config update succeeds, the helper also prints:
Updated /sandbox/.openclaw/openclaw.jsonorNo JSON change needed ...Brev instance ID: ...Origin allowed in OpenClaw: https://openclaw0-<brev-id>.brevlab.comDashboard token: ...
- If the script stops after the Ollama step, inspect
/tmp/ollama.log. - If NemoClaw onboarding fails, verify
nemoclawis resolvable or that/home/ubuntu/NemoClaw/install.shexists and is executable. - If the custom policy is skipped, confirm
assets/vss_nemoclaw_policy.yamlexists or pass--policy-file. - If plugin installation is skipped, verify the repo checkout includes both
.openclaw/andskills/. - If the plugin install cannot find a gateway container, set
VSS_CONTAINER_NAMEexplicitly. - If the OpenClaw origin update fails, run
python3 scripts/nemoclaw/update_openclaw_config.py demodirectly to inspect the underlying error.