Launching today

Kept
Your AI chats, saved as Markdown locally with no cloud
75 followers
Your AI chats, saved as Markdown locally with no cloud
75 followers
Kept: is an AI chat and productivity tool on your local archive. Captures conversations from ChatGPT, Claude, Gemini, Grok, and Kimi as Obsidian compatible markdown on your filesystem, with full-text search, knowledge graph, and an MCP servers. MIT license. View your Vault locally,

Every brainstorm, every breakthrough, every good prompt I had with ChatGPT, Claude, Gemini, or Grok lives inside a vendor UI. A week later I cannot find it.
Kept captures my AI conversations the moment they happen and saves them on my own machine, where I can search them, link them, and build on them.
Features:
- Auto syncs your AI conversations as they happen, straight from the provider
- One .md file per conversation (Obsidian compatible)
- Built-in Agent runs over your own vault, not a cloud index
- Knowledge graph rendered in 3D, surfaces forgotten threads
- BYOK (OpenRouter / Anthropic / OpenAI)
- Additional OpenClaw and Claude Code MCP support to scan your vault
Install is a one-minute job: run the desktop installer, then drag and drop the browser extension into Chrome.
Open source, MIT licensed. No account, no cloud, no subscription. We would love to hear your feedback.
Supported: ChatGPT, Claude, Gemini, Grok, Kimi.
Try it: https://kept.work
@tibor_takacs Congrats on the launch Tibor. Is this full semantic embed & search?
Kept
@tibor_takacs @zolani_matebese Thanks Zolani! Today search is full-text only. We shipped it first because it works fully offline and has zero embedding cost. You're spot on though, semantic search is the logical next step, and it's already on the roadmap. The knowledge graph quietly handles part of that job today, surfacing related conversations through extracted entities and topics rather than raw vectors.
@tibor_takacs Haven't tried it yet - on my to do list though!
In meantime, i use github for this purpose, but this would be easier to manage.
Also, if you could group or classify chats into distinct groups (might already be there) that would be ideal
Kept
@tibor_takacs @puddle_something Thanks Azeem! Grouping is in there. You can create Projects and manually link conversations to them. You can also use the built-in agent to find related conversations. I wonder whether semantic recommendations would be useful for surfacing older markdowns related to Projects.
Local Markdown feels like the right default for AI chats because the valuable part is usually not the chat UI, it is the reusable context you want to move into notes, docs, or a repo.
The detail I’d be most curious about is export fidelity: do you preserve model name, timestamps, attachments, code blocks, and source links in a predictable frontmatter/schema? That would make it much easier for teams to treat chats as a durable knowledge base rather than another archive.
Kept
@studentzuo Great question! This was a design priority. Every conversation is one .md file with a YAML frontmatter block: conversation id, platform, title, model, created_at / updated_at / synced timestamps and message count. The body preserves message roles, tables, and code fences with language hints. Schema is stable and Obsidian-compatible, so treating the vault as a durable knowledge base is the intended use.
Local Markdown is a great default. The next hard thing, I think, is deciding what should graduate out of the chat archive.
A raw AI conversation has a lot of dead ends and temporary context in it. The really valuable pieces are usually decisions, reusable examples, prompts that actually worked, and constraints you don’t want future sessions to forget. I’d love to see Kept make that boundary explicit: archive everything, but help people mark which parts are “memory,” which are just transcript, and which are stale enough to stop influencing future work.
Kept
@jim_jeffers Thanks Jim! Today the digest system auto-summarizes idle conversations so high-signal parts surface, and Projects let you promote conversations into curated sets. The browser extension's command palette also has a "save last N messages" mode (coarse version of the same idea), capturing just the part that mattered.
But explicit per-message or per-block "memory / scratch / stale" markers are not built yet.
Writing it up though. Good suggestion!
Local-first for AI chats just makes sense. The vendor lock-in is real, you have a great prompt and a week later it's gone inside some UI.
Did the same building a finance app, kept everything on-device instead of a server. The annoying part was syncing across devices without running my own cloud.
How are you handling that with a local vault? Or is it single-machine for now?
Kept
@ericlagarda Single-machine today. But because the vault is just a folder of plain .md files under ~/.kept/vault/, anything that syncs a folder works. Dropbox, iCloud Drive, GDrive, or a private git repo all do the job without us running a backend. The SQLite index rebuilds itself from the markdown on startup, so a synced vault on a second machine "just works" after a reindex.
Hi Tibor, congrats! the missing piece! markdown + obsidian-compatible was always going to win. when does the knowledge graph beat full-text search in practice? "where did i decide X" feels like full-text. "what path got me there" feels like graph. is that the split? good luck with your launch.
Kept
@hiyamojo Thanks Keith!. Full-text search = retrieval ("where did I decide on Postgres over Mongo"). Knowledge graph = exploration, surfacing older conversations connected to an entity or project, or threads you'd forgotten. The 3D explorer leans into that discovery mode rather than retrieval. Semantic search is on the roadmap to fill the fuzzy-retrieval gap between the two.
Kept
@lakshminath_dondeti Thanks for the question! Honestly we picked Markdown for human ergonomics. The vault is Obsidian-compatible and editable in VS Code or any text editor. For a format you're meant to actually open, I think Markdown wins. That's the whole point of Kept: the files are yours to touch.
Kept
@louislecat Thanks Louis! Give it a try and let us know your experiences with Kept. :D