Your AI forgets you. We fix that.
UPtrim is a reverse proxy that sits between your chat app and your LLM and gives it a permanent memory — your name, your preferences, the project you're mid-way through. Point your base URL at http://<host>:9099/v1 and change nothing else. Local-first: the memory brain runs on your hardware, and cloud models are opt-in.
v1.x is out now.
Download it, paste the free Developer key, keep it forever. Everything on this page is in the build you can install today — and a new one lands most weeks.
Get the free key on GitHub →Six things
every AI gets wrong.
These six complaints are why UPtrim exists. Flip the deck — each card is one problem and the thing that actually runs when you hit it.
Close the chat. It still remembers.
Close a chat.
Still remembered.
UPtrim reads every conversation for facts worth keeping — your name, your preferences, the project you're mid-way through — and injects the relevant ones next time. It all runs on your machine: SQLite on disk, embeddings on your GPU, nothing phoned home.
- 320 hand-tuned extractors + spaCy catch facts in microseconds LIVE
- Hybrid retrieval: FTS5 keyword search and bge-base-en-v1.5 embeddings merged by Reciprocal Rank Fusion LIVE
- Ten categories with their own priority and expiry; the Gardener dedupes and resolves contradictions while you're idle LIVE
- Every reply carries a “🧠 N memories used” chip — click to see what the model knew, rate it, or forget it LIVE
- Atlas, the belief engine: confidence scores, true-then vs. true-now, overnight adjudication by your own local model SHADOW
- Muse, the injection brain: expired facts guarded out, candidates rescored on trust, a working set that stops facts flickering between turns SHADOW
Atlas and Muse ship in shadow — they run beside the live path, scoring themselves against it, and only take over when the numbers say so. On the new-vocabulary eval Atlas moved recall from 0.122 to 0.551 at 0.864 precision across 658 cases, without the fast lane changing a byte.
One chat.
Many brains.
Every model on every backend you run — Ollama, llama.cpp, vLLM, SGLang, LM Studio, anything OpenAI-compatible — shows up in one dropdown, each with its own context window. Ask for the virtual Auto model and UPtrim picks by task complexity. Cloud stays off until you turn it on.
- Model aliases — ask for coder, UPtrim translates LIVE
- A real generation scheduler: per-backend queues, priority classes, per-user fairness, and an honest “queued #2 · ~40 s” instead of a spinner ONE SWITCH AWAY
- Research keeps running while you wait for a slot, so the queue costs you nothing LIVE
- Thinking models handled properly: Qwen3, QwQ, DeepSeek-R and GLM-4 reasoning is routed into reasoning_content so your UI renders it collapsible LIVE
- Cloud is opt-in and Pro+: Anthropic OAuth (no API key), OpenAI, Gemini, OpenRouter's 100+ models, every call cost-logged ONE SWITCH AWAY
- Under load, everyone's budget shrinks a little so everyone stays served — floors protected SHADOW
Scale profiles size ten interacting caps in one move — home, team or business, at 40, 150 or 400 concurrent requests — and they set themselves from your license.
Agents you can
actually watch.
Agent mode ships off. Turn it on and UPtrim plans, acts and iterates — web search, file editing, code execution — across 17 tools with hard caps and per-tool switches. July's TALOS rebuild landed the next seven phases behind their own switches, most of them still measuring themselves.
- Fail-closed sandbox: file and shell tools stay inside a workspace unless you configure a project root. No configuration means confined LIVE
- Sub-agents run subtasks in parallel; every tool call is logged and inspectable ONE SWITCH AWAY
- Verified swarm: workers pull from a shared frontier and every claim faces skeptic judges — only majority-confirmed findings come back ONE SWITCH AWAY
- A world model that distils successful runs into reusable playbooks with outcome-weighted trust SHADOW
- Speculative branching — snapshot, try a hypothesis, roll back cleanly; only the winning timeline survives EXPERIMENTAL
- Nightly self-eval grades its own week and recommends config changes. It never applies them itself LIVE
Everything, visible.
Memories, users, files, agents, the Brain feature map, settings, tunnels, logs — one browser tab on your own machine, always behind a password. Easy mode hides the depth; Expert mode gives you all 500+ documented settings, grouped, searchable, typed and validated on save, nearly all applying live. Click the sidebar. It actually works.
A coding agent
in your terminal.
Same memory.
The dashboard is one way in. uptrim-cli is the other — a Rust terminal app that turned into a real out-of-IDE coding agent, talking to the same proxy and the same memory as everything else on this page.
npm i -g uptrim-cli
Prebuilt for six platform targets — Windows, macOS and Linux, x64 and arm64. It proposes an edit, you approve the diff inline, it moves on. Because it runs through UPtrim, it already knows your stack and the project you were on last week.
It knows your codebase habits
Same per-user memory as the chat surfaces, so preferences and project context carry over from your browser to your terminal and back — and TODOs survive across sessions.
Run → fix → loop until green
Point it at a failing suite and it iterates — up to five attempts by default — showing you each diff before it lands. /agentic runs longer chains with a 25-step, $5 default ceiling.
The step cap is the real brake
The dollar cap on /agentic is best-effort — the step limit is the gate that actually holds. And the LSP servers behind the code-intelligence tools aren't spawned yet. Both are on the list, and we'd rather you heard it here.
Start free.
The ceiling lifts with you.
Monthly billing, no annual lock-in. The free Developer tier is the whole memory engine — unlimited memories, files and users — not a trial. Paid tiers add backends, bigger files, and the things that reach past your own machine. There's a 14-day trial too, and licences keep working offline for up to 14 days.
- Unlimited memories, files and users
- Fact extraction, hybrid retrieval, the Gardener
- Upload & ask across 33+ file formats
- Per-user isolation, budgets, parental controls
- Admin dashboard, chat SPA, terminal client
- Free for life on v1.x — no account needed
- Ghost live-web research, in-band
- MCP server — 40 tools, 10 of them LSP, for n8n and Claude Desktop
- Reads are auto-allowed; writes wait for your approval
- Cloudflare & Tailscale tunnels, one click
- Aliases · auto-routing · custom prompts · agent file tools
- Everything in Developer
- Four cloud providers, all opt-in: Anthropic OAuth, OpenAI, Gemini, OpenRouter
- Cost ledger — every cloud call logged and priced
- Agent swarm · verified research workers
- The Conductor: turns split into typed subtasks experimental
- Local stays the default, always
- Everything in Standard
- Knowledge graph — 2-hop walks over entities and relations
- REM consolidation — overnight merging, synthesis, hypotheses
- Predictive context, pre-loaded before you ask
- TUI monitor — live status in your terminal
- Developer settings unlocked
- Everything in Pro
- Multi-node fleet — master owns the DB, workers funnel to it
- Workers license themselves; no key ever touches one
- Centralized admin · SSO / bring-your-own auth
- Team analytics · audit log · SIEM export
- Set up with us — fleet isn't self-serve yet
- Everything in Premium
- HA failover · multi-proxy federation
- On-prem licensing · air-gapped installs
- BYOK / KMS · data-residency rules
- Compliance pack · dedicated support
- Scoped to whatever your auditors need
- Everything in Business
Install it.
Point your chat at it.
Done.
Download, unzip, run ./ContextProxy — no flags, and the dashboard opens itself. No Python, no virtualenv, no rewrites; it's a single bundled binary. Then set your chat app's base URL to http://<host>:9099/v1 and carry on. On Open WebUI, set ENABLE_FORWARD_USER_INFO_HEADERS=true as well — that one environment variable is what lets UPtrim tell your users apart, and forgetting it is the single most common support ticket.