gaze-proxy
gaze-proxy is the feature-gated HTTP proxy runtime for LLM SDK base-URL swaps.
It preserves each provider's native wire shape and uses adapters only to locate
PII-bearing fields before calling the supplied gaze::Pipeline.
Cargo
[]
= "0.11.3"
Quickstart
Then point SDKs at the daemon:
The default config is written to ~/.config/gaze/proxy.toml and includes:
= "127.0.0.1:8787"
= "30m"
= "core"
[]
= "https://api.openai.com/"
[]
= "https://api.anthropic.com/"
[]
= "https://generativelanguage.googleapis.com/"
Providers
- OpenAI:
POST /v1/chat/completions,/v1/completions,/v1/responses - Anthropic:
POST /v1/messages - Gemini:
POST /v1beta/models/*:{generateContent,streamGenerateContent,countTokens}
Each adapter walks text, tool-call, tool-result, and function argument surfaces in that provider's native JSON. The proxy does not transcode requests.
Daemon Commands
Pidfiles live under the platform local-data directory, never /tmp. Stale
pidfiles are revalidated with process liveness checks and cleaned before start.
gaze proxy logs --follow is also available for local daemon inspection.
Security Notes
Authentication headers are forwarded unchanged. The proxy does not own provider API keys and does not add an auth boundary around the local listener. Bind to loopback unless you are deliberately placing it behind a separate local access control layer.