Changelog
Unreleased#
- Profile bento artwork. Eleven original, transparent category icons now appear in the You-page cards, with lightweight local WebP exports and a downloadable PNG collection.
- Consistent controls and icons. Shared keyboard-accessible select menus, local provider logos, and one rounded SVG icon family across the app and Team Baton.
- Team Baton (experimental, off by default). Isolated project databases, expiring invitations with host approval, project-only credentials, revisioned uploads, local retrieval and four project MCP tools. Coding hooks and the extension keep durable queues and scoped briefing caches; selected browser conversations retrieve context before Send/Enter with a visible Alt+M fallback. The project interface shows sourced reports, agreed decisions, members, connected devices, optional budgeted AI processing, archive and backup/restore. Existing personal memory needs no migration. See setup and release gates; keep it off until the multi-laptop rehearsal passes.
- OpenAI and Claude keys. Setup → AI keys now takes paid keys next to the free Gemini and Groq ones, and each key can be removed again. A paid key is used only when it's needed: after the free providers, with the provider's cheapest model, never to prepare a summary nobody asked for, at most once an hour for topic names, and only until the month's estimated cost reaches
MINDBATON_AI_MONTHLY_USD(2 US dollars by default). Setup shows the month's total. Keys are tested before they're saved, stored readable only by you, never sent back to a browser, and Setup warns when you're about to paste one over plain HTTP. - You choose which key answers. The same card lets an admin put any key first, pick the model each paid key runs (with its price) and set the monthly limit. Left alone it stays as above: free first, cheapest model. The card, the Terms and the Privacy page now say plainly that what a provider charges is between you and them, that Mindbaton's limit is an estimate, and that the project is not responsible for any charges.
- Topics with common sense. A project is its folder, wherever it lives (
~/Documents/plant logis "plant log", not "documents"), and everything that points at it lands in its topic: memory files kept for it or naming its path, a second checkout, a chat that links its repo, a chat whose title names it. A short untitled chat that fits nothing goes to Loose ends instead of becoming a topic. Topics are never named after a typo or a pasted line any more: a name is the project, the title the app gave the chat, or real words; failing that, "Claude chat · 2 Oct". An import is called "Memory from ChatGPT", not "import". The titles the browser extension sees now count as titles. Memory is re-read once after the update. - Accurate or Light: you choose who reads. Setup → Mindbaton's own model now asks who reads what you type. Accurate makes the model the main reader: it reads every message typed in a chat (not only the ones the rules found nothing in) and the rules still check each fact. Light is the rules alone: nothing downloaded, nothing in the background. Unseen everyday sentences: 56/60 facts with Accurate, 50/60 with the model as a fallback (how it worked before, and still does until you choose), 33/60 with the rules alone. One choice for the whole install, admins only;
MINDBATON_BRAIN=offstill turns the model off for good. - Only read while plugged in. A switch under that choice, on by default: on a laptop the model waits for the charger. Turning it off warns first (it drains the battery faster and the laptop can get warm); turning it back on asks nothing. Admins only, one setting for the install.
- A click on empty space no longer redraws the page you're on (on Setup it dropped the keyboard focus), and the model's status light is no longer green while it waits for the charger.
- A welcome on your first sign-in. Instead of landing on Setup, a new person gets a few full-screen steps: what stays private and the Terms to agree to, a look to pick, the model that runs on this computer, an optional free AI key (admins), and connecting a first AI. That last step finishes by itself the moment the first memory arrives. Everything after the Terms can be skipped; it shows once per person, and Setup's "Guided setup" starts it again. People who had signed in before this update are not asked.
- A calmer You page. "What they know about you" is a bento of tiles sized by what they hold; the numbers are one quiet line; long lists show the top eight with "Show all"; the sidebar lists six topics, then "All topics".
- Chats, tidier. One-line numbers, a two-row filter bar, and a row's Hand off stays quiet until you point at it.
- One gradient everywhere. The app's glow is built like the website's (one light, a drift that never repeats, text that stays readable over it) and Mindbaton's own preset uses the website's colours.
- The extension, redesigned (5.2.1). The popup, the Connect tab and the bar on chat pages follow the app's look. Fixed: the popup's chat panel could stay empty while messages were still being saved; it now updates itself, says why when there is no meter yet, and a chat the server missed is sent again.
- Fixes. On a phone the detail panel no longer opens under the top strip; a "Skip to content" link; buttons have a pressed state; no text under 11.5px; logos in a row all get the same disc; search answers and the detail panel no longer show internal row numbers.
- The website. New gradient, a "For agents" view that is
llms.txtitself, real phone screenshots, a closing section and a 404 page. - Pick your gradient. Settings → Appearance (also Gradient in the account menu and the command palette) shows the theme and the glow behind the app as cards with live previews: 17 presets (most from uiGradients), Auto, which follows the time of day (Dawn, Day, Golden hour, Dusk, Night), and None. The new gradient spreads out from the card you press. It's remembered on this device and applied before the first paint.
- Smooth gradients. No more visible rims under each glow, bands in the fade, or a strip under the top bar: the glows fade on an eased curve, a faint grain hides 8-bit steps, and the top bar is clear until you scroll.
- UI fixes from an audit. The sidebar wordmark no longer has a stray mark over its "i"; the nav reads You · Topics · Chats · Map · Setup, matching keys 1–5; the Topics count includes Loose ends like the Topics page does; panels say what a related memory is and when, not its row number; a failed model download says so in words (the raw error on hover); search snippets start and end on whole words. On a phone: a new page opens at its top, the map's legend is a strip along the bottom so the map uses the full width, the search hint is never cut mid-word, and header lines no longer start with a stray dot. "Bring your old memory" in the command palette brings that card to the front.
- Understands meaning, not just words. A built-in table of word meanings (Model2Vec potion-base-8M, 7.7 MB, plain Python, offline) finds "I love cricket" for "what do I do for fun?" and links memories about one subject in other words. Questions asked in other words: 15/23 → 23/23 on the benchmark; 11/11 for a new person it was never tuned on.
- Keeps up when things change. A dislike replaces the like, buying what you wanted closes the wish, a move you made ends the plan, giving something up ends it, and switching tools retires the old one of the same kind. Changing facts: 6/17 → 17/17. The history stays: "where did I live before?" has an answer.
- One person, one name. "my wife" becomes Sarah once you say her name; renamed projects keep one history and the old name still finds them; "he works at Amazon now" knows who "he" is from earlier in the chat.
- Says when it doesn't know. Questions about things you never mentioned ("what's my blood type?") get nothing instead of look-alikes, and "what's my favourite colour?" no longer lists everything you like.
- Reads the way people actually type. "switched jobs, I'm at Stripe now", "not a coffee person tbh", "bought the e-bike yesterday!": a small learner in plain Python (trained on made-up examples, some written by an open model, never on your messages) reads what no rule covers, only when it's sure. Everyday phrasings: 2/30 → 29/30 on the benchmark; on sets it never saw, 17/30 and 14/30, with no made-up facts.
- Mindbaton's own model. Qwen3.5-2B fine-tuned on made-up examples, run by a downloaded llama.cpp at low priority, reads in the background the messages the rules found nothing in; the rules check every fact before it's saved. On in
autowith 12 GB of memory or more;MINDBATON_BRAIN_URLuses a model server on another computer. Unseen everyday sentences: 28/30 facts, no made-up facts (the rules and learner alone: 14/30). - Search results say how they matched (a direct answer, a thing you named, your words, or meaning only).
mindbaton updatefrom any folder, likeclaude update: the installer and the updater add amindbatoncommand (mindbaton doctor,mindbaton keys, … too); uninstall removes it.- Hand-offs carry the chat only. "About me" is left out unless you tick New AI? Include what Mindbaton knows about me (app and extension 5.1.0), or an AI asks for it (
handofftool,about: true). - Everything Mindbaton knows now shows in briefings: what you play and do, and "a data analyst at Deloitte" keeps its company. A day or a month is never taken as a thing ("play every sunday").
- The memory is rebuilt once on update (logic version 18).
0.1.3#
- Automatic updates, opt-in, every night. Each update is tested; a version that fails is rolled back and skipped until a newer release. Installer:
python3 mindbaton.py autoupdate on. Docker:scripts/auto-update.ps1 -Install(Windows, Task Scheduler) orsh scripts/auto-update.sh --install(Linux, macOS, NAS: cron). - Uninstall also removes the nightly update job.
0.1.2#
- "Update available" notice for admins: the server checks GitHub once a day and the app shows what's new and the exact command for how Mindbaton is installed (Docker or the installer). Turn it off with
MINDBATON_UPDATE_CHECK=0. - Docker:
compose.yamluses the published image, so updating isdocker compose pullthendocker compose up -d.
0.1.1#
- Browser extension 5.0.1: you can type in the Connect page's address box again (every key was being cancelled).
- Update: if a new version fails its self-test, Mindbaton goes back to the version you had.
- Landing page: the exploded view shows its plates in Firefox.
0.1.0#
First public release.
- One private memory for ChatGPT, Claude, Gemini, Perplexity, DeepSeek, Grok, Copilot, Poe and Mistral (browser extension) and Claude Code, Codex, Cursor, Windsurf, VS Code, Gemini CLI, Antigravity, Cline, Zed, OpenCode and Claude Desktop (MCP).
- Whole chats with the model and context meter; hand-off packs another AI continues from.
- Multiple local accounts, each with its own separate memory; admin controls; device tokens and pairing by code.
- Import your old memory: a ready-made prompt for web chatbots, and coding agents' memory files on connect.
- Full-screen terminal installer: this computer, your server, or link to an existing Mindbaton on your network.
- Browser extension connects to any Mindbaton by pairing code (no built-in addresses).
- Works offline; optional free Gemini or Groq key for summaries and answers.
- Web app works on phones (bottom tab bar) and installs as an app.
- Privacy policy and terms on the website.