Straight answers
Frequently Asked
Questions
What UPtrim is, how the memory works, what stays on your machine, what it costs, and which features ship switched off. If something here reads like marketing rather than an answer, tell us and we'll rewrite it.
Free Developer key
4XC7N-K2RS3-NXSF6-M5CXA-AL8PU
Free for life on v1.x. Same key for everyone. No account needed.
The basics
What is UPtrim, exactly?
An OpenAI-compatible reverse proxy that runs on your own machine and sits between your chat app and your LLM. It's invisible to both sides: your chat UI thinks it's talking to the model, the model thinks it's getting a normal request. What UPtrim adds in the middle is memory — every conversation is analyzed for facts worth keeping, and the relevant ones are quietly injected next time. Point your base URL at
http://<host>:9099/v1 and everything else you already use keeps working.How does the memory actually work?
Three lanes. A fast lane of 320 hand-tuned regex extractors plus spaCy catches facts in microseconds. A rate-capped pass through your own local model catches what patterns miss. And the Atlas deep lane tracks what it believes about you over time, with confidence scores and eras (true-then vs. true-now).
On the way back in, retrieval runs keyword search (FTS5/BM25) and semantic embeddings (bge-base-en-v1.5) in parallel and merges them with Reciprocal Rank Fusion, weighted by what you seem to be asking for. Facts land in 10 categories — identity, work, health, dietary, family, technical, preferences, people, communication, general — each with its own priority and expiry. Every reply carries a "🧠 N memories used" chip: click it to see exactly what the model knew, rate it, or forget it.
On the way back in, retrieval runs keyword search (FTS5/BM25) and semantic embeddings (bge-base-en-v1.5) in parallel and merges them with Reciprocal Rank Fusion, weighted by what you seem to be asking for. Facts land in 10 categories — identity, work, health, dietary, family, technical, preferences, people, communication, general — each with its own priority and expiry. Every reply carries a "🧠 N memories used" chip: click it to see exactly what the model knew, rate it, or forget it.
Does any of this leave my machine?
The memory brain doesn't. Extraction, embeddings, the knowledge graph, overnight consolidation — all of it runs on your hardware against a local SQLite database. There is no UPtrim cloud holding your conversations.
Two things can reach the internet, and both are yours to control: cloud providers (Pro tier, opt-in — and
Locally it's locked down too: the dashboard is always password-protected, even from localhost and even on a fresh install, with salted PBKDF2 hashing. Secrets are masked in every API response, forwarded headers are checked for spoofing, the parental PIN is compared in constant time and verified server-side, and file and shell tools are confined by default. A full adversarial review was run against the codebase and every confirmed finding was fixed.
Two things can reach the internet, and both are yours to control: cloud providers (Pro tier, opt-in — and
local_only mode hard-disables them) and Ghost web research (Standard tier, fetches pages you asked about). Outbound fetches are DNS-pinned and SSRF-filtered, so redirect and rebinding tricks fail closed and private addresses are never fetched. The website you're reading has no analytics of any kind.Locally it's locked down too: the dashboard is always password-protected, even from localhost and even on a fresh install, with salted PBKDF2 hashing. Secrets are masked in every API response, forwarded headers are checked for spoofing, the parental PIN is compared in constant time and verified server-side, and file and shell tools are confined by default. A full adversarial review was run against the codebase and every confirmed finding was fixed.
Getting it running
What do I have to change in my setup?
One field. In your chat UI, change the OpenAI-compatible base URL to
If you use Open WebUI, you also need one environment variable:
http://<host>:9099/v1 and leave everything else alone. Your models still appear, your prompts still work.If you use Open WebUI, you also need one environment variable:
ENABLE_FORWARD_USER_INFO_HEADERS=true. Without it Open WebUI doesn't tell UPtrim who's asking, so everyone shares one memory pool. This is the single most common setup problem — set it before you do anything else.What backends and chat apps does it work with?
Backends: Ollama, llama.cpp, vLLM, SGLang, LM Studio, or anything else that speaks the OpenAI API. vLLM and SGLang are auto-detected as primary-tier backends with zero config. Frontends: Open WebUI and SillyTavern get first-class identity handling; n8n and Claude Desktop connect through the MCP server; any other OpenAI-compatible client works too.
Thinking models are handled properly — Qwen3, QwQ, DeepSeek-R and GLM-4 have their
Thinking models are handled properly — Qwen3, QwQ, DeepSeek-R and GLM-4 have their
<think> blocks redirected into reasoning_content so your UI renders them as collapsible reasoning instead of dumping them into the answer.What do I need to install? Do I need Python?
No. UPtrim ships as a single bundled binary for Windows, macOS and Linux — download, unzip, run
Your GPU acceleration comes from your LLM backend, not from UPtrim, so CUDA, ROCm and Apple Silicon all work exactly as they already do. For remote access, Standard and up include one-click Cloudflare Tunnel or Tailscale — safer than punching a hole in your router.
./ContextProxy and the dashboard opens itself. No flags, no pip, no virtualenv, no dependency hunt. One relocatable data folder holds everything, so backing it up or moving it is a copy-paste.Your GPU acceleration comes from your LLM backend, not from UPtrim, so CUDA, ROCm and Apple Silicon all work exactly as they already do. For remote access, Standard and up include one-click Cloudflare Tunnel or Tailscale — safer than punching a hole in your router.
Pricing & licensing
Is there a free version?
Yes, and it isn't a crippled demo. The Developer tier is $0 forever with a published key —
4XC7N-K2RS3-NXSF6-M5CXA-AL8PU — the same key for everyone, free for life on v1.x, no account or sign-up. It gives you the full memory engine, unlimited memories, unlimited files and unlimited users, 15 MB per file, one backend, the admin dashboard, and every chat surface including the browser chat, the terminal client and the desktop window.What do the paid tiers cost, and what do they add?
Monthly, no annual lock-in. Standard $5/mo — 5 backends, 25 MB per file, plus Ghost live-web research, the MCP server, tunnels, model aliases, auto-routing, custom prompts and agent file tools. Pro $15/mo — 8 backends, 1 GB per file, plus cloud providers (Anthropic via OAuth, OpenAI, Gemini, OpenRouter's 100+ models), the Conductor (experimental, ships off), agent swarm and the cost ledger. Premium $30/mo — 10 backends, 5 GB per file, plus the knowledge graph, REM consolidation, predictive context and the TUI monitor. Business $100/mo — 15 backends, 100 GB per file, up to 40 users, plus multi-node fleet, centralized admin, SSO, team analytics, audit log and SIEM export. Enterprise is quoted — unlimited everything, HA failover, on-prem licensing, federation, BYOK/KMS and data residency. Full breakdown on the pricing page.
What happens if my license lapses, or I'm offline?
Nothing dramatic. Licenses validate offline for up to 14 days, so a flaky connection or an air-gapped week doesn't stop you working. There's also a 14-day free trial available at first boot, which needs internet exactly once to start.
If you stop paying, the proxy drops back to free Developer features and keeps running. Your memories, files and settings stay exactly where they are — on your disk. Nothing is deleted and nothing is held hostage. Refund terms live on the legal page.
If you stop paying, the proxy drops back to free Developer features and keeps running. Your memories, files and settings stay exactly where they are — on your disk. Nothing is deleted and nothing is held hostage. Refund terms live on the legal page.
What's actually in the box
What is Ghost? LIVE
Ghost is the research layer, and its trick is that it costs you no waiting. While your request is being prepared, invisible specialist workers race a 5,000 ms deadline — fetching URLs you pasted, searching the live web, deep-scanning your own memories — and whatever finishes inside that window gets folded into the prompt. Whatever doesn't finish is dropped, or carried into the next relevant turn via the research mailbox.
A signal-scoring router picks between 13 specialists using 15 signals per turn. Fetched pages are distilled by a local model into a short sourced brief, and you get an honest status line: "🔍 9 sources checked · 2 carried over · distilled · 3 memories." Search runs keyless out of the box across 6 backend families and is pluggable — if one engine dies from your network, swap it. Ghost is included from Standard up.
A signal-scoring router picks between 13 specialists using 15 signals per turn. Fetched pages are distilled by a local model into a short sourced brief, and you get an honest status line: "🔍 9 sources checked · 2 carried over · distilled · 3 memories." Search runs keyless out of the box across 6 backend families and is pluggable — if one engine dies from your network, swap it. Ghost is included from Standard up.
Does it have an agent mode? ONE SWITCH AWAY
Yes, and it ships switched off on purpose. Turn it on and the model can plan, act and iterate with 17 tools — web search, file editing, code execution — under hard step caps, with each tool individually enableable.
The sandbox is fail-closed: file and shell tools are confined to a workspace unless you deliberately configure a project root, so no configuration means confined, not "anything goes". Sub-agents can run subtasks in parallel once agent mode is on; the swarm and browser-embodiment layers are separate opt-ins above that. Agent mode is Standard and up.
The sandbox is fail-closed: file and shell tools are confined to a workspace unless you deliberately configure a project root, so no configuration means confined, not "anything goes". Sub-agents can run subtasks in parallel once agent mode is on; the swarm and browser-embodiment layers are separate opt-ins above that. Agent mode is Standard and up.
Your feature list says "shadow" on some things. What does that mean?
It means the feature is shipping and running, but only measuring itself — it doesn't get to change your results yet. We build the replacement, run it alongside the thing it's meant to replace, compare, and only promote it once the evidence says it's better.
Right now that includes Atlas (the belief engine — on a fresh install the legacy extractor is still the one in charge), Muse (the injection brain), the Skribe storage engine, the adaptive demand policy, and the agent detection scorer. You'll see four labels on this site: LIVE means on by default, ONE SWITCH AWAY means it ships off and you flip it, SHADOW means it's measuring itself before it takes over, and EXPERIMENTAL means exactly what it says. We'd rather tell you than let you find out.
The same instinct runs through the configuration: 500+ documented settings, and the reference is generated from the shipped defaults rather than written by hand, so it can't drift — an unclassified setting fails the build. Every setting is typed, validated and clamped on save, and carries a stability badge (stable, experimental, inert). Nearly everything applies live; the rare exception wears a RESTART badge.
Right now that includes Atlas (the belief engine — on a fresh install the legacy extractor is still the one in charge), Muse (the injection brain), the Skribe storage engine, the adaptive demand policy, and the agent detection scorer. You'll see four labels on this site: LIVE means on by default, ONE SWITCH AWAY means it ships off and you flip it, SHADOW means it's measuring itself before it takes over, and EXPERIMENTAL means exactly what it says. We'd rather tell you than let you find out.
The same instinct runs through the configuration: 500+ documented settings, and the reference is generated from the shipped defaults rather than written by hand, so it can't drift — an unclassified setting fails the build. Every setting is typed, validated and clamped on save, and carries a stability badge (stable, experimental, inert). Nearly everything applies live; the rare exception wears a RESTART badge.
Can I share one UPtrim between people — a family, a team, several machines?
A household or a team: yes, and it's one of the reasons this exists. Identity resolution runs five tiers deep and User A never sees User B's memories. On top of isolation you get per-user daily, weekly and monthly token budgets with honest failure messages, access schedules (timezone-aware curfews per weekday), shared team memory pools with roles, and real parental controls — child accounts can ask for more time from inside the chat, and a parent approves with a PIN that is never displayed, compared in constant time, and verified on the server. Scale profiles size ten interacting caps in one move, at 40, 150 or 400 concurrent users.
Several machines, one memory: that's the multi-node fleet — a master owns the shared database, workers funnel every read and write to it, and users and settings replicate down. Workers boot keyless and receive an HMAC-signed grant from the master, so you never put a license key on a worker. If the master goes away, workers degrade to stale-serve and then to an honest failure, never a silent fork. Two caveats we'd rather say up front: master and workers must run the same build (upgrade atomically, not rolling), and transport is plain HTTP unless you terminate TLS yourself — a custom CA is supported. Fleet is a Business/Enterprise deployment and isn't self-serve today: talk to us and we'll set it up with you.
Several machines, one memory: that's the multi-node fleet — a master owns the shared database, workers funnel every read and write to it, and users and settings replicate down. Workers boot keyless and receive an HMAC-signed grant from the master, so you never put a license key on a worker. If the master goes away, workers degrade to stale-serve and then to an honest failure, never a silent fork. Two caveats we'd rather say up front: master and workers must run the same build (upgrade atomically, not rolling), and transport is plain HTTP unless you terminate TLS yourself — a custom CA is supported. Fleet is a Business/Enterprise deployment and isn't self-serve today: talk to us and we'll set it up with you.
Is there a terminal app? LIVE
There is, and it's the most undersold thing we ship. uptrim-cli (v0.5.52,
Honest caveat: the
npm i -g uptrim-cli, prebuilt for Windows, macOS and Linux on x64 and arm64) is a real out-of-IDE coding agent: inline diff approval before anything is written, /agentic autonomous loops, /fix-tests that runs your suite and loops until green, a workspace tree, a syntax-highlighted viewer, ripgrep-backed /find, and /dual for a split-screen Claude-vs-GPT review of the same change. It's memory-aware, so it remembers your project decisions across sessions, and TODOs carry over.Honest caveat: the
/agentic spend cap is best-effort — the step cap is the reliable brake.Can I wire it into n8n, Claude Desktop, or my own scripts? LIVE
Yes. A full MCP server auto-starts at
If you'd rather build than script: Visualcoding is a node-board IDE at
Two addons register themselves as capabilities: Voice (local Whisper speech-to-text plus Kokoro text-to-speech — no cloud speech service involved) and Photo Gen (Stable Diffusion). Vision and audio passthrough is built in regardless — requests auto-reroute to a vision- or audio-capable backend when you have one.
/mcp/ with 40 tools — memory, files and shell, LLM helpers, 10 LSP code-intelligence tools, a scratchpad, cloud delegation and blueprint tools. It works with n8n, Claude Desktop, or any MCP client. Approvals default to the safer setting: reads are auto-allowed, writes pause for approval in the dashboard. MCP is Standard and up.If you'd rather build than script: Visualcoding is a node-board IDE at
/visualcoding where you wire blocks pin-to-pin and get a real readable Python file back — board and code are the same artifact, round-tripped losslessly through the AST, and nothing executes inside the editor. There's also TrimScript, a plugin language with fail-closed permissions EXPERIMENTAL, off by default.Two addons register themselves as capabilities: Voice (local Whisper speech-to-text plus Kokoro text-to-speech — no cloud speech service involved) and Photo Gen (Stable Diffusion). Vision and audio passthrough is built in regardless — requests auto-reroute to a vision- or audio-capable backend when you have one.