Personal Memory π§
Tired of re-explaining "I prefer a polite tone" or "this project is due in August" every single time? Let the AI remember you over the long haul. π§
β Home: ObsiKO 101 Β· Up: AI Agent
Where do memories pile up? π
- They live inside your vault, in the
_ObsiKO/memory/folder, as one Markdown file per memory. - Since they're just plain
.mdfiles, you can open, edit, and delete them right from the file tree. There's no special management screen β don't like a memory? Toss that file into the trash, done! - Markdown is the source of truth, so they stay put when you move your vault to another device, or even open it in Obsidian.
Three kinds of memory π§¬
Memories come in different grains, and ObsiKO treats three kinds differently:
- Things about you (default): preferences, facts, project context. Consulted automatically in related conversations.
- Ways of working: "meeting notes use this template", "run the check before saving" β how you like work done. Offered only during related tasks, as a tip rather than a command.
- Standing promises: always-on rules like "always write in formal tone". Because they apply to every task, the bar is highest β each one needs individual approval, and they are never created automatically.
π A promise is honored exactly as approved. On approval, ObsiKO records a fingerprint (hash) of the text on this device and passes the promise to the AI only while it matches. If the file changes from outside (sync, another tool), it's paused until you confirm again β and editing it inside ObsiKO counts as re-approving.
π‘οΈ Also, the AI cannot write to the memory folder (
_ObsiKO/memory/) directly. On every path (agent or chat), saving only ever flows "propose β your approval β the app writes". The AI structurally cannot rewrite its own memory on its own judgment.
Three ways to make it remember βοΈ
1) Tell the agent directly: "remember this"
- Say something to the AI agent like "always write to me in a polite tone β remember that," and instead of saving right away it pops up an approval card.
- On the card you polish the sentence and pick the scope (preference, project, etc.), then hit [Remember] to save it. Don't like it? [Skip].
- The approval card appears on the desktop agent and in chat mode on mobile/web alike.
2) Command palette Β· picking from the body
- Choose 'Have AI remember this' from the Command Palette (βP), or select some text in the body and run the same command β a small input box lets you polish and save it.
- Works on every platform (desktop, mobile, web).
3) Building it automatically (optional Β· off by default) π
- Turn on 'Auto-build personal memory' from the AI Agent panel's β‘ Options, and at the end of every conversation the AI skims the chat and saves only what's worth remembering on its own.
- What it saves is just three things β things you actually revealed through your own words or actions: β values, β‘ recurring judgment criteria and preferences (style, approach, etc.), and β’ ongoing project goals and constraints.
- When something is saved, a "π§ N memories added Β· View Β· Undo" notice appears in the chat. Use [View] to open the file, or [Undo] to roll back the memories just created.
- You can turn it on with any engine β desktop, mobile, or web (extraction adds one more AI call).
- It can learn ways of working too (only on signal): if you corrected how it works during the chat ("no β from now on, use a table"), a "Remember this as a way of working?" card appears at the end and saves only when you approve. If the AI fixed a failed check and passed, that workflow is saved automatically with a notice + undo. With no such signal it learns nothing β "nothing to save" is the normal outcome.
How does it actually help? π‘
- Once something is remembered, the AI takes it into account on its own from the next conversation onward. No more re-explaining every time β it answers to fit your taste and context.
- Recall runs in two lanes: preferences and pinned items β the "always remember" kind β are consulted every time, while everything else is pulled in only when it relates to your current request. Irrelevant memories stay out, keeping it light and accurate.
Want the full conversations kept too? (optional Β· off by default) π
- Turn on β‘ options β 'Save chat transcripts to vault' and each finished conversation is appended to
_ObsiKO/chats/<date>.mdβ your request and the AI's full answer, day by day. - When a memory is saved, a link to its source turn is recorded with it, so a short memory can always be traced back to its full context.
- Open a transcript file and ObsiKO's machine markers (
<!-- obsiko-chat β¦ -->) stay hidden β put the cursor on that line to reveal them. - Transcripts are left out of regular search, semantic search, and the AI's source-finding, so results don't drown in old chats and old AI answers don't come back looking like facts. Use "Find past conversations" below instead.
π Find past conversations
- With saving on, you can ask the AI things like "find where we talked about the parser" or "what did we do last week?" It searches the transcripts and tells you the date, an excerpt, and where the original is, reading on when it needs more.
- Turns where all your words appear in the same turn come first. In the desktop app, conversations that mean something similar are added even when the words differ (marked as found by meaning); on phone and web it matches words only (and says so at the end of the result).
- The AI doesn't quote its own old answers as facts β they're treated as "what the AI said then", and your notes come first. It won't turn what it finds into memories on its own either.
- If saving is off and the AI tries to look up a past conversation, a [Save chat transcripts] line appears in the panel. Turn it on and conversations from then on can be found (earlier ones weren't kept).
β©οΈ Continue a saved conversation
- Open the clock button (chat history) at the top of the panel and press 'Find in saved chat transcripts' at the bottom to list the conversations kept in the transcript files β including ones from your other devices and ones that have scrolled off the recent list.
- Pick one and it comes back into the panel; keep talking and it's recorded as the same conversation. Only the most recent messages are shown (the rest stay in the transcript file), and attachments or task state aren't restored.
- The Claude engine also gets the past conversation as reference material on the first request after you resume β marked so it doesn't mistake old requests for things to do now.
- Older transcripts from before this feature don't record which conversation a turn belongs to, so you continue from that one turn as a new conversation.
π Chatted on two devices the same day?
- When the cloud makes a conflict copy of a transcript (like
<date> 2.md), a banner asks "A chat transcript from another device was saved separately. Merge them into one?" One press of [Merge] and you're done. - Merging only adds β your transcript stays as it is and the other device's turns are appended. If the same turn differs, both are kept, and the copy goes to the trash only after the result is checked.
- When it can't merge safely on its own (someone added notes by hand, or the file is damaged), it hands you the regular side-by-side banner instead. β 25 Platform Guide
π Never handed to external AI apps
- Even when you open your vault to External AI apps (Claude Desktop and the like), transcripts can't be read or searched from there. Agreeing to keep them in your vault and handing them to another app are two different choices. β AI Sources & Privacy
- In the graph view,
[[links]]inside conversations show as faint dashed lines, set apart from links between your notes. β 10 Graph View
We don't do silent profiling π‘οΈ
This is one of ObsiKO's principles β we never analyze you behind your back.
- Auto-building runs only when you turn it on (off by default), always tells you each time it saves, and can be undone and deleted anytime.
- The AI's guesses or interpretations (like "this person is impatient"), any emotional or sensitive information (health, politics, religion, finance), and one-off small talk are never saved. Only what you genuinely said gets kept.
- Notes hidden with ai: deny are also excluded from memory recall. β AI Sources & Privacy
See everything at a glance: the memory drawer ποΈ
- Open the agent panel's β‘ options βΈ Memory drawer (or run
Open AI memory drawerfrom the command palette) and every memory you've built up spreads out as cards. Chips show the kind (how-to Β· promise), the scope, and whether it's pinned, auto-saved, or archived. - [View] opens that memory file; [Archive] only drops it from recall (the file stays). Archiving doesn't remove the row either β it just gets an 'archived' chip, because a row vanishing right after you touched it would look like deletion.
- This is a reading view, not a manager. To edit or truly delete one, open that note from the file tree β memories are ordinary Markdown files too.
Tidying old memories π§Ή
Memories age. Run 'Review stale AI memories' from the command palette and it picks out only those that are over 6 months old and never recalled since. [Archive] doesn't delete anything β the file stays; it just drops out of recall. Nothing happens automatically, and pinned items or standing promises are never even candidates.
Merging similar memories π§
When the same story piles up as several fragments ("prefers casual tone", "said casual is better than formal"), each fragment wastes room in what gets handed to the AI. Run 'Merge similar AI memories' from the command palette (or the AI panel's β‘ settings βΈ 'Merge similar memories') and it finds groups of look-alikes.
- Finding groups is free (no AI involved). Each [Merge] button is exactly one AI call, and it says so β with the cost note β before you press it.
- You can edit the merged sentence in the preview, and no file changes at all until you press Apply. Untick any item that got grouped by mistake.
- After applying, originals are never deleted β they're archived out of recall, with a link inside each file showing where they were merged. [Undo] brings them back byte-for-byte.
- It stays honest: if a number or URL from the originals goes missing in the merge you get a warning, if the fragments are really separate facts the AI declines with a reason, and standing promises or pinned memories are never touched in the first place.
If you used the legacy "evolving agent" set π¦
If you previously installed the MEMORY.md + memory/ folder loop in your vault, the command palette's 'Import legacy AI memory (MEMORY.md)' copies those memories into Personal Memory. Originals are left untouched β it confirms the count first, and afterwards recall uses the new memories instead of the old index (no double injection).
π¬ Note: this "Personal Memory" is separate from the LLM Wiki's
.memory.md(which records that wiki's own decisions and conventions). β LLM Wiki. This one is a memory about you personally. π
β Previous: AI Sources & Privacy Β· Home Β· Next: Writing Helper β