Skip to content

NautGate v0.1.0 — first public release

Choose a tag to compare

@48Nauts-Operator 48Nauts-Operator released this 23 Jul 16:42
· 89 commits to main since this release
38c088f

NautGate v0.1.0

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

First public release. NautGate sits between your coding agents and every model
provider — Claude Code, Codex, Pi and your own apps point at one endpoint. It
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. NautGate reads the model name from the
provider's own response, never from the request — so the audit log is attested,
not assumed.

Highlights

Gateway

  • OpenAI-compatible (/v1/chat/completions) and Anthropic-compatible (/v1/messages) inbound
  • Two credential lanes — OAuth subscription traffic passes through untouched and free; metered keys get routed
  • Per-key model override — pin any model to a key and run Claude Code on it
  • Local models via LM Studio, addressable as lmstudio/<id>

Evidence

  • Full audit log — policy-gated prompt/response capture, tokens, timings, cost
  • Routing-flow view — client → lane → decision → upstream → model actually served
  • Silent-substitution detection when the served model differs from the requested one
  • Sensitivity classification (PII/secrets) before anything is stored

Analytics

  • Quality gate — post-hoc judge scoring with failure-mode buckets
  • Head-to-head — real calls grouped by task, so models compare like-for-like
  • Champion/challenger shadow testing with a blind judge
  • Cache accounting, context-bloat detection, drift + behavioural control charts
  • Cost by project/agent/model, plus notional subscription savings

Operations

  • Self-contained Docker image (config baked; routing + pricing load in-container)
  • First-run key auto-minted on an empty DB and printed to the log
  • Healthcheck + /ready; backups that work inside the published container
  • In-app provider-key management, encrypted at rest (AES-256-GCM)
  • Collapsible dashboard, first-run onboarding, in-app help pane, version chip

Install

git clone https://github.com/48Nauts-Operator/NautGate.git
cd NautGate
cp .env.example deploy/.env      # add the provider keys you want
docker compose -f deploy/docker-compose.yml up -d

Or pull the prebuilt image:

docker pull ghcr.io/48nauts-operator/nautgate:0.1.0

Point a client at it, then open the dashboard at http://localhost:8090/dashboard.
Full guide: https://docs.nautgate.dev · Site: https://nautgate.dev

License

AGPL-3.0, with a commercial license available for anyone who wants NautGate
without AGPL obligations — hello@48nauts.com. Self-host, modify and run it
freely; the copyleft only applies if you offer a modified version as a network
service to third parties.