266 karma · joined October 10, 2013
email me: hn@danielgk.com
I've been working on making Obsidian "work for work" with a real-time collaboration plugin called Relay [0]. We use CRDTs for conflict resolution between users/clients and it also happens to remove a ton of headaches for device-to-device sync as well.
Our collaboration server can be run on-premise and we also just open sourced a Git Sync connector so you can do google-docs style collab via Obsidian+Relay but still have the merged documents end up in git (and plug into (Markdown + git)-centric publishing workflows like Mintlify and Quartz.
The whole Obsidian ecosystem feels really electric right now.
[0] https://relay.md
I'm working on local-first collaboration for Obsidian (https://relay.md), and there's something so nice about editors and then collaboration as layers of "progressive enhancement" over files on my own machine.
I want me-centric software that treats life and work as just folders on my device. IMO git/github is a model experience for this kind of thing.
It's great to have text files that I can use vim, rg, fzf, etc on my laptop, then switch to use the best writing tool (Obsidian IMO) on any of my devices, and then sync the content and collaborate in-real time with my team.
(I used to be a maintainer, but it has been years since I worked on it).
Obsidian also has a rich plugin ecosystem with lots of open source plugins that are available and serve the same purpose (and you can use gdrive, dropbox, etc too).
It makes sense to me that they released a proprietary privacy and security focused plugin (that is their core business) and they don't want other plugins to be able to arbitrarily change the server that their plugin is pointed at.
Suppose they have a government customer who is using Obsidian Sync and the sync URL can be changed easily via configuration changes -- now the customer believes they are using Obsidian Sync, but actually their data is going somewhere else.
I don't think you would be surprised to find that e.g. a dropbox daemon has protections to make sure it is pointing at dropbox.com. Why would you expect Obsidian to be different?
(disclaimer: I work on a different plugin that adds file sync and collaboration features to Obsidian)
It's pretty awesome that they were able to use the crdt for agent collab. I've been thinking about something similar for my project.
I'm super inspired by this. We use yjs with a hub (y-sweet) and spoke topology but I've been meaning to check out Iroh and make the hub into a "super peer".
[0] https://relay.md
I've been working on making Obsidian real-time collaborative with the Relay [0] plugin. In combination with a few other plugins (and the core Bases plugin) you can build a pretty great Notion alternative.
I'm bullish on companies using Obsidian for knowledge management and AI driven workflows. It's pretty reasonable to build custom plugins for a specific vertical.
[0] https://relay.md
Your project looks cool -- especially sub-document support -- thanks for sharing
Web clipper converts websites to markdown and puts them into your Obsidian vault, and then Relay can sync subfolders in your vault to make sure you have a copy on all of your devices (even between a work and personal vault for example).
Relay is also collaborative, so I frequently clip things, clean them up a bit, and move them into shared folders (like docs pages).
I like the feeling of local-first combined with a malleable UX. Especially for the pocket use-case, offline-capable is a must for me so I can catch up on reading when I'm flying or otherwise off-grid.
[0] https://obsidian.md/clipper
[1] https://relay.md
There are also plugins like make.md [1] that are focused more on making the UX feel more like notion.
[0] https://relay.md
Originally the idea was to keep everything within the Obsidian UI so things like username/password didn't make sense (no password managers in Obsidian).
We initiate the OAuth2 login flow from within Obsidian. I guess we could add an extra click that takes you to our website first and then add support more auth methods from there. I don't really want it to feel like a web app though.
I'd love to hear your take. Which login method do you think is both simple and could be coherently used within Obsidian on all platforms?
I've been working on Relay [0] (realtime multiplayer for Obsidian) and we're trying to follow tailscale's approach by separating out the compute/document sync from our auth control plane.
This means thats users still subscribe to our service (and help fund development) and do authn/authz through our service, but we can keep their data entirely private (we can't access it).
[0] https://relay.md
(disclaimer: I'm the dev)
[0] https://relay.md
We haven't released our AI stuff yet, but have done several experiments and it is looking really promising.
I'm also a heavy Zed user. A bunch of the UI (pre-Agent-overhaul) has been inspiring our work.
I've also experimented with voice recordings when on the go, and low friction transcription has felt like one of the killer apps.
One cool thing our plugin supports out of the box is using the voice input on Android for real time text-to-speech on Desktop (just have the note open on both devices).
I've also enjoyed using a script [1] I wrote to summarize bash history each day into my daily note.
It feels like there is a real spark in the Obsidian ecosystem right now. Super fun time to be building!
[0] https://relay.md
[0] https://relay.md
I know of several AI companies who use bespoke tools because otherwise their data would be shared with their competitors (e.g. notion -> openai, gdocs -> google, etc).
It used to be that putting your docs on google "felt" safe because it was unlikely that some random google employee would read you random company docs. Now it seems unlikely to me that they aren't reading every doc with AI.
It isn't end-to-end encrypted (yet), but you can self host the document collaboration server on a private network (like tailscale).
If you're like me and you need real-time collaboration and privacy but e2ee isn't a strict requirement for your collaborative docs then you might enjoy it.
I also use Obsidian sync for e2ee device sync -- it is a fantastic product.
[0] https://relay.md
It looks like I was 2 days out of date, and updating fixed it for me.
edit: yup, they fixed it 2 days ago
So you could manage the context with great care, then go over to the editor and select specific regions and then "pull in" the changes that were discussed.
I guess it was silly that I was always typing "use the new code" in every inline assist message. A hotkey to "pull new code" into a selected region would have been sweet.
I don't really want to "set it and forget it" and then come back to some mega diff that is like 30% wrong. Especially right now where it keeps getting stuck and doing nothing for 30m.