home →
Get the free key
v1.x live · one base URL

Works with what you already use.

No new tools to learn. UPtrim speaks the OpenAI chat API on both sides, so it drops in between the app you already like and the model server you already run. Set one base URL — http://<host>:9099/v1 — and everything else is additive.

Chat clients

Point your app's API base URL at UPtrim. That is the whole integration.

Open WebUI LIVE

The most common setup. UPtrim resolves each person from the user headers Open WebUI forwards, so everybody gets their own private memory automatically.

  • One required env var — ENABLE_FORWARD_USER_INFO_HEADERS=true, or everyone shares one memory pool.
  • New users get a private memory lane on their first message.
  • Memory provenance chips render inline in the reply.
  • Thinking blocks arrive as collapsible reasoning, not raw tags.

SillyTavern LIVE

Point it at a custom OpenAI-compatible endpoint. UPtrim picks up identity from whatever auth scheme you already have in front of it.

  • Works with custom identity headers and signed tokens.
  • Per-user isolation regardless of character or chat.
  • Streaming, tool calls and long-context handling all pass through.
  • Users manage their own memories at /my-memory.

Any OpenAI client LIVE

UPtrim implements the OpenAI /chat/completions surface, so anything built against it works unchanged — other chat UIs, editor plugins, cron scripts, your own code.

  • Full SSE streaming.
  • Tool-use compatible.
  • Model list reflects every backend you have wired up.
  • Any API key value works unless you turn on strict identity.
The single most common support ticket. If Open WebUI users all seem to share one memory, it is almost always this: Open WebUI does not forward user information unless you set ENABLE_FORWARD_USER_INFO_HEADERS=true in its environment and restart it. One line, one restart, and per-user memory starts working.

Model backends

Your own model servers first. Cloud providers are something you add on purpose.

🏠 Local backends LIVE

Anything that speaks the OpenAI API. vLLM and SGLang are auto-detected and promoted to the primary tier with no configuration, because they are the ones that hold up under concurrency. One backend on the free Developer tier, five on Standard, up to unlimited on Enterprise — and all of their models appear in a single dropdown, each with its own context window.

Ollama llama.cpp vLLM SGLang LM Studio Any OpenAI-compatible server

☁ Cloud providers ONE SWITCH AWAY

Four providers, off until you turn them on, and gated to the Pro tier. Anthropic signs in over OAuth so there is no raw API key to paste or leak. Every cloud call is written to a cost ledger; local calls log as zero. Set local_only and none of this can fire at all.

Anthropic (OAuth) OpenAI Google Gemini OpenRouter (100+ models) Cost ledger Pro tier
Models people actually run through it. Local: Gemma 4, Llama 4, Qwen3, QwQ, DeepSeek-R, GLM-4, Mistral. Cloud, once you switch it on: Claude Opus 5, Claude Sonnet 5, GPT-5, Gemini, and 100+ more through OpenRouter. Reasoning models are handled properly — thinking blocks are redirected into reasoning_content so your UI renders them collapsed, and untagged chain-of-thought is detected too.

MCP clients

UPtrim is also an MCP server, so your automations can read and write the same memory your chats use.

n8n LIVE

Wire UPtrim into a workflow as an MCP tool server. Your automations can search memory, write facts back, read uploaded files and call an LLM — with the same per-user isolation as chat.

  • Agents that remember across separate workflow runs.
  • Per-user memory, not one shared bucket.
  • Standard+

Claude Desktop LIVE

Add UPtrim to your MCP server list and Claude Desktop gains your local memory, your files, and the code-intelligence tools — without any of it leaving your machine except the parts you send in the conversation.

  • 10 LSP code-intelligence tools in the registry.
  • Scratchpad, blueprint and document tools alongside memory.
  • Standard+

Any MCP client LIVE

The server lives at /mcp/ and starts with the proxy — 40 tools in the current registry across memory, files and shell, LLM helpers, LSP, scratchpad and cloud delegation.

  • Safer by default — reads are auto-allowed, writes pause for approval on the dashboard.
  • Per-tool enable and disable.
  • Standard+

Remote access

Reach your proxy from your phone or your team's laptops without opening a port on your router.

🌐 Cloudflare Tunnel LIVE

One click gives you an instant public URL. Or sign in through the browser with OAuth and use your own domain — the DNS route is created for you. UPtrim can install it as an OS service so it comes back after a reboot, and a watchdog restarts it if it dies.

Quick tunnel Browser OAuth Auto DNS route Service install Standard+

🔒 Tailscale LIVE

One click publishes UPtrim at https://<machine>.<tailnet>.ts.net, private to your tailnet. Turn on Funnel and it is public. Survives restarts and reboots, with the same watchdog behind it.

Tailnet-private Funnel for public Survives reboot Standard+
Prefer to do it yourself? UPtrim is a normal HTTP service on port 9099, so a reverse proxy in front of it works exactly as you would expect. The hosting runbook covers VPS, DNS, Nginx, Caddy and systemd.

Local addons

Optional companions that register as capabilities. Both run on your own hardware.

Voice LIVE

Local speech in and out — Whisper for transcription, Kokoro for speech. No audio ever leaves the machine, because there is no service to send it to.

Photo Gen LIVE

Stable Diffusion registers as an image capability, so image intents route to it automatically instead of confusing your chat model.

Ops & storage

Everything runs on one box, in one data folder. There is nothing else to stand up.

SQLite + FTS5 LIVE

Memory, files, users and history live in one local database. Fast keyword search, WAL-mode concurrency, and a backup that is just a file copy.

Local embeddings LIVE

Bundled bge-base-en-v1.5 for semantic search, fused with keyword results through Reciprocal Rank Fusion. Runs on CPU. No external vector database.

Storage probe LIVE

A roughly two-second check at boot measures real disk latency and warns you loudly if the database landed somewhere hostile — a cloud-synced folder, a network share, a WSL mount.

Typed configuration LIVE

500+ documented settings, each typed, validated and clamped at save time, with stability badges and live apply. The settings reference is generated from shipped defaults, so it cannot drift.

REST API LIVE

A full HTTP surface for memories, users, files and settings — including the Belief Inspector, which returns the evidence trail behind any stored belief. Build your own tooling on top.

Watchdog & backup LIVE

Per-subsystem supervision with exponential backoff from 30 seconds to 15 minutes, quarantine and a dashboard severity readout. One-click backup and restore.

Local LLM setup

New to local AI?

You need a model runner (Ollama is the easiest start), then UPtrim in front of it. Four steps.

1Install a model runner

Ollama is a one-line install on any OS. Pull something that fits your GPU — gemma4, llama4, qwen3 or mistral are all reasonable starts. It listens on localhost:11434. If you are serving several people at once, use vLLM or SGLang instead; UPtrim detects both and promotes them automatically.

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3
ollama serve
2Run UPtrim

Download the release for your OS, unzip it, and run the binary — no flags, and the dashboard opens in your browser by itself. It is a single bundled package, one download, nothing to install alongside it. On first boot it offers a 14-day trial or a license key; paste the free Developer key 4XC7N-K2RS3-NXSF6-M5CXA-AL8PU and you are on the free tier for life on v1.x. Then add your model server as a backend from the dashboard.

./ContextProxy
3Point your chat app at it

In Open WebUI, SillyTavern or any OpenAI-compatible app, set the API base URL to http://<host>:9099/v1. Any API key value works unless you have turned on strict identity.

Open WebUI needs one more thing: set ENABLE_FORWARD_USER_INFO_HEADERS=true in its environment and restart it, or UPtrim cannot tell your users apart and everybody lands in one shared memory.

4Open the dashboard

Visit http://<host>:9099/dashboard to see every memory, conversation, file and setting. Easy mode covers the handful of things most people change; Expert mode exposes all 500+, grouped and searchable, applied live. Your users get their own page at /my-memory to view, edit, pin, rate and delete what the AI knows about them — no admin needed.

Hardware

Minimum & recommended.

UPtrim itself is light and needs no GPU. The heavy lift is whatever model you point it at, so size your hardware for that.

MINIMUM

Laptop CPU

Any modern laptop with 16 GB of RAM. Small models run on CPU — slower than a GPU, but genuinely usable for memory-augmented chat.

small Qwen3 · small Gemma 4
RECOMMENDED

RTX 3060 12 GB

The budget sweet spot, or an Apple Silicon Mac with equivalent unified memory. Comfortable with mid-size models at conversational speed.

Qwen3 · Llama 4 · Mistral
ROOMY

RTX 4090 / 5090

Or multiple GPUs. Large models, long contexts, and enough headroom to serve a household or a small team through the scheduler.

Gemma 4 · GLM-4 · DeepSeek-R · QwQ
No GPU at all? Pair a small local model with opt-in cloud providers on the Pro tier — local handles the quick turns, a cloud model takes the hard ones, and the memory brain stays on your machine either way. Ubuntu 24.04, Windows and macOS are all supported from one package.

The whole thing, in three lines

Once your model server is running, this is all that is left.

  1. Download and run Grab the release for your OS from GitHub, unzip, and run ./ContextProxy — no flags needed. It listens on :9099. Paste the free Developer key when it asks. Licenses validate offline for up to 14 days, so a dropped connection never locks you out.
  2. Point your chat app at it Set the OpenAI base URL to http://<host>:9099/v1. Open WebUI also needs ENABLE_FORWARD_USER_INFO_HEADERS=true.
  3. Chat normally Facts are extracted in the background and injected when they are relevant, and every reply tells you how many memories it used. Prefer a terminal? npm i -g uptrim-cli installs the terminal app.

Works with your stack.

Drop it in today on the free Developer tier. Add backends, research and cloud routing when you need them.

Get the free key See the full platform →