RLCD Gateway
A self-hosted gateway for LLMs and decision models. Claude Code, Codex, OpenCode and any OpenAI or Anthropic SDK app route every call to the provider you choose, with the context the model no longer needs pruned to cut token costs. Apps that call Jev or open-rlcd System One decision models change only their base URL and get every decision audited and calibrated. Every request, client and cost shows in a live dashboard. One binary, no system proxy, no certificates.
Quick start
pipx install rlcd-gateway # or run it once: uvx rlcd-gateway
rlcd-gateway # proxy + dashboard on http://127.0.0.1:4777/ui/
Then point any client at it through its base URL. Its own login is kept:
ANTHROPIC_BASE_URL=http://127.0.0.1:4777 claude # Claude Code
OPENAI_BASE_URL=http://127.0.0.1:4777/v1 python my_app.py # any OpenAI SDK app
rlcd-gateway setup claude # make it permanent (codex, opencode too; undo: rlcd-gateway undo claude)
This package ships the prebuilt rlcd-gateway binary for macOS (arm64, x64),
Linux (x64, arm64) and Windows (x64), with the dashboard embedded.
Why
- One base URL for every model. Anthropic, OpenRouter, OpenAI, Groq, Together, DeepSeek, Mistral, Ollama, vLLM, LM Studio… behind model aliases, per-request rules and fallbacks. Switch provider mid-session; the agent never notices.
- Keep your subscription. Claude Code and Codex logins are forwarded untouched, so a Claude or ChatGPT subscription still serves the turn.
- Pay for fewer tokens. Stale tool output is pruned in a prompt-cache-aware way,
starting in shadow mode, and the model can ask for anything back with
rlcd_recall(MCP). - See everything. Every call's body, client, route, tokens and estimated cost, with a context X-ray of what the model actually received.
- Survive provider errors. Errors are classified and recovered (clamping, emergency pruning, backoff, route fallbacks) before the client sees them.
- Audit your decision models. A drop-in, Jev-compatible proxy for System One
decisions (Jev and open-rlcd,
POST /v1/systemone): answers byte for byte, every call logged, outcomes recorded for accuracy and calibration (ECE), a mirror for parity between backends, and routing rules driven by a decision's answer. - Share it safely. Gateway keys with rate and token limits, so apps never hold a provider key.
Use it from any app
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:4777/v1", api_key="rlcd-…") # a gateway key
reply = client.chat.completions.create(
model="smart", # a model alias, or any model the route's provider knows
messages=[{"role": "user", "content": "Hello"}],
)
The Anthropic SDKs work the same way with base_url="http://127.0.0.1:4777", and
System One clients (Jev, open-rlcd) with the gateway as their base URL for
POST /v1/systemone.
Links
- Documentation, screenshots and source: https://github.com/JimmyWesley/rlcd-gateway
- Releases and standalone downloads: https://github.com/JimmyWesley/rlcd-gateway/releases
- Issues: https://github.com/JimmyWesley/rlcd-gateway/issues
Apache License 2.0.
Release files for rlcd-gateway 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| rlcd_gateway-0.1.2-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| rlcd_gateway-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl | Python 3 | none | Linux musl 1.1+ x86-64, Linux glibc 2.17+ x86-64 | Details |
| rlcd_gateway-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64, Linux musl 1.1+ ARM64 | Details |
| rlcd_gateway-0.1.2-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| rlcd_gateway-0.1.2-py3-none-macosx_10_15_x86_64.whl | Python 3 | none | macOS 10.15+ x86-64 | Details |
Total release size: 17.8 MB
Release files / rlcd_gateway-0.1.2-py3-none-win_amd64.whl
| Download URL | rlcd_gateway-0.1.2-py3-none-win_amd64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0894a31b7732689d7cfe88c5254118229a4ea6a221f8db41762426f4f88d8685
|
|
BLAKE2b-256 checksum How to use checksums |
5b833790831e2afb49dc4458c54079c730e821af098aeea20f626f40ed046ebe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / rlcd_gateway-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
| Download URL | rlcd_gateway-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | Linux glibc 2.17+ x86-64 Linux musl 1.1+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
03e743f7b4af66b44228fa0789a7be0e6f5221f76534cc34a24d8f1e5e929359
|
|
BLAKE2b-256 checksum How to use checksums |
d74d3ff22d1069ff9668a7199155f3af1e0634e8e989ec6949178ec535601d12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / rlcd_gateway-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
| Download URL | rlcd_gateway-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | Linux glibc 2.17+ ARM64 Linux musl 1.1+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
cfa8e2bc7eb49c1e271d15c962cf0afd2b89be4245774e8cf5664d43c1cacc67
|
|
BLAKE2b-256 checksum How to use checksums |
273aa56f2d74a2beaf3768cab116ee316e790edbb0619dfe0a876070a576f14f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / rlcd_gateway-0.1.2-py3-none-macosx_11_0_arm64.whl
| Download URL | rlcd_gateway-0.1.2-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5ee60173e0cc1457565475d1199a5772c863eed43f3196fbcb70a46a5f9af039
|
|
BLAKE2b-256 checksum How to use checksums |
7a43ed9b08a0ab18b5c46c9731ffe48a8ad391f8e899df377b7e4d0251a590e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / rlcd_gateway-0.1.2-py3-none-macosx_10_15_x86_64.whl
| Download URL | rlcd_gateway-0.1.2-py3-none-macosx_10_15_x86_64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | Python 3 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
711c9afb403daadc0e8b60e9d3b46cd67c13229e93ef996c3569f854bf8e96b1
|
|
BLAKE2b-256 checksum How to use checksums |
dd88ae5efa6944fbc806714a8cdf74852d6c8ede87c3774c4be9df02f7e036d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log