Skip to content

Quickstart

The stack is five containers: the LLM proxy, the admin API, the dashboard UI, a regex DLP engine, and Postgres for the ledger. Both options below end in the same place — pick one.

Section titled “Option A — Run the published images (recommended)”

Pulls the latest public images from GHCR; nothing is built on your host, and only the UI is published — loopback-only, production posture out of the box.

Terminal window
git clone https://github.com/kydehq/gateway.git
cd gateway
cp .env.starter.example .env.starter
# Edit .env.starter: set POSTGRES_PASSWORD (e.g. `openssl rand -base64 32`)
docker compose --env-file .env.starter \
-f docker-compose.yml -f docker-compose.prod.yml up -d

Builds the gateway and UI images from the repo and additionally publishes each service’s port directly to the host (gateway 8081, admin API 8501, DLP regex 8002, Postgres loopback 5432) — handy for development.

Terminal window
git clone https://github.com/kydehq/gateway.git
cd gateway
docker compose up -d --build
Terminal window
curl -fsS http://localhost:4000/health # LLM proxy
curl -fsS -o /dev/null -w "%{http_code}\n" http://localhost:8080/ # admin UI → 200
docker compose ps # everything "healthy"

All services should be healthy within ~40 seconds.

One line — the gateway forwards your real API key untouched:

Terminal window
# OpenAI-style clients (VS Code, Cursor, most SDKs)
export OPENAI_BASE_URL=http://localhost:4000/v1
# Anthropic-style clients (Claude Code, Claude SDK)
export ANTHROPIC_BASE_URL=http://localhost:4000

Optionally name your agent with an X-Agent-ID header; without it the gateway derives a stable pseudonymous ID from the API key hash (details).

Open http://localhost:8080/ — on first start the UI routes you to /setup to create the admin account. Run your agent once, refresh the dashboard: the request is there, hash-chained into the ledger, with its causal context, tool calls, token counts, and DLP findings.

That’s the whole pitch in one screen. From here: TLS, backups, upgrades, and the optional neural-DLP / validator services are in the deployment guide.

For hacking on the proxy itself, or embedding it in an existing Python environment, you can skip the containers:

Terminal window
pip install -e . # installs the `kyde` CLI
kyde keygen # generate a signing keypair (~/.agent-ledger/)
kyde serve --port 8000 # start the proxy

This runs the bare proxy without the dashboard UI, DLP sidecars, or Postgres ledger — see deployment guide §8 for wiring those up individually, and the CLI reference.