NeMo Relay
nemo-relay-cli installs the NeMo Relay CLI, the nemo-relay binary for local
coding-agent observability. It can configure supported coding-agent hooks, run
agents through an ephemeral gateway, and diagnose local agent and exporter
readiness.
The CLI is a Rust package in this repository, but most users should interact
with the installed nemo-relay command rather than link against the crate.
Why Use It?
- Observe existing coding agents: Run Claude Code, Codex, or Hermes Agent through a local NeMo Relay gateway without changing the agent itself.
- Configure hooks interactively: Use the setup wizard to write project or user config and install the hook files needed by supported agents.
- Export local sessions: Write ATIF trajectory files, ATOF event JSONL streams, or OpenInference spans from one shared config model.
- Diagnose setup readiness: Check config layers,
plugins.tomldiscovery, agent binaries, persistent host-plugin installs, hook status, observability outputs, and shell completions withnemo-relay doctor.
What You Get
nemo-relaybinary: The executable installed by thenemo-relay-cliCargo package.- First-run setup: Bare
nemo-relaylaunches setup when no config exists, then runs doctor once config is present. - Agent shortcuts:
nemo-relay claude,nemo-relay codex, andnemo-relay hermesstart observed agent runs. - Config-driven launch:
nemo-relay runresolves config, environment, and CLI overrides for deterministic non-interactive use. - Hook forwarding server: A local gateway accepts agent hook events and provider-shaped OpenAI or Anthropic requests.
Installation Options
Cargo:
Unix curl:
|
Windows PowerShell:
irm https://raw.githubusercontent.com/NVIDIA/NeMo-Relay/main/install.ps1 | iex
For version pinning, custom installation directories, verification, troubleshooting, and CLI usage, refer to the NeMo Relay installation guide.
After installation, verify the binary with:
Getting Started
Run the first-time setup wizard:
After setup, inspect local readiness:
Run a supported agent through the gateway:
Use run --dry-run to inspect resolved config without spawning the agent:
Configuration
Project config lives at ./.nemo-relay/config.toml; user config lives at
~/.config/nemo-relay/config.toml or $XDG_CONFIG_HOME/nemo-relay/config.toml.
The project layer overrides system config, and the user layer overrides the
project layer.
General options are configured through the top-level config. Edit the config with:
Observability exporters are configured through the plugin config. Edit the user plugin config with:
The top-level editor menu contains one entry per supported built-in, followed by
the dynamic plugin references in the selected physical plugins.toml. Dynamic
plugins with a manifest-declared JSON Schema provide structured field controls.
Other dynamic plugins use a raw JSON object editor.
The canonical plugin file is plugins.toml; user config lives at
~/.config/nemo-relay/plugins.toml or
$XDG_CONFIG_HOME/nemo-relay/plugins.toml. Project config lives at
.nemo-relay/plugins.toml.
Minimal ATIF example:
= 1
[[]]
= "observability"
= true
[]
= true
= "./atif"
Documentation
NeMo Relay Documentation: https://docs.nvidia.com/nemo/relay