NautGate banner
48Nauts-Operator 48Nauts-Operator

NautGate

AI community

Description

Memory-aware LLM gateway — route Claude Code, Codex and Pi to any model (or a local one) and prove which model actually answered, what it saw, and what it cost.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

NautGate

[![CI](https://github.com/48Nauts-Operator/NautGate/actions/workflows/ci.yml/badge.svg)](https://github.com/48Nauts-Operator/NautGate/actions/workflows/ci.yml) [![License: AGPL-3.0-or-later](https://img.shields.io/badge/license-AGPL--3.0--or--later-6b7233.svg)](LICENSE) [![Docs](https://img.shields.io/badge/docs-nautgate.dev-6b7233.svg)](https://docs.nautgate.dev) [![Release](https://img.shields.io/github/v/release/48Nauts-Operator/NautGate?color=6b7233&label=release)](https://github.com/48Nauts-Operator/NautGate/releases)

One gateway for every LLM call — routed, measured, and provably logged.

NautGate sits between your coding agents and every model provider. Claude Code, Codex, Pi and your own apps point at one endpoint; NautGate routes each call, records what actually happened, and tells you what it cost.

The point isn't routing — plenty of tools route. The point is **evidence**: for every call you can prove which model really answered, what data it saw, how long it took and what it cost.

Claude Code ─┐
Codex ───────┤                      ┌─ Anthropic
Pi ──────────┼──► NautGate :8090 ───┼─ OpenAI
your app ────┘     │                ├─ OpenRouter
                   │                └─ LM Studio / local
                   └──► Postgres (audit, outcomes, analytics)

NautGate Observatory — AI usage, token-consuming projects, live risk, Lighthouse, quality, drift, and sessions
The Observatory — operational usage, token-consuming projects, live risk, quality, drift, and sessions in one evidence-backed view.

Why

Ask a model which model it is and it tells you whatever its client's system prompt says. Claude Code asserts an identity in every request, so a routed model answers "I am Claude" no matter what generated the tokens. Self-report is worthless.

NautGate reads the model name from the **provider's own response**, never from the re