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

ToolMethodCapture
Claude CodeProxyFull — prompt, model, applied/rejected
OpenAI Codex CLIProxyFull — Responses + apply_patch
Gemini CLIProxyFull
Goose / ContinueProxyFull
Cursor / Copilot / WindsurfExtensionEditor-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.