Skip to content
Merged
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
10 changes: 7 additions & 3 deletions .agents/skills/nemoclaw-user-configure-inference/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ NemoClaw lists installed models or offers starter models if none are installed.
On hosts where the larger starter models fit the currently available GPU memory, the starter list includes `qwen3.6:35b` and selects it by default.
When another GPU workload is using most of the memory at onboard time, NemoClaw downgrades the menu to the largest model that still fits.
It pulls the selected model, loads it into memory, and validates it before continuing.
When Ollama reports a loaded-model context length, NemoClaw uses that value for the `contextWindow` baked into `openclaw.json` unless you set `NEMOCLAW_CONTEXT_WINDOW` yourself.
If the selected model declares that it does not support tool calling, onboarding stops with guidance to choose a model whose `ollama show <model>` capabilities include `tools`.
The validation also requires structured chat-completions tool calls.
If the model leaks tool-call JSON as plain message text, onboarding stops so you can choose a model that returns tool calls in the expected response field.
Expand Down Expand Up @@ -100,7 +101,7 @@ Ollama is convenient for local chat, but some model/template combinations can
return tool calls as plain text under realistic agent load. If the TUI shows raw
JSON such as `{"name":"memory_search","arguments":{...}}` instead of running a
tool, switch to vLLM with `--enable-auto-tool-choice` and the correct
`--tool-call-parser`. See Tool-Calling Reliability (use the `nemoclaw-user-configure-inference` skill).
`--tool-call-parser`. See [Tool-Calling Reliability](references/tool-calling-reliability.md).

### Authenticated Reverse Proxy

Expand Down Expand Up @@ -252,7 +253,7 @@ You can use this variable in both interactive and non-interactive mode.
If you already onboarded and the sandbox is failing at runtime, re-run
`nemoclaw onboard` to re-probe the endpoint and bake the correct API path
into the image.
Refer to Switch Inference Models (use the `nemoclaw-user-configure-inference` skill) for details.
Refer to [Switch Inference Models](references/switch-inference-providers.md) for details.

## Anthropic-Compatible Server

Expand Down Expand Up @@ -430,7 +431,7 @@ If `Inference` is healthy but `Inference (auth proxy)` is not, rerun onboarding
## Switch Models at Runtime

You can change the model without re-running onboard.
Refer to Switch Inference Models (use the `nemoclaw-user-configure-inference` skill) for the full procedure.
Refer to [Switch Inference Models](references/switch-inference-providers.md) for the full procedure.

For compatible endpoints, the command is:

Expand All @@ -449,4 +450,7 @@ If the provider itself needs to change (for example, switching from vLLM to a cl

## Related Skills

- [Inference Options](references/inference-options.md) for the full list of providers available during onboarding.
- [Tool-Calling Reliability](references/tool-calling-reliability.md) for diagnosing raw JSON tool-call output with local models.
- [Switch Inference Models](references/switch-inference-providers.md) for runtime model switching.
- `nemoclaw-user-get-started` — Quickstart (use the `nemoclaw-user-get-started` skill) for first-time installation
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The managed install/start vLLM entry appears by default on DGX Spark and DGX Sta
| Other Anthropic-compatible endpoint | Routes to any server that implements the Anthropic Messages API (`/v1/messages`). The wizard prompts for a base URL and model name. Set `COMPATIBLE_ANTHROPIC_API_KEY`. | You provide the model name. |
| Google Gemini | Routes to Google's OpenAI-compatible chat-completions endpoint. NemoClaw skips the Responses-API probe because Gemini does not support `/v1/responses`. Set `GEMINI_API_KEY`. | `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3-flash-preview`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite` |
| Hermes Provider | Routes Hermes Agent through the host OpenShell provider registered by NemoClaw when onboarding Hermes Agent. | Curated Hermes Provider models such as `moonshotai/kimi-k2.6`, `openai/gpt-5.4-mini`, and `z-ai/glm-5.1`. |
| Local Ollama | Routes to a local Ollama instance on `localhost:11434`. NemoClaw detects installed models, offers starter models if none are present, pulls and warms the selected model, and validates it. | Selected during onboarding. For more information, refer to Use a Local Inference Server (use the `nemoclaw-user-configure-inference` skill). |
| Local Ollama | Routes to a local Ollama instance on `localhost:11434`. NemoClaw detects installed models, offers starter models if none are present, pulls and warms the selected model, and validates it. | Selected during onboarding. For more information, refer to [Use a Local Inference Server](../SKILL.md). |
| Model Router | Starts a host-side router on port `4000`, registers it as an OpenAI-compatible provider, and keeps the sandbox pointed at `inference.local`. Set `NEMOCLAW_PROVIDER=routed` for non-interactive setup. | The router pool defines the model names. |

## Choosing the Right Option for Nemotron
Expand Down Expand Up @@ -114,7 +114,7 @@ An already-running vLLM server appears directly in the onboarding selection list
| Local NVIDIA NIM | NIM-capable GPU detected | Pulls and manages a NIM container. |
| Local vLLM | vLLM running on `localhost:8000`, or a supported DGX Spark, DGX Station, or Linux NVIDIA GPU profile | Auto-detects the loaded model when vLLM is already running. Can install or start a managed vLLM container by default on DGX Spark/Station and after opt-in on generic Linux NVIDIA GPU hosts. |

For setup instructions, refer to Use a Local Inference Server (use the `nemoclaw-user-configure-inference` skill).
For setup instructions, refer to [Use a Local Inference Server](../SKILL.md).

## Validation

Expand All @@ -137,6 +137,6 @@ Other provider credentials, such as `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMI

## Next Steps

- Use a Local Inference Server (use the `nemoclaw-user-configure-inference` skill) for Ollama, vLLM, NIM, and compatible-endpoint setup details.
- Tool-Calling Reliability (use the `nemoclaw-user-configure-inference` skill) for deciding when Ollama is enough and when vLLM with a parser is safer.
- Switch Inference Models (use the `nemoclaw-user-configure-inference` skill) for changing the model at runtime without re-onboarding.
- [Use a Local Inference Server](../SKILL.md) for Ollama, vLLM, NIM, and compatible-endpoint setup details.
- [Tool-Calling Reliability](tool-calling-reliability.md) for deciding when Ollama is enough and when vLLM with a parser is safer.
- [Switch Inference Models](switch-inference-providers.md) for changing the model at runtime without re-onboarding.
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,5 @@ Use the [`vlm-demo`](https://github.com/brevdev/nemoclaw-demos/tree/main/vlm-dem
Use the following resources for more information:

- Refer to [OpenClaw Sub-Agents](https://docs.openclaw.ai/tools/subagents) for `sessions_spawn`, `agents.list`, nesting, tool policy, and auth behavior.
- Refer to Switch Inference Providers (use the `nemoclaw-user-configure-inference` skill) to change the primary orchestration model instead of adding a sub-agent model.
- Refer to [Switch Inference Providers](switch-inference-providers.md) to change the primary orchestration model instead of adding a sub-agent model.
- Refer to Workspace Files (use the `nemoclaw-user-manage-sandboxes` skill) to understand per-agent workspace directories.
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ To change these values, set the corresponding environment variables before runni
| `NEMOCLAW_AGENT_HEARTBEAT_EVERY` | Go-style duration (`30m`, `1h`, `0m` to disable) | `unset` (OpenClaw default) |

Invalid values are ignored, and the default bakes into the image.
For Local Ollama, onboarding loads the selected model first and uses Ollama's reported runtime context length when `NEMOCLAW_CONTEXT_WINDOW` is unset.
Use `NEMOCLAW_INFERENCE_INPUTS=text,image` only for a model that accepts image input through the selected provider.

```console
Expand Down Expand Up @@ -203,4 +204,4 @@ The status output includes the active provider, model, and endpoint with the res

## Related Topics

- Inference Options (use the `nemoclaw-user-configure-inference` skill) for the full list of providers available during onboarding.
- [Inference Options](inference-options.md) for the full list of providers available during onboarding.
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,6 @@ model.

## Next Steps

- Use a Local Inference Server (use the `nemoclaw-user-configure-inference` skill)
- Inference Options (use the `nemoclaw-user-configure-inference` skill)
- Switch Inference Models (use the `nemoclaw-user-configure-inference` skill)
- [Use a Local Inference Server](../SKILL.md)
- [Inference Options](inference-options.md)
- [Switch Inference Models](switch-inference-providers.md)
Original file line number Diff line number Diff line change
Expand Up @@ -182,13 +182,13 @@ Writable agent state such as plugins, skills, hooks, and workspace metadata live
By default, this directory starts writable so the agent can manage its own config, install skills, and write to standard home-directory paths natively.
For sensitive workloads, use a reviewed host-side immutability workflow after initial setup so config and writable state entry points cannot be changed by the sandbox user.

- **DAC permissions (default).** The sandbox user owns `/sandbox/.openclaw` with mode `700` and `openclaw.json` with mode `600`, so the agent can read and write config directly.
- **DAC permissions (default).** The sandbox user owns `/sandbox/.openclaw` with mode `2770` (setgid `sandbox:sandbox`) and `openclaw.json` with mode `660`, so the agent and its group can read and write config directly. A reviewed host-side immutability workflow should compare the intended ownership and mode with the live sandbox filesystem before treating the config tree as locked.
- **Config integrity hash.** The image includes a SHA256 hash of `openclaw.json`. In the default mutable state, `.config-hash` is sandbox-owned and is not a tamper-proof trust anchor, so startup does not fail closed on that hash. When the hash is root-owned and read-only, startup enforces it and refuses to start if the hash does not match.
- **Gateway token environment.** The gateway exports `OPENCLAW_GATEWAY_TOKEN` and writes it to `/tmp/nemoclaw-proxy-env.sh` for interactive sandbox sessions. Keep this in mind when deciding whether a workload should run with mutable config or an immutable config posture.

| Aspect | Detail |
|---|---|
| Default | The sandbox keeps `/sandbox/.openclaw` writable (`700 sandbox:sandbox`), sets `openclaw.json` to `600 sandbox:sandbox`, lets the agent manage state directly, and has the gateway place `OPENCLAW_GATEWAY_TOKEN` in `/tmp/nemoclaw-proxy-env.sh` for interactive shells. |
| Default | The sandbox keeps `/sandbox/.openclaw` writable (`2770 sandbox:sandbox`), sets `openclaw.json` to `660 sandbox:sandbox`, lets the agent manage state directly, and has the gateway place `OPENCLAW_GATEWAY_TOKEN` in `/tmp/nemoclaw-proxy-env.sh` for interactive shells. |
Comment on lines +185 to +191

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Do not edit autogenerated skill files directly.

This change is in an autogenerated skill file and should be produced by the docs-to-skills pipeline, not hand-edited in place.

As per coding guidelines: "User skills under .agents/skills/nemoclaw-user-*/*.md are autogenerated and must never be edited directly"

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/skills/nemoclaw-user-configure-security/references/best-practices.md
around lines 185 - 191, This file is autogenerated and must not be edited
directly; revert any manual edits to
.agents/skills/nemoclaw-user-configure-security/references/best-practices.md and
instead update the source documentation used by the docs-to-skills pipeline (the
upstream docs/skill generator) so the change is regenerated; ensure any
modifications to the DAC permissions, config-hash, or gateway token wording are
made in the canonical source for the docs-to-skills conversion and then run the
pipeline to produce the updated autogenerated markdown.

| What you can change | Apply a reviewed host-side immutability workflow to lock config and state directories with DAC permissions and the immutable flag where available. |
| Risk of default | A writable `.openclaw` directory lets the agent modify its own gateway config: disabling CORS or redirecting inference to an attacker-controlled endpoint. |
| Recommendation | For always-on assistants handling sensitive workloads, lock config after initial setup. For development workflows, the writable default is appropriate. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,4 @@ On the next run NemoClaw prompts again unless the credential is supplied through

## Related Files

For the broader sandbox security model and operational trade-offs, see Security Best Practices (use the `nemoclaw-user-configure-security` skill) and Architecture (use the `nemoclaw-user-reference` skill).
For the broader sandbox security model and operational trade-offs, see [Security Best Practices](best-practices.md) and Architecture (use the `nemoclaw-user-reference` skill).
Original file line number Diff line number Diff line change
Expand Up @@ -117,5 +117,5 @@ The implementation detects unsafe nested quantifiers, bounds input length, and c

## Next Steps

- Security Best Practices (use the `nemoclaw-user-configure-security` skill) for NemoClaw's own security controls and risk framework.
- Credential Storage (use the `nemoclaw-user-configure-security` skill) for how NemoClaw stores and protects provider credentials.
- [Security Best Practices](best-practices.md) for NemoClaw's own security controls and risk framework.
- [Credential Storage](credential-storage.md) for how NemoClaw stores and protects provider credentials.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This flow provisions a remote VM, configures inference, starts OpenClaw inside a
**Note:**

Use this guide when you want to try NemoClaw without installing the CLI or using a local GPU.
If you want to manage the remote host from a terminal, see Deploy to a Remote GPU Instance (use the `nemoclaw-user-deploy-remote` skill).
If you want to manage the remote host from a terminal, see [Deploy to a Remote GPU Instance](../SKILL.md).

## What This Flow Creates

Expand Down Expand Up @@ -151,5 +151,5 @@ After your agent is running, explore these related tasks:
- Set Up Messaging Channels (use the `nemoclaw-user-manage-sandboxes` skill) to learn how to connect Telegram, Slack, or Discord.
- Switch Inference Providers (use the `nemoclaw-user-configure-inference` skill) to learn how to change the model provider after setup.
- Monitor Sandbox Activity (use the `nemoclaw-user-monitor-sandbox` skill) to learn how to inspect sandbox health and logs.
- Deploy to a Remote GPU Instance (use the `nemoclaw-user-deploy-remote` skill) to learn how to deploy NemoClaw to a remote GPU instance using the CLI.
- [Deploy to a Remote GPU Instance](../SKILL.md) to learn how to deploy NemoClaw to a remote GPU instance using the CLI.
- Troubleshooting (use the `nemoclaw-user-reference` skill) to learn how to fix common setup and runtime issues.
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ other NemoClaw extension paths.

## Next Steps

- Review Sandbox Hardening (use the `nemoclaw-user-deploy-remote` skill) before adding plugin code to a
- Review [Sandbox Hardening](sandbox-hardening.md) before adding plugin code to a
shared or long-lived sandbox.
- Review Network Policies (use the `nemoclaw-user-reference` skill) to plan plugin
egress rules.
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/nemoclaw-user-get-started/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Follow these steps to get started with NemoClaw and your first sandboxed OpenCla

**Note:**

Make sure you have completed reviewing the Prerequisites (use the `nemoclaw-user-get-started` skill) before following this guide.
Make sure you have completed reviewing the [Prerequisites](references/prerequisites.md) before following this guide.

## Install NemoClaw and Onboard OpenClaw Agent

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,5 @@ The table is generated from [`ci/platform-matrix.json`](https://github.com/NVIDI

## Next Steps

- Prepare Windows for NemoClaw (use the `nemoclaw-user-get-started` skill) if you are using Windows.
- Quickstart (use the `nemoclaw-user-get-started` skill) to install NemoClaw and launch your first sandbox.
- [Prepare Windows for NemoClaw](windows-preparation.md) if you are using Windows.
- [Quickstart](../SKILL.md) to install NemoClaw and launch your first sandbox.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The `nemohermes` command is an alias for `nemoclaw` with the Hermes agent pre-se
The Hermes agent option is experimental.
Interfaces, defaults, and supported features may change without notice, and it is not recommended for production use.

Review the Prerequisites (use the `nemoclaw-user-get-started` skill) before starting.
Review the [Prerequisites](prerequisites.md) before starting.
The first Hermes build can take several minutes because NemoClaw builds the Hermes sandbox base image if it is not already cached.

## Install and Onboard
Expand Down Expand Up @@ -44,7 +44,7 @@ Sandbox name [hermes]: my-hermes

Choose the inference provider that matches where you want Hermes model traffic to go.
The provider options and credential environment variables are the same as the standard NemoClaw quickstart.
For provider-specific prompts, refer to the Respond to the Onboard Wizard (use the `nemoclaw-user-get-started` skill) section and the Inference Options (use the `nemoclaw-user-configure-inference` skill) page.
For provider-specific prompts, refer to the [Respond to the Onboard Wizard](../SKILL.md#respond-to-the-onboard-wizard) section and the Inference Options (use the `nemoclaw-user-configure-inference` skill) page.
The Hermes wizard does not ask for Brave Web Search because Hermes does not use NemoClaw's OpenClaw web-search configuration.

After provider and policy selection, review the summary and confirm the build.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Prepare Windows for NemoClaw

You can run NemoClaw inside Windows Subsystem for Linux (WSL 2) on Windows.
Complete these steps before following the Quickstart (use the `nemoclaw-user-get-started` skill).
Complete these steps before following the [Quickstart](../SKILL.md).
Linux and macOS users do not need this page and can go directly to the Quickstart.

**Note:**
Expand All @@ -15,7 +15,7 @@ This guide has been tested on x86-64.
Verify the following before you begin:

- Windows 10 (build 19041 or later) or Windows 11.
- Hardware requirements are the same as the Quickstart (use the `nemoclaw-user-get-started` skill).
- Hardware requirements are the same as the [Quickstart](../SKILL.md).

## Option: Use the Bootstrap Script

Expand Down Expand Up @@ -137,7 +137,7 @@ Use one instance, or move one of them to a different port before running `nemocl

Your Windows environment is ready.
If you used the bootstrap script, follow the installer command it printed inside Ubuntu.
If you prepared Windows manually, open a WSL terminal (type `wsl` in PowerShell, or open Ubuntu from Windows Terminal) and continue with the Quickstart (use the `nemoclaw-user-get-started` skill) to install NemoClaw and launch your first sandbox.
If you prepared Windows manually, open a WSL terminal (type `wsl` in PowerShell, or open Ubuntu from Windows Terminal) and continue with the [Quickstart](../SKILL.md) to install NemoClaw and launch your first sandbox.

All NemoClaw commands run inside WSL, not in PowerShell.

Expand Down
5 changes: 4 additions & 1 deletion .agents/skills/nemoclaw-user-manage-policy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ This is useful when you want to test a destination before deciding whether it be

NemoClaw ships preset policy files for common integrations in `nemoclaw-blueprint/policies/presets/`.
Apply a preset as-is or use it as a starting template for a custom policy.
For guided post-install examples, see Common Integration Policy Examples (use the `nemoclaw-user-manage-policy` skill).
For guided post-install examples, see [Common Integration Policy Examples](references/integration-policy-examples.md).

During onboarding, the policy tier (use the `nemoclaw-user-reference` skill) you select determines which presets are enabled by default.
You can add or remove individual presets in the interactive preset screen that follows tier selection.
Expand All @@ -175,6 +175,7 @@ Available presets:
| `jira` | Atlassian Jira API |
| `local-inference` | Local Ollama and vLLM through the host gateway |
| `npm` | npm and Yarn registries |
| `openclaw-pricing` | OpenClaw model-pricing reference fetch (LiteLLM and OpenRouter) |
| `outlook` | Microsoft 365 and Outlook |
| `pypi` | Python Package Index |
| `slack` | Slack API and webhooks |
Expand Down Expand Up @@ -294,6 +295,8 @@ $ nemoclaw my-assistant policy-remove my-internal-api --yes

## Related Skills

- [Approve or Deny Agent Network Requests](references/approve-network-requests.md) for real-time operator approval.
- [Common Integration Policy Examples](references/integration-policy-examples.md) for maintained preset examples such as Outlook, messaging, GitHub, Jira, Brave Search, package managers, Hugging Face, and local inference.
- `nemoclaw-user-reference` — Network Policies (use the `nemoclaw-user-reference` skill) for the full baseline policy reference
- OpenShell [Policy Schema](https://docs.nvidia.com/openshell/latest/reference/policy-schema.html) for the full YAML policy schema reference.
- OpenShell [Sandbox Policies](https://docs.nvidia.com/openshell/latest/sandboxes/policies.html) for applying, iterating, and debugging policies at the OpenShell layer.
Loading
Loading