Drew Newberry fb14110466 feat(cli): add interactive agent REPL with Chat gRPC service
Add `nav agent` command with a client-side REPL that communicates with
LLMs through a new Chat gRPC streaming service on the gateway server and
executes tools by shelling out to `nav` CLI subcommands.

Server-side:
- chat.proto with ChatStream server-streaming RPC, ChatMessage, Tool,
  ToolCall, ContentDelta, and ChatError messages
- ChatService resolves inference routes by routing_hint and delegates to
  protocol-specific translators (OpenAI and Anthropic)
- OpenAI and Anthropic SSE streaming with tool call accumulation
- GrpcRouter extended from 2 to 3 services in the multiplexer

Client-side:
- 9 tools (cluster_status, sandbox CRUD/logs, provider list/get,
  inference_route_list) executed via subprocess shell-out
- Binary resolution via current_exe() with NAV_AGENT_CLI env override
- rustyline-based interactive REPL with multi-turn tool-calling loop
- --routing-hint and --system-prompt CLI arguments

Closes #50
2026-03-01 21:58:33 -08:00
2026-02-26 20:25:39 -08:00

Navigator 🗺️

Navigator is the runtime environment for autonomous agents—the "Matrix" where they live, work, and verify.

While coding tools like Claude help agents write logic, Navigator provides the infrastructure to run it, offering a programmable factory where agents can spin up physics simulations to master tasks, generate synthetic data to fix edge cases, and safely iterate through thousands of failures in isolated sandboxes.

It transforms the data center from a static deployment target into a continuous verification engine, allowing agents to autonomously build and operate complex systems—from physical robotics to self-healing infrastructure—without needing a human to manage the infrastructure.

Quickstart

Prerequisites

  • Docker — Docker Desktop (or a Docker daemon) must be running.
  • Python 3.12+ and uv

Install

uv pip install navigator --upgrade --pre --index-url https://urm.nvidia.com/artifactory/api/pypi/nv-shared-pypi/simple

The navigator binary is installed into your Python environment. Use uv run navigator to invoke it, or activate your venv first (source .venv/bin/activate).

Create a sandbox

uv run navigator sandbox create -- claude  # or opencode or codex

The sandbox container includes a minimal networking toolset by default: ping, dig, nslookup, nc, traceroute, and netstat.

Developing

See CONTRIBUTING.md for building from source and contributing to Navigator.

Architecture

See architecture/ for detailed architecture docs and design decisions.

S
Description
GitHub Trending: NVIDIA/OpenShell
Readme Apache-2.0
240 MiB
Languages
Rust 86.9%
Go 4.9%
Shell 3.4%
Python 2.6%
TypeScript 0.9%
Other 1%