You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(reference): add Service Ports H3 and fix At-a-Glance anchor
CodeRabbit nit on .agents/skills/nemoclaw-user-reference/references/commands.md:
the At-a-Glance table linked Service Ports to #environment-variables (the
parent H2) while every other category linked to a dedicated subsection
anchor. Add a Service Ports H3 directly above the variable table and
point the table entry at #service-ports so all categories are addressable
the same way.
Signed-off-by: latenighthackathon <latenighthackathon@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .agents/skills/nemoclaw-user-reference/references/commands.md
+21-9Lines changed: 21 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -400,15 +400,16 @@ $ nemoclaw my-assistant status
400
400
#### Checking the OpenClaw version
401
401
402
402
NemoClaw pins the OpenClaw version inside the sandbox at build time, not at runtime.
403
-
The minimum version comes from `min_openclaw_version` in `nemoclaw-blueprint/blueprint.yaml`, and the sandbox image upgrades OpenClaw to that version during `docker build` if the cached base image is older.
403
+
The NemoClaw runtime build target is declared by `OPENCLAW_VERSION` in the NemoClaw Dockerfiles.
404
+
The `min_openclaw_version` field in `nemoclaw-blueprint/blueprint.yaml` remains the compatibility floor for direct blueprint consumers, so it can be lower than the Dockerfile target.
404
405
Existing sandboxes do not auto-upgrade when a newer NemoClaw release ships a newer pin — you upgrade by rebuilding the sandbox.
405
406
406
407
`nemoclaw <name> status` prints the running OpenClaw version on the `Agent` line:
List the messaging channels NemoClaw knows about (`telegram`, `discord`, `slack`, `whatsapp`) with a short description.
649
+
List the messaging channels NemoClaw knows about (`telegram`, `discord`, `slack`, `wechat`, `whatsapp`) with a short description.
649
650
The command is a static reference; it does not consult credentials or the running sandbox.
651
+
WeChat and WhatsApp are experimental.
650
652
651
653
```console
652
654
$ nemoclaw my-assistant channels list
@@ -658,7 +660,12 @@ Register a messaging channel with the sandbox and rebuild so the image picks up
658
660
Channels fall into three login modes:
659
661
660
662
-**Token paste** (`telegram`, `discord`, `slack`): the command prompts for any missing token and registers it with the OpenShell gateway.
661
-
-**In-sandbox QR** (`whatsapp`): the command records the channel without a host-side token or OpenShell credential provider.
663
+
-**Host-side QR** (`wechat`, experimental): the command renders an iLink QR code on the host and you scan it from WeChat on your phone.
664
+
On confirm, NemoClaw captures the bot token, registers it with the OpenShell gateway, and stores non-secret per-account metadata (`WECHAT_ACCOUNT_ID`, `WECHAT_BASE_URL`, `WECHAT_USER_ID`) for the in-sandbox bridge.
665
+
NemoClaw automatically adds the scanning operator's WeChat user ID to `WECHAT_ALLOWED_IDS`.
666
+
Supply additional comma-separated IDs to authorize more DM senders.
667
+
NemoClaw advertises WeChat for both OpenClaw (the `@tencent-weixin/openclaw-weixin` plugin) and Hermes (the built-in iLink WeChat adapter).
668
+
-**In-sandbox QR** (`whatsapp`, experimental): the command records the channel without a host-side token or OpenShell credential provider.
662
669
NemoClaw advertises WhatsApp for OpenClaw and Hermes sandboxes; after rebuild, run `openclaw channels login --channel whatsapp` for OpenClaw or `hermes whatsapp` for Hermes.
663
670
This intentionally leaves QR-created mutable session state in the sandbox until you unpair it or clear the durable agent state.
664
671
@@ -685,7 +692,7 @@ If you omit the required `<channel>` argument, the CLI prints the `channels add
685
692
Clear the stored credentials for a messaging channel and rebuild the sandbox so the image drops the channel.
686
693
Running `remove` for a channel that was never configured is a no-op against the credentials file and still triggers the rebuild prompt.
687
694
When the bridge provider is attached to a live sandbox, NemoClaw detaches it before deleting the provider from the OpenShell gateway.
688
-
If the matching built-in policy preset is applied, such as `telegram`, `discord`, `slack`, or `whatsapp`, NemoClaw also removes that preset so the upstream API is no longer allow-listed after the channel is gone.
695
+
If the matching built-in policy preset is applied, such as `telegram`, `discord`, `slack`, `wechat`, or `whatsapp`, NemoClaw also removes that preset so the upstream API is no longer allow-listed after the channel is gone.
689
696
NemoClaw also strips the channel from `session.policyPresets` so a subsequent `onboard --resume` does not re-apply the preset on the next rebuild.
690
697
691
698
For QR-paired channels (today: WhatsApp), NemoClaw destructively clears the in-sandbox session directory before the rebuild so the `state_dirs` backup does not restore the auth blob and let the channel reconnect:
@@ -710,7 +717,7 @@ Host-side removal is the supported path because agent channel config is baked in
710
717
711
718
### `nemoclaw <name> channels stop <channel>`
712
719
713
-
Pause a single messaging bridge (`telegram`, `discord`, `slack`, or `whatsapp`) without clearing its credentials.
720
+
Pause a single messaging bridge (`telegram`, `discord`, `slack`, `wechat`, or `whatsapp`) without clearing its credentials.
714
721
The channel is marked disabled in the per-sandbox registry, and the sandbox is rebuilt so the onboard step skips registering the bridge with the gateway.
715
722
The provider stays registered with the OpenShell gateway, so a later `channels start` brings the bridge back without re-entering tokens.
716
723
@@ -1200,15 +1207,19 @@ Use this table to find the appropriate variable; see the subsection below for de
These variables override the TCP ports NemoClaw uses for its core services. Each value must be a non-privileged integer between 1024 and 65535.
1222
+
1212
1223
| Variable | Default | Service |
1213
1224
|----------|---------|---------|
1214
1225
|`NEMOCLAW_GATEWAY_PORT`| 8080 | OpenShell gateway port |
@@ -1267,7 +1278,7 @@ Set them before running `nemoclaw onboard`.
1267
1278
|`NEMOCLAW_REASONING`|`true` or `false`| Overrides the model's reasoning-mode flag in the built OpenClaw config. |
1268
1279
|`NEMOCLAW_AGENT_HEARTBEAT_EVERY`| duration with `s`, `m`, or `h` suffix (for example `30m`, `1h`, or `0m`) | Overrides `agents.defaults.heartbeat.every` in the built OpenClaw config. Set `0m` to disable periodic agent turns. |
1269
1280
|`NEMOCLAW_OLLAMA_REQUIRE_TOOLS`|`0` to disable, anything else to keep the default | When set to `0`, skips the Ollama tool-calling capability check during local-inference onboarding. |
1270
-
|`NEMOCLAW_OLLAMA_INSTALL_MODE`|`system`, `user`, or empty/unset | Pins the Linux Ollama install location. `system` runs the official `https://ollama.com/install.sh` (sudo, writes to `/usr/local`, configures systemd). `user` extracts the release tarball to `${HOME}/.local` without sudo and launches the daemon manually (no systemd; manual restart after reboot). Empty/unset auto-detects: root or passwordless `sudo` selects `system`; a non-interactive run without passwordless `sudo` selects `user`; an interactive shell falls back to `system` so the official installer can prompt for the password. Any other value is rejected. |
1281
+
|`NEMOCLAW_OLLAMA_INSTALL_MODE`|`system`, `user`, or empty/unset | Pins the Linux Ollama install location; see the Linux Ollama install mode details below. |
1271
1282
|`NEMOCLAW_PROXY_HOST`| hostname or IP | Overrides the sandbox-side outbound HTTP proxy host. Defaults to `10.200.0.1`. |
1272
1283
|`NEMOCLAW_PROXY_PORT`| integer port | Overrides the sandbox-side outbound HTTP proxy port. Defaults to `3128`. |
1273
1284
|`NEMOCLAW_OPENSHELL_BIN`| path | Overrides the `openshell` binary the CLI invokes. Defaults to `openshell` (resolved via `PATH`). |
@@ -1318,6 +1329,7 @@ These flags toggle optional behaviors during onboarding; set them before running
1318
1329
|`NEMOCLAW_FORCE_VM_DNS_MONKEYPATCH`|`1` to enable | Forces the macOS VM-driver DNS monkeypatch on non-Darwin platforms. Linux defaults already route through the Docker bridge; use this override only to reproduce the macOS DNS path on a non-Darwin host. |
1319
1330
|`NEMOCLAW_DARWIN_VM_COMPAT`|`0` or `1` (build-time `ARG`) | macOS VM-driver compatibility flag baked into the sandbox Dockerfile by `nemoclaw onboard` based on platform detection. Override only when rebuilding a sandbox image with a custom Dockerfile. |
1320
1331
|`NEMOCLAW_DOCKER_GPU_PATCH_NETWORK`|`host` or `preserve` (default) | Selects the Docker network mode used by the Linux Docker-driver GPU sandbox patch. `host` clones the gateway's host-networking endpoint for the patched container; `preserve` (default) keeps the original network mode. Set `host` only when the GPU patch needs the gateway endpoint exposed on the loopback path. |
1332
+
|`NEMOCLAW_WECHAT_QUIET`|`1` to enable | Silences the `[wechat]` diagnostic lines printed during the host-side WeChat QR login (poll status, IDC redirects, swallowed gateway errors), which are visible by default while the experimental WeChat path stabilizes; set `1` once the flow is reliable in your environment. |
These variables override the TCP ports NemoClaw uses for its core services. Each value must be a non-privileged integer between 1024 and 65535.
1230
+
1227
1231
| Variable | Default | Service |
1228
1232
|----------|---------|---------|
1229
1233
|`NEMOCLAW_GATEWAY_PORT`| 8080 | OpenShell gateway port |
@@ -1333,6 +1337,7 @@ These flags toggle optional behaviors during onboarding; set them before running
1333
1337
|`NEMOCLAW_FORCE_VM_DNS_MONKEYPATCH`|`1` to enable | Forces the macOS VM-driver DNS monkeypatch on non-Darwin platforms. Linux defaults already route through the Docker bridge; use this override only to reproduce the macOS DNS path on a non-Darwin host. |
1334
1338
|`NEMOCLAW_DARWIN_VM_COMPAT`|`0` or `1` (build-time `ARG`) | macOS VM-driver compatibility flag baked into the sandbox Dockerfile by `nemoclaw onboard` based on platform detection. Override only when rebuilding a sandbox image with a custom Dockerfile. |
1335
1339
|`NEMOCLAW_DOCKER_GPU_PATCH_NETWORK`|`host` or `preserve` (default) | Selects the Docker network mode used by the Linux Docker-driver GPU sandbox patch. `host` clones the gateway's host-networking endpoint for the patched container; `preserve` (default) keeps the original network mode. Set `host` only when the GPU patch needs the gateway endpoint exposed on the loopback path. |
1340
+
|`NEMOCLAW_WECHAT_QUIET`|`1` to enable | Silences the `[wechat]` diagnostic lines printed during the host-side WeChat QR login (poll status, IDC redirects, swallowed gateway errors), which are visible by default while the experimental WeChat path stabilizes; set `1` once the flow is reliable in your environment. |
0 commit comments