explore →
Get the free key
00
v1.x LIVE · shipping weekly ⚡ free key, forever

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.

Free Developer key, forever Paid tiers from $5/mo Local-first — cloud is opt-in
uptrim chat · monday LIVE
jordan / memories
memory · empty — watch this
tune anything
500+
documented settings
Shipping Now
Live on GitHub

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
Open WebUI SillyTavern llama.cpp Ollama vLLM SGLang LM Studio n8n Claude Desktop Anthropic OAuth OpenAI Gemini OpenRouter Any OpenAI-compatible app Open WebUI SillyTavern llama.cpp Ollama vLLM SGLang LM Studio n8n Claude Desktop Anthropic OAuth OpenAI Gemini OpenRouter Any OpenAI-compatible app
The six problems

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.

1 / 6 or just click the card

Close the chat. It still remembers.

(your model, your box — cloud is opt-in, never required)
01
Chapter 01 — Memory

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.

fact extraction · live
Hey, I'm Jordan. Mostly code in Python, and I prefer concise answers — no fluff.
↓   UPTRIM EXTRACTS   ↓
Identityname = "Jordan"
Preferenceprimary_language = "Python"
Communicationresponse_format = "concise"
02
route decisions · last 10 min LIVE
"what time is it in tokyo"
gemma-4 · local
"refactor this 800-line Python module"
qwen3-coder
"summarize last thursday's notes"
local + files
"think this architecture through"
qwq · thinking
"review PR #1247 & suggest fixes"
claude-sonnet-5 · opt-in
"draft the migration plan"
⏳ queued #2 · ~40 s
Chapter 02 — Routing

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.

03
Chapter 03 — Agents ONE SWITCH AWAY

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
subagents · 2 running LIVE
code-reviewerrunning
Reads the diff, edits inside the sandbox, runs the tests. Step 3 of 5 · 12 tool calls logged.
swarm · researcher ×3running
Shared frontier, skeptic judges refuting by default. 4 claims confirmed, 2 thrown out.
sentineloff
Standing directive: "watch X, tell me when Y." Ships off — findings arrive by mailbox.
04
Chapter 04 — Dashboard

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.

U
UPtrim
v1.x · shipping weekly
Overview
Memories
Users
Files
Agents
Brain
Conversations
Images
Plugins
Settings
Tunnels
Logs
Online
Overview
System health and recent activity
Local ✓ Cloud · opt-in
247
Memories
5
Users
12
Files
1.2k
Messages
Active Users
A
Alice
42 memories
B
Bob
28 memories
C
Carol
67 memories
Recent Memories
Name is Jordan, prefers Pythonidentity
Working on Project Atlas rewritework
Prefers concise technical answerscomm
Uses VS Code with Vim keybindingstools
Staging env deploys every Thursdayops
Click the sidebar to explore · every panel runs at localhost:9099/dashboard
straight from the app ↓
uptrim · dashboardlocalhost:9099● live
Overviewsystem health · last 24h
247memories+12
5users+1
12files
1.2kmsgs+96
requests · 24h
Name is Jordan — prefers Pythonidentity
Working on Project Atlas rewritework
Uses VS Code + Vim keybindingstools
the dashboard — live at :9099
brain viewrem: idle
brain view, mid-thought
uptrim tui17:42:08
status memory · 247 facts qwen3-14b :11434 bge-base · warm
req / min
38
mem pressure
71% · 3.2k ctx
17:42:01 INJECT 3 facts → alice 17:42:03 EXTRACT "prefers dark mode" 17:42:07 ROUTE claude-opus-5 · $0.04 17:42:08 RECALL project atlas ctx
the TUI, for terminal people
05
Chapter 05 — The terminal

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.

uptrim-cli v0.5.52 · live

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.

inline diff approval /agentic loops /fix-tests /dual review /find (ripgrep) cross-session TODOs
6
prebuilt platform targets · one npm install
memory-aware

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.

/fix-tests

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.

honest caveat

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.

06
Chapter 06 — Pricing

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.

LIVE · v1.x
Developer
$0
free forever
👥 users
The whole memory engine, on your machine, with no expiry. Not a trial.
free key · same one for everyone 4XC7N-K2RS3-NXSF6-M5CXA-AL8PU
1
backend
15 MB
per file
memories
  • 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
Get the free key
Standard
$5
per month
👥 users
Reach past your own machine: live research, MCP, tunnels, more backends.
5
backends
25 MB
per file
memories
  • 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
Join the waitlist →
Pro
$15
per month
👥 users
Where cloud becomes an option: draft locally, escalate when it's worth it.
8
backends
1 GB
per file
memories
  • 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
Join the waitlist →
Premium
$30
per month
👥 users
The deep memory layer — the parts that think about your data while you're away.
10
backends
5 GB
per file
memories
  • 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
Join the waitlist →
Business
$100
per month
👥40 users
For an office: many proxies, one memory, one admin console.
15
backends
100 GB
per file
40
users
  • 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
Talk to us →
Enterprise
Let's talk.
priced to fit
🔗unlimited
On-prem licensing, regulated deployments, and a direct line to the person who wrote it.
backends
per file
users
  • 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
Talk to us →
GO
one binary, one URL

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.