[UNTESTED] [openziti/llm-gateway] 1 endpoint(s)
ChatGPT
API Proxy/ChatGPT
2,129 characters
Status: [UNTESTED]
Endpoints found:
http://localhost:8080/v1/chat/completions
Source: https://github.com/openziti/llm-gateway
# llm-gateway
An OpenAI-compatible API proxy that routes requests to OpenAI, Anthropic, and any OpenAI-compatible backend (Ollama, vLLM, llama-server, SGLang, etc.). Optionally expose the gateway via [zrok](https://zrok.io) for zero-trust access.
## Why another LLM gateway?
Most LLM proxies solve API translation. This one also solves the network problem: how do you connect a gateway to GPU boxes behind NAT, expose it to clients without opening ports, and route requests to the right model — all without bolting on a VPN, a service mesh, or a routing database?
- **Zero-trust networking with zrok (over OpenZiti)** — the gateway and its backends communicate using [zrok](https://github.com/openziti/zrok) over [OpenZiti](https://openziti.io) overlay networks. Expose the gateway or reach a backend across NAT, air-gapped networks, or cloud boundaries without firewall rules or port forwarding. Both directions work the same way.
- **Semantic routing** — a three-layer cascade (keyword heuristics, embedding similarity, LLM classifier) selects the best model automatically when clients omit the `model` field. No hand-maintained routing tables.
- **Multi-endpoint load balancing** — weighted round-robin, health checks with passive failover, and VM sleep detection across a pool of inference servers. Works with Ollama, llama-server, vLLM, SGLang, or anything that exposes `/v1/chat/completions`. Built for distributing inference across real hardware.
- **Single binary, zero infrastructure** — one Go binary, one YAML file. No database, no message queue, no sidecar.
## Features
- **OpenAI-compatible API**: Drop-in replacement for OpenAI client libraries
- **Multi-provider routing**: Automatically routes requests based on model name
- **Semantic routing**: Optional three-layer cascade (heuristics, embeddings, LLM classifier) to automatically select the best model when `model` is omitted
- **Anthropic translation**: Transparently converts OpenAI format to/from Anthropic's Me