From b3fcdcd85c6300501cb0c65c8519e3a06557d02f Mon Sep 17 00:00:00 2001 From: latenighthackathon Date: Thu, 9 Apr 2026 23:24:09 -0500 Subject: [PATCH] fix(cli): add reconfiguration guidance to help and post-onboard output New users hit 'openclaw configure' inside the sandbox and get a read-only error with no guidance on what to do instead. Add a Reconfiguration section to 'nemoclaw --help' and a 'To change settings later' block to the post-onboard dashboard output, covering the three main reconfiguration paths: runtime model switch via openshell inference set, policy presets via nemoclaw policy-add, and credential reset + re-onboard for image-level changes. Closes #1699 Signed-off-by: latenighthackathon --- src/lib/onboard.ts | 6 ++++++ src/nemoclaw.ts | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/lib/onboard.ts b/src/lib/onboard.ts index c13de1db7d5..368f599abd8 100644 --- a/src/lib/onboard.ts +++ b/src/lib/onboard.ts @@ -5944,6 +5944,7 @@ function getDashboardGuidanceLines(dashboardAccess = [], options = {}) { return guidance; } +/** Print the post-onboard dashboard with sandbox status and reconfiguration hints. */ function printDashboard(sandboxName, model, provider, nimContainer = null, agent = null) { const nimStat = nimContainer ? nim.nimStatusByName(nimContainer) : nim.nimStatus(sandboxName); const nimLabel = nimStat.running ? "running" : "not running"; @@ -6018,6 +6019,11 @@ function printDashboard(sandboxName, model, provider, nimContainer = null, agent } console.log(` ${"─".repeat(50)}`); console.log(""); + console.log(" To change settings later:"); + console.log(` Model: openshell inference set -g nemoclaw -m -p `); + console.log(` Policies: nemoclaw ${sandboxName} policy-add`); + console.log(" Credentials: nemoclaw credentials reset then nemoclaw onboard"); + console.log(""); } function startRecordedStep(stepName, updates = {}) { diff --git a/src/nemoclaw.ts b/src/nemoclaw.ts index 41cd97a68a5..869889d6b74 100644 --- a/src/nemoclaw.ts +++ b/src/nemoclaw.ts @@ -2620,6 +2620,7 @@ function backupAll() { // ── Help ───────────────────────────────────────────────────────── +/** Print CLI usage with all commands, flags, and reconfiguration guidance. */ function help() { console.log(` ${B}${G}NemoClaw${R} ${D}v${getVersion()}${R} @@ -2687,6 +2688,19 @@ function help() { --keep-openshell Leave the openshell binary installed --delete-models Remove NemoClaw-pulled Ollama models + ${G}Reconfiguration (after onboard):${R} + ${D}Change inference model at runtime (no re-onboard needed):${R} + openshell inference set -g nemoclaw -m -p + + ${D}Add network presets (e.g. Telegram, GitHub) to a running sandbox:${R} + nemoclaw policy-add + + ${D}Change credentials, messaging channels, or sandbox image settings:${R} + nemoclaw credentials reset ${D}then${R} nemoclaw onboard + + ${D}openclaw.json is read-only inside the sandbox (Landlock enforced).${R} + ${D}To change OpenClaw settings, re-run nemoclaw onboard to rebuild the sandbox.${R} + ${D}Powered by NVIDIA OpenShell · Nemotron · Agent Toolkit Credentials saved in ~/.nemoclaw/credentials.json (mode 600)${R} ${D}https://www.nvidia.com/nemoclaw${R}