You write. AI connects. All in your local folder.
An agent lives in your folder, a wiki grows around your files. It reads the PDFs, EPUBs and notes already there, reaches the tabs open in your browser, and writes linked Markdown beside them. Every citation clicks back to the exact paragraph, and every change waits for your yes.
No account · No upload · No usage caps · Just a web page and your folder
How it works
- Open a folder — Any folder on your device, empty or already full of Markdown and PDFs. Nothing is copied, moved or uploaded.
- Add your model key — Bring your own key: Anthropic, OpenAI, DeepSeek, Gemini. It stays in this browser; you pay the provider directly.
- The agent is already there — Nothing more to set up. Just ask. Citations click back to the exact paragraph, and every note and edit waits for your yes.
Your files, not our database.
Your knowledge base is a folder: plain Markdown next to the PDFs and EPUBs you already had. No database behind it, no account in front of it. Open it in any editor, sync it however you like, leave whenever you want. Nothing is locked in.
- Your files → nowhere. They stay in your folder.
- Your questions, and the passages it reads → the model you chose, on your key.
- To us → nothing. There is no server to send to.
Citations that click back.
Ask about a 300-page PDF and the answer comes back with citations you can click, straight to the paragraph it came from. Those citations are written into your own Markdown, so they still work tomorrow, in your folder, with or without us.
It fits what you already have.
A browser is enough.
localmd is a web page. Open it, pick a folder, and the agent is there. No app to download, no account to make. The only optional install is the Connect extension, if you want it to reach your browser tabs.
Your folders, your structure.
There is no import step, because there is no format to import into. Open your existing vault, or that downloads folder you never sorted. The agent follows your layout: it adds pages next to your files, in plain Markdown, and asks before moving anything.
Your model, your key.
Add your own API key. Requests go straight to the provider you chose, so your key and your text go there and nowhere else. You pay them, at their prices.
It proposes. You decide.
- Every change shows up as a diff. Approve it, or throw it away.
- In ask-first mode, nothing touches disk until you say yes.
- Git is built in, so there is always a history to go back to.
Nothing rots quietly.
Ask for a health check and it goes over the whole knowledge base at once: links that point at nothing, pages nothing links to, material you added and never wrote about, notes citing a document that has moved on since. It is plain code rather than a model, so it costs no tokens.
It reports. It never fixes anything and never blocks you. And it writes nothing down: the report is worked out fresh each time you ask and forgotten when you close it. A list of problems saved into your folder would be one more file for you to keep up to date, and a stale one starts to lie.
Connect your browser.
After your own files, the browser is where most of what you read and use actually lives. localmd Connect is a small Chrome extension that lets you ask your browser tabs like files in your folder: the agent opens tabs, reads pages, clicks and types, in the browser you are already signed into. Anything that would post to a real site asks you first. The extension does the refusing, not the prompt.
It is also how your web apps get in. Point the agent at a service and it either connects an MCP server for it, reaching endpoints a web page cannot reach on its own, or works the site out in the browser itself and saves what it learned as a skill in your folder. Either way, what you end up with is a file you own, sitting in your knowledge base.
Why I built this.
I tried Notion and left, because my notes lived in someone else's database. I tried Obsidian and left too, because keeping the plugins working cost more than the notes were worth. So I went back to a folder of Markdown in a git repo, which asked nothing of me and did nothing for me.
Then I read Karpathy's note on the LLM wiki, and the bare folder suddenly had a point: let an agent keep the structure, and keep the judgment for myself. So I pointed a coding agent at my notes folder and used it like that for a while.
Three things wore me down. It burned tokens on tools built for code, not notes. It could not cite a book, so I kept switching between a terminal and a PDF reader, copying paragraphs by hand. And it handled the browser badly: extensions can connect an agent to your tabs, but what comes back is loose text with no source attached and no way back to it. Three missing features, one problem: I was the one carrying context from window to window. So I built localmd, and localmd Connect with it.
What I loved about Obsidian and what made me leave were the same thing: plugins. So this is my answer to it. The apps I would want a plugin for are already on the web, already open in a tab, already signed in. Connect does more than turn those tabs into files. It turns the apps themselves into plugins, with nothing to install, configure or keep updated, because they are the ones you already use every day. It connects them when you need them, and stays out of the way when you do not.
That is the whole story of how localmd got built. I still use it every day for my own notes, so if something on this page is wrong, I am the first to find out.
Free forever. Open source.
All of it is free: the agent, the book reader, the document indexes, git and GitHub sync, MCP, the Connect extension. No paid tier, no account, no usage caps. The only thing you pay for is your model, and you pay the provider directly. We add nothing on top.
Both the app and the extension are open source, MIT. That is what makes "forever" a fact and not a promise: nobody can take the code back, us included.
A phone version is on the way.
localmd needs a browser that can open a folder, which today means Chrome or Edge on a desktop. A version that works on a phone is being built now. There is no date and nothing to sign up for; when it is ready it will be here, free and open like the rest.
Open a folder. Start thinking.
Try the demo ·
Source on GitHub ·
llms.txt