本文へ移動
cccskills
無料GitHub で公開

nemoclaw-user-manage-policy

Reviews and approves blocked agent network requests in the TUI. Use when approving or denying sandbox egress requests, managing blocked network calls, or using the approval TUI. Trigger keywords - nemoclaw approve network requests, sandbox egress approval tui, customize nemoclaw network policy, sandbox egress policy configuration.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md12.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. --> <!-- SPDX-License-Identifier: Apache-2.0 -->

Approve or Deny NemoClaw Agent Network Requests

Gotchas

  • Custom preset hosts bypass NemoClaw's review process and can widen sandbox egress to arbitrary destinations.

Prerequisites

  • A running NemoClaw sandbox.
  • The OpenShell CLI on your PATH.
  • A running NemoClaw sandbox for dynamic changes, or the NemoClaw source repository for static changes.

Review and act on network requests that the agent makes to endpoints not listed in the sandbox policy. OpenShell intercepts these requests and presents them in the TUI for operator approval.

Step 1: Open the TUI

Start the OpenShell terminal UI to monitor sandbox activity:

$ openshell term

For a remote sandbox, pass the instance name:

$ ssh my-gpu-box 'cd ~/nemoclaw && . .env && openshell term'

The TUI displays the sandbox state, active inference provider, and a live feed of network activity.

Step 2: Trigger a Blocked Request

When the agent attempts to reach an endpoint that is not in the baseline policy, OpenShell blocks the connection and displays the request in the TUI. The blocked request includes the following details:

  • Host and port of the destination.
  • Binary that initiated the request.
  • HTTP method and path, if available.

Step 3: Approve or Deny the Request

The TUI presents an approval prompt for each blocked request.

  • Approve the request to add the endpoint to the running policy for the current session.
  • Deny the request to keep the endpoint blocked.

Approved endpoints remain in the running policy until the sandbox stops. They are not persisted to the baseline policy file.

Step 4: Run the Walkthrough

To observe the approval flow in a guided session, run the walkthrough script:

$ ./scripts/walkthrough.sh

This script opens a split tmux session with the TUI on the left and the agent on the right. The walkthrough requires tmux and the NVIDIA_API_KEY environment variable.


Add, remove, or modify the endpoints that the sandbox is allowed to reach.

The sandbox policy is defined in a declarative YAML file in the NemoClaw repository and enforced at runtime by NVIDIA OpenShell. NemoClaw supports both static policy changes that persist across restarts and dynamic updates applied to a running sandbox through the OpenShell CLI.

Step 5: Static Changes

Static changes modify the baseline policy file and take effect after the next sandbox creation.

Edit the Policy File

Open nemoclaw-blueprint/policies/openclaw-sandbox.yaml and add or modify endpoint entries.

If you only need one of the built-in presets, use nemoclaw <name> policy-add instead of editing YAML by hand:

$ nemoclaw my-assistant policy-add

To remove a previously applied preset, use nemoclaw <name> policy-remove:

$ nemoclaw my-assistant policy-remove

Use a manual YAML edit when you need to allow custom hosts that are not covered by a preset, such as an internal API or a weather service.

Each entry in the network section defines an endpoint group with the following fields:

endpoints : Host and port pairs that the sandbox can reach.

binaries : Executables allowed to use this endpoint.

rules : HTTP methods and paths that are permitted.

Re-Run Onboard

Apply the updated policy by re-running the onboard wizard:

$ nemoclaw onboard

The wizard picks up the modified policy file and applies it to the sandbox.

Verify the Policy

Check that the sandbox is running with the updated policy:

$ nemoclaw <name> status

Step 6: Dynamic Changes

Dynamic changes apply a policy update to a running sandbox without restarting it.

[!WARNING] openshell policy set replaces the sandbox's live policy with the contents of the file you provide; it does not merge. A running sandbox's live policy is the baseline from openclaw-sandbox.yaml plus every preset that was layered on during onboarding. Applying a file that contains only the baseline (or only a single preset) silently drops every other preset that was in effect.

Option 1: Drop a Preset File and Use policy-add (Recommended)

This is the non-destructive path and the only flow NemoClaw supports out of the box for merging new entries into a running policy.

  1. Create a preset-format YAML file under nemoclaw-blueprint/policies/presets/, for example nemoclaw-blueprint/policies/presets/influxdb.yaml:

    preset:
      name: influxdb
      description: "InfluxDB time-series database"
    network_policies:
      influxdb:
        name: influxdb
        endpoints:
          - host: influxdb.internal.example.com
            port: 8086
            protocol: rest
            enforcement: enforce
            tls: terminate
            rules:
              - allow: { method: GET, path: "/**" }
              - allow: { method: POST, path: "/api/v2/write" }
        binaries:
          - { path: /usr/bin/curl }
    
  2. Apply it to the running sandbox:

    $ nemoclaw my-assistant policy-add
    

    NemoClaw reads the live policy via openshell policy get --full, structurally merges your preset's network_policies into it, and writes the merged result back. Existing presets and the baseline remain in place. The preset file under presets/ also persists across sandbox recreations.

Option 2: Snapshot, Edit, and Set via OpenShell

Use this path only when you cannot add a file under the NemoClaw source tree. You must start from the live policy, not from openclaw-sandbox.yaml, so the presets layered on at onboarding are preserved in the file you apply.

$ openshell policy get --full my-assistant > live-policy.yaml

Edit live-policy.yaml to add your entries under network_policies:, keeping the existing version field intact, then apply:

$ openshell policy set --policy live-policy.yaml my-assistant

Scope of Dynamic Changes

Dynamic changes apply only to the current session. When the sandbox stops, the running policy resets to the baseline composed from openclaw-sandbox.yaml plus the presets recorded for the sandbox. To make a custom policy survive a sandbox recreation, ship the preset file in the repository (Option 1 above — the file under presets/ persists) or edit openclaw-sandbox.yaml and re-run nemoclaw onboard.

Approve Requests Interactively

For one-off access, you can approve blocked requests in the OpenShell TUI instead of editing the baseline policy:

$ openshell term

This is useful when you want to test a destination before deciding whether it belongs in a permanent preset or custom policy file.

Step 7: Policy Presets

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.

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.

Available presets:

PresetEndpoints
braveBrave Search API
brewHomebrew (Linuxbrew) package manager
discordDiscord webhook API
githubGitHub and GitHub REST API
huggingfaceHugging Face Hub (download-only) and inference router
jiraAtlassian Jira API
npmnpm and Yarn registries
outlookMicrosoft 365 and Outlook
pypiPython Package Index
slackSlack API and webhooks
telegramTelegram Bot API

To apply a preset to a running sandbox:

$ nemoclaw <name> policy-add

Note: Preset selection is interactive. Positional preset arguments are ignored.

For example, to interactively add PyPI access to a running sandbox:

$ nemoclaw my-assistant policy-add

To list which presets are applied to a sandbox:

$ nemoclaw <name> policy-list

To include a preset in the baseline, merge its entries into openclaw-sandbox.yaml and re-run nemoclaw onboard.

Note: The openshell policy set --policy <file> <sandbox-name> command operates on raw policy files and does not accept the preset: metadata block used in preset YAML files. Use nemoclaw <name> policy-add for presets.

For scripted workflows, policy-add and policy-remove accept the preset name as a positional argument:

$ nemoclaw my-assistant policy-add pypi --yes
$ nemoclaw my-assistant policy-remove pypi --yes

Set NEMOCLAW_NON_INTERACTIVE=1 instead of --yes to drive the same flow from an environment variable. See Commands (use the nemoclaw-user-reference skill) for the full flag reference.

nemoclaw <name> rebuild reapplies every policy preset to the recreated sandbox, so presets survive an agent-version upgrade without manual reapplication.

Step 8: Custom Preset Files

Apply a user-authored preset YAML to a running sandbox without editing the baseline or dropping to openshell policy set.

Authoring

A custom preset follows the same shape as the built-in ones under nemoclaw-blueprint/policies/presets/:

preset:
  name: my-internal-api
  description: "Internal service"
network_policies:
  my-internal-api:
    name: my-internal-api
    endpoints:
      - host: api.example.internal
        port: 443
        protocol: rest
        enforcement: enforce
        rules:
          - allow: { method: GET, path: "/**" }
    binaries:
      - { path: /usr/local/bin/node }

The top-level preset.name must be a lowercase RFC 1123 label (letters, digits, hyphens) and must not collide with a built-in preset name such as slack or pypi. Rename preset.name if NemoClaw refuses to apply the file because of a collision.

Apply a Single File

$ nemoclaw my-assistant policy-add --from-file ./presets/my-internal-api.yaml

Preview the endpoints without applying with --dry-run, and skip the confirmation prompt with --yes or by exporting NEMOCLAW_NON_INTERACTIVE=1.

Apply Every File in a Directory

$ nemoclaw my-assistant policy-add --from-dir ./presets/ --yes

Files are processed in lexicographic order. Processing stops at the first failure; presets already applied are not rolled back. Fix the failing file and re-run the command to continue.

Warning: Custom preset hosts bypass NemoClaw's review process and can widen sandbox egress to arbitrary destinations. Review every host in a custom preset before applying it, especially when the file originates outside your team.

Remove a Custom Preset

Custom presets applied with --from-file or --from-dir are recorded in the NemoClaw sandbox registry alongside their full YAML content, so they can be removed by name — the original file does not need to be kept on disk:

$ nemoclaw my-assistant policy-remove my-internal-api --yes

policy-remove accepts both built-in and custom preset names. Run nemoclaw <name> policy-list to see every preset currently applied to the sandbox.

Related Skills

  • nemoclaw-user-reference — Network Policies (use the nemoclaw-user-reference skill) for the full baseline policy reference
  • nemoclaw-user-monitor-sandbox — Monitor Sandbox Activity (use the nemoclaw-user-monitor-sandbox skill) for general sandbox monitoring
  • OpenShell Policy Schema for the full YAML policy schema reference.
  • OpenShell Sandbox Policies for applying, iterating, and debugging policies at the OpenShell layer.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Create GitHub pull requests that follow the NemoClaw PR template. Use when the user wants to create a new PR, submit code for review, open a pull request, or push changes for review. Trigger keywords - create PR, pull request, new PR, submit for review, open PR, push for review.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

Scan recent git commits for changes that affect user-facing behavior, then draft or update the corresponding documentation pages. Use when docs have fallen behind code changes, after a batch of features lands, or when preparing a release. Trigger keywords - update docs, draft docs, docs from commits, sync docs, catch up docs, doc debt, docs behind, docs drift.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

Cut a new semver release — bump all version strings via bump-version.ts, open a release PR, and after merge tag main and push. Use when cutting a release, tagging a version, shipping a build, or preparing a deployment. Trigger keywords - cut tag, release tag, new tag, cut release, tag version, ship it.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

Runs the daytime maintainer loop for NemoClaw, prioritizing items labeled with the current version target. Picks the highest-value item, executes the right workflow (merge gate, salvage, security sweep, test gaps, hotspot cooling, or sequencing), and reports progress. Use during the workday to land PRs and close issues. Designed for /loop (e.g. /loop 10m /nemoclaw-maintainer-day). Trigger keywords - maintainer day, work on PRs, land PRs, make progress, what's next, keep going, maintainer loop.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

Runs the end-of-day maintainer handoff for NemoClaw. Checks version target progress, bumps stragglers to the next patch version, generates a QA handoff summary, and cuts the release tag. Use at the end of the workday. Trigger keywords - evening, end of day, EOD, wrap up, ship it, cut tag, handoff, done for the day.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

Finds open GitHub PRs with security and priority-high labels, links each to its issue, detects duplicates (multiple PRs fixing the same issue), and presents a table of review candidates. Use when looking for the next PR to review. Trigger keywords - find pr, find review, next pr, pr to review, duplicate pr, security pr.

日本語の概要は準備中です。原文の説明を表示しています。

composio-community/nemoclaw-composio22026年4月30日 更新

composio-community のスキルをすべて見る

このスキルの問題を報告する