Proxy Setup
Integration
The universal LLM proxy sits between your AI tool and the provider API. It forwards every request untouched and watches the response to resolve each edit — capturing the full prompt, model, and applied/rejected status.
How it works
The proxy is transparent: it receives your tool’s request, logs a structured provenance record, and forwards the request to the real provider immediately. Minimal added latency, no behavior change.
Your AI tool ──▶ localhost:8788 (LineageLens proxy) ──▶ api.anthropic.com
│
└─▶ POST /ingest (prompt, model, edit, status)Routing your tools
Point each tool’s base URL at the proxy. One environment variable per provider family:
# Anthropic family — Claude Code, claude CLI
export ANTHROPIC_BASE_URL=http://localhost:8788
# OpenAI family — Codex CLI, Goose, Continue
export OPENAI_BASE_URL=http://localhost:8788
# Gemini CLI
export GEMINI_BASE_URL=http://localhost:8788
The proxy parses each provider’s native tool-calling protocol and correlates each edit with the next turn’s tool result to know whether it actually landed.
What you get per tool
| Tool | Method | Capture |
|---|---|---|
| Claude Code | Proxy | Full — prompt, model, applied/rejected |
| OpenAI Codex CLI | Proxy | Full — Responses + apply_patch |
| Gemini CLI | Proxy | Full |
| Goose / Continue | Proxy | Full |
| Cursor / Copilot / Windsurf | Extension | Editor-only (file + lines) |
Cursor agent and Copilot CLI route through proprietary backends (api.cursor.sh, api.githubcopilot.com), so you get editor-level capture but not the prompt or model.
Dynamic model routing
The proxy classifies each request as simple / standard / complex and can downgrade simple requests to a cheaper model per a per-workspace policy. Every routed record stores the estimated USD saving; the dashboard shows the 30-day total.
Security
The proxy enforces TLS 1.2 minimum upstream. It forwards request bodies untouched — it does not rewrite your prompts. Records are stored only in your backend. See the security page for the full model.