Show HN: OpenKnowledge – open source AI-first alternative to Obsidian/Notion (github.com)
We built this because we wanted a Notion-like experience for writing and sharing markdown files across our team. Obsidian is the best alternative we tried, but found it doesn’t have a true WYSWIG UI and it didn’t integrate well with Claude/Codex outside of community plugins.
So we built OpenKnowledge. It takes shape as:
1. A MacOS app with a file navigator, the WYSIWYG editor, and link explorer.
2. Integrations with the Claude, Codex, and Cursor desktop apps. The agents can open an OpenKnowledge editor within their embedded web browsers for a side-by-side experience.
3. Built-in mcps, skills, and RAG for LLM-wiki and “AI Second Brain” scenarios + spec writing
4. An embedded terminal and CLI for TUI-first users
OSS stack includes: Tiptap/prosemirror, CodeMirror, yjs (CRDT), Electron (MacOS app), Orama, remark/rehype/micromark/mdast, @pierre/trees
On the architecture side, the interesting eng. challenges included:
1. A pipeline to convert ProseMirror to markdown in a bidirectional lossless way. ProseMirror uses ASTs, which are not designed to have byte-fidelity.
2. A dual-observer CRDT to keep the ProseMirror and markdown state in-sync.
The CRDT + git also power a collaborative experience that shows what Agents are doing in the markdown, have undo/redo, and version history. The “Share” and cloud-sync functionality are geared for team collaboration. They feel “no-code” but leverage git/GitHub under the hood, which also means data stays fully private.
In that spirit, we made OpenKnowledge open source for anybody who’s curious or who’d like to contribute.
We’re actively thinking about plugins/extensibility and what’s next. If you have suggestions or feedback, would love to hear it.
81 comments
[ 1.3 ms ] story [ 88.4 ms ] threadI do think a fully OSS Obsidian-like that syncs natively is an impressive accomplishment, though the usefulness of this is limited with OSX being the only supported platform. If an Android app is in the works I'll definitely follow the project!
https://cloud.google.com/blog/products/data-analytics/how-th...
On a side note, I find it interesting that a few recent projects are going for the Open Knowledge name. The Open Knowledge Foundation (https://okfn.org) is one of the first/largest proponents of the open data movement (think of it as a Free Software Foundation but for data, not software). They started in 2004 and developed many of the open data licenses and widely used infrastructure tools like CKAN (an open data portal platform).
Nothing to add, just found it interesting.
Disclaimer: I worked there for a few years.
> Added ok to your PATH — managed block in ~/.zshrc, ~/.config/fish/conf.d/open-knowledge.fish.
Took a while to see that 'ok' is the name of your product.
Re:front-matter, we do optimistic parsing of it, haven't seen any issues with it. If we detect invalid markdown we return warnings to the agent in the MCP response so it knows it needs to fix it.
Having built-in AI integration without relying on sketchy plugins would be the cherry on top (although, seriously missing the option to connect with any openai-compatible LLM provider like someone else mentioned here).
Seems like this might almost offer exactly that? I'll have to try it out...
Personally I’ve been trying very hard to migrate away from git+Obsidian project setup according to the OpenAI Harness Engineering. It works wonderfully in Codex Desktop.
The only gotcha - I want to share knowledge bases with the team in a way that is:
(1) versioned (a la git, not Notion) (2) usable from any chat (a la MCP) (3) basic access controls for team setup. (4) works through the interface that optimizes accuracy and token use across agentic architectures and LLMs.
Funnily enough, 4 is the easiest one (I have a platform for agent training and verification where I publish fun challenges for agents in simulated worlds around agentic commerce and personal OSes. With 98M agentic interactions recorded, that is already enough information for tuning)
Still figuring 1 and 3, though.
Let us know if any feedback.
Local models should be the first choice in that framing.
Within the OpenKnowledge app itself, right now we do support the Claude terminal embedded inside - try that out. We're looking at adding more within-app capabilities soon.
Deleted immediately
The fact that I have to juggle between OpenKnowledge and Codex to engage the AI, while also accepting a barebones Obsidian, is a real bummer. From what I can tell, you are saving me a few key strokes with moving prompts around. What I really want is the AI to live IN the app, like VS Code, and then move around the documents like it is Obsidian. I'll accept a plain terminal, but a pretty UI would feel like a better fit. My sense is that the new value add here is a set of skills and mcp servers, which probably already exist for Obsidian, or could more productively be spun up. I looked at the plugins again in Obsidian and found Claudian, which lets me bring my local models and Codex in the right pane. This is perfect, so sorry your app is not for me (yet), but thanks for getting me to look again at my tooling.
I want to throw my vote in for local models. Gemma4-31b is working well for me on these types of tasks, and not having an easy way to plug that in is a deal breaker. Embeddings should certainly have a local option, as they are cheap to compute. For what it is worth, I use LMStudio which supports OpenAI and Anthropic compatible api endpoints, so it should be easy to wire in.
A big caveat, I'm not trying to share my vault with other people, and I can see making that pain go away being worth switching. That said, I feel like you're targeting a weird market, where you want people technical enough to use LLMs and GitHub, but not so technical they can't customize a shared environment.
I would switch if the whole experience was self contained and "clean." Right now, it feels like a well dressed wrapper for pretty basic functionality.