Unable to install custom plugin with NemoClaw (OpenClaw) #6108
Replies: 2 comments 1 reply
-
|
From the logs and project structure you shared, the plugin itself doesn't appear to be the reason the sandbox is failing. The important clue is that the failure happens before OpenClaw even gets a chance to load your plugin: A plugin that fails to load would normally still allow the gateway to start, after which you'd see plugin-specific validation or loading errors. Here, the gateway never starts, so this looks like a sandbox startup problem rather than a plugin problem. A few things I'd check: 1. Verify the plugin independentlyBefore embedding it into the sandbox, validate it locally: npm install
npm run build
npm run validateor openclaw plugins validate --entry ./dist/index.jsThis confirms the generated plugin bundle is valid. 2. Build the OpenClaw plugin artifactYour "build:openclaw": "openclaw plugins build --entry ./dist/index.js"but your Dockerfile only executes: RUN npm ci --no-audit --no-fund && npm run buildIf the documentation expects the packaged plugin artifact instead of only the compiled TypeScript, try: RUN npm ci --no-audit --no-fund \
&& npm run build \
&& npm run build:openclaw3. Use the exact sandbox base versionYour Dockerfile currently uses: ARG SANDBOX_BASE=ghcr.io/nvidia/nemoclaw/sandbox-base:latestwhile your CLI installation is pinned to: NEMOCLAW_INSTALL_TAG=v0.0.71Using I'd recommend pinning the sandbox image to the same release as the CLI instead of using 4. Verify the extension directoryDouble-check that the final image actually contains: A quick way to verify is: docker run --rm <image> ls -R /sandbox/.openclaw/extensions5. Try a sandbox without the pluginBuild the same Dockerfile but temporarily remove: COPY my-plugin/ ...
RUN npm ...
RUN mkdir ...If the sandbox still fails with: then you've confirmed the issue is unrelated to the plugin itself. 6. The missing gateway log is suspiciousThis part: usually means the gateway process never started, rather than that it started and crashed because of the plugin. Combined with: I'd focus on why the sandbox services aren't starting instead of the plugin implementation. Overall, I don't see anything obviously wrong with your
If none of those resolve it, it may be worth opening an issue, as this could be a regression in If this answer helped or pointed you in the right direction, I'd appreciate it if you could mark it as the accepted answer so it's easier for others with the same issue to find. Also, if you found my contribution useful, I'd appreciate it if you could check out my GitHub profile, follow me, and star any repositories you find interesting. GitHub: https://github.com/Advait251206 |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the detailed reproduction. You followed the published recipe correctly; the recipe was the problem, not the weather plugin API.
For USER sandbox
RUN HOME=/sandbox openclaw plugins install /opt/weather-plugin \
&& HOME=/sandbox openclaw plugins enable weather \
&& HOME=/sandbox openclaw plugins inspect weather --json > /dev/nullThen onboard with the matching base version: NEMOCLAW_SANDBOX_BASE_IMAGE_REF=ghcr.io/nvidia/nemoclaw/sandbox-base:v0.0.71 \
nemoclaw onboard --fresh --no-gpu --name weather-agent \
--from "$PWD/Dockerfile"The complete copy-paste recipe, targeted diagnostic, and live lifecycle coverage are in PR #6250. The live test verifies |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I followed the Install OpenClaw Plugins guide to install a custom plugin into my NemoClaw agent. My goal is to give my agent access to custom tools and a plugin seems to be the only way to achieve that.
If anyone can provide the solution or a working example implementation I would really appreciate it.
NemoClaw version: 0.0.71
Installation:
curl -fsSL https://www.nvidia.com/nemoclaw.sh | NEMOCLAW_INSTALL_TAG=v0.0.71 bashError:
The sandbox gets created but is not functional.
⚠ Deployment verification found issues: ✗ gateway: HTTP 0 (gateway not responding) The gateway probe failed after retrying. Inspect the in-sandbox gateway log with `nemoclaw test logs` (the gateway writes to /tmp/gateway.log inside the sandbox when it starts). If the sandbox itself never came up, also check the host-side OpenShell gateway log at ~/.local/state/nemoclaw/openshell-docker-gateway/openshell-gateway.log (or ~/.local/state/openshell/openshell-gateway.log on older installs). ✗ dashboard: port forward not working (connection refused) Port forward on 18789 is not working. Run: openshell forward start 18789 test The sandbox was created successfully but may not be fully functional. Run: nemoclaw <sandbox> status — to re-check after a few seconds.Logs:
Structure:
my-plugin-sandbox/
├── Dockerfile
├── .dockerignore
├── my-plugin/
│ ├── package.json
│ ├── package-lock.json
│ ├── openclaw.plugin.json
│ ├── tsconfig.json
│ ├── src/
│ ├── src/index.ts
│ ├── dist/
FIles:
Beta Was this translation helpful? Give feedback.
All reactions