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, Cursor, 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 the machine: Check config layers, agent binaries, hook status,
observability outputs, and shell completions with
nemo-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,nemo-relay cursor, 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
Install the CLI:
That command installs the binary as:
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 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