NautGate v0.1.0 — first public release
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 -dOr pull the prebuilt image:
docker pull ghcr.io/48nauts-operator/nautgate:0.1.0Point 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.