Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions docs/reference/commands-nemohermes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -996,16 +996,21 @@ nemohermes my-assistant channels start telegram

### `nemohermes <name> channels status`

Run channel-specific runtime diagnostics. For WhatsApp the command probes the sandbox to separately report pairing/session state, the Noise WebSocket connection, inbound event delivery, and policy/config coverage; a paired channel with no observed inbound delivery exits non-zero with verdict `idle` so an unhealthy bridge cannot pass as healthy.
Run messaging channel status checks. Without `--channel`, the command prints a compact summary for every configured channel, including registration, policy coverage, and non-secret rendered config comparisons. With `--channel`, it prints the detailed status for that channel.

For WhatsApp, `--channel whatsapp` also probes the sandbox to separately report pairing/session state, the Noise WebSocket connection, inbound event delivery, and policy/config coverage; a paired channel with no observed inbound delivery exits non-zero with verdict `idle` so an unhealthy bridge cannot pass as healthy.

For registered channels, the status output also compares non-secret config inputs from the sandbox registry against the values rendered into the agent config, such as Telegram group policy in `openclaw.json` or mention mode in Hermes config. Secret inputs, including tokens, are not printed.

```bash
nemohermes my-assistant channels status
nemohermes my-assistant channels status --channel whatsapp
```

| Flag | Description |
|------|-------------|
| `--channel <channel>` | Channel to inspect; defaults to `whatsapp` when registered |
| `--json` | Emit the diagnostic report as JSON (exit non-zero when the verdict is not `healthy` or `unknown`) |
| `--channel <channel>` | Channel to inspect in detail |
| `--json` | Emit the status report as JSON (for the detailed WhatsApp probe, exit non-zero when the verdict is not `healthy` or `unknown`) |

The probe is bounded by an in-sandbox `openshell sandbox exec` with a hard timeout, captures only short matched bridge log signals (e.g. `connection.open`, `401 unauthorized`, `qr expired`), and never forwards message bodies to the host diagnostic output.

Expand Down
11 changes: 8 additions & 3 deletions docs/reference/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1271,16 +1271,21 @@ $$nemoclaw my-assistant channels start telegram

### `$$nemoclaw <name> channels status`

Run channel-specific runtime diagnostics. For WhatsApp the command probes the sandbox to separately report pairing/session state, the Noise WebSocket connection, inbound event delivery, and policy/config coverage; a paired channel with no observed inbound delivery exits non-zero with verdict `idle` so an unhealthy bridge cannot pass as healthy.
Run messaging channel status checks. Without `--channel`, the command prints a compact summary for every configured channel, including registration, policy coverage, and non-secret rendered config comparisons. With `--channel`, it prints the detailed status for that channel.

For WhatsApp, `--channel whatsapp` also probes the sandbox to separately report pairing/session state, the Noise WebSocket connection, inbound event delivery, and policy/config coverage; a paired channel with no observed inbound delivery exits non-zero with verdict `idle` so an unhealthy bridge cannot pass as healthy.

For registered channels, the status output also compares non-secret config inputs from the sandbox registry against the values rendered into the agent config, such as Telegram group policy in `openclaw.json` or mention mode in Hermes config. Secret inputs, including tokens, are not printed.

```bash
$$nemoclaw my-assistant channels status
$$nemoclaw my-assistant channels status --channel whatsapp
```

| Flag | Description |
|------|-------------|
| `--channel <channel>` | Channel to inspect; defaults to `whatsapp` when registered |
| `--json` | Emit the diagnostic report as JSON (exit non-zero when the verdict is not `healthy` or `unknown`) |
| `--channel <channel>` | Channel to inspect in detail |
| `--json` | Emit the status report as JSON (for the detailed WhatsApp probe, exit non-zero when the verdict is not `healthy` or `unknown`) |

The probe is bounded by an in-sandbox `openshell sandbox exec` with a hard timeout, captures only short matched bridge log signals (e.g. `connection.open`, `401 unauthorized`, `qr expired`), and never forwards message bodies to the host diagnostic output.

Expand Down
6 changes: 3 additions & 3 deletions src/commands/sandbox/channels/status.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ export default class SandboxChannelsStatusCommand extends NemoClawCommand {
static id = "sandbox:channels:status";
static strict = true;
static enableJsonFlag = true;
static summary = "Inspect a messaging channel's runtime diagnostics";
static summary = "Inspect messaging channel status";
static description =
"Report channel-specific runtime diagnostics — for WhatsApp, separately reports QR/session state, Noise WebSocket state, inbound event delivery, and policy coverage so a paired-but-idle channel does not appear healthy.";
"Report configured messaging channels, policy coverage, and non-secret rendered config comparisons. Pass --channel whatsapp for the deeper WhatsApp QR/session and inbound-delivery probe.";
static usage = ["<name> [--channel <channel>] [--json]"];
static examples = [
"<%= config.bin %> sandbox channels status alpha --channel whatsapp",
Expand All @@ -24,7 +24,7 @@ export default class SandboxChannelsStatusCommand extends NemoClawCommand {
};
static flags = {
channel: Flags.string({
description: "Messaging channel to inspect (defaults to whatsapp when registered)",
description: "Messaging channel to inspect in detail",
required: false,
}),
};
Expand Down
Loading
Loading