avtarasov21025 downloadsReal-time collaborative markdown editing with live participant cursors, powered by a self-hosted CRDT service (Yjs).
Real-time collaborative markdown editing in Obsidian with live participant cursors — like Google Docs, but for your notes. Powered by a CRDT (Yjs) over a self-hosted service, so two or more people can edit the same note simultaneously and see each other's carets and selections.
Works on desktop and mobile.
This plugin has no default/bundled server. You run your own collab server (a small Node service, included in
server/) and point the plugin at it. Nothing is sent anywhere until you configure a server URL.
The plugin needs a collab server. A minimal one is in server/:
cd server
npm install
LINK_SECRET="<any-long-random-string>" \
PUBLIC_BASE="https://collab.example.com" \
PORT=3000 \
npm start
Or with Docker:
cd server
docker build -t collab-server .
docker run -p 3000:3000 \
-e LINK_SECRET="<any-long-random-string>" \
-e PUBLIC_BASE="https://collab.example.com" \
collab-server
Environment variables:
LINK_SECRET — required. Secret used to sign share links (any long random string). Keep it private.PUBLIC_BASE — public base URL that share links use (e.g. https://collab.example.com). Defaults to http://localhost:PORT.PORT — port to listen on (default 3000).Put the server behind HTTPS (a reverse proxy such as Caddy/nginx/Traefik) so links work in mobile and in-app browsers. The endpoints it exposes:
POST /sessions → creates a session, returns { docId, token, link }.GET /ws/<docId>?token=… → Yjs WebSocket relay (rejects invalid/expired tokens).GET /healthz → ok.Settings → Collab Notes → Service URL = your server's public URL (e.g. https://collab.example.com). Set Your name too. Done — now you can share notes.
This plugin only talks to the server you configure (there is no default). It uses the network for:
POST /sessions to create a session and get a shareable link.No analytics or telemetry. Only the note content you explicitly share is transmitted, and only to your configured server.
y-codemirror.next renders remote cursors out of the box.yCollab to the active editor via a CM6 Compartment, only after the initial sync (to avoid duplicating text).Once approved: Settings → Community plugins → Browse → search Collab Notes → Install → Enable → then do Setup above.
Install BRAT, then Add a beta plugin with:
https://github.com/delfinchiknakite-netizen/collab-notes-obsidian
npm install
npm run build # → main.js
MIT.
Совместное редактирование markdown-заметок в Obsidian в реальном времени с живыми курсорами участников — как в Google Docs. Работает на десктопе и телефоне.
Дефолтного сервера нет — вы разворачиваете свой (минимальный сервер лежит в server/) и указываете его адрес в настройках. Настройка:
cd server && npm install && LINK_SECRET="<секрет>" PUBLIC_BASE="https://collab.example.com" npm start (или через Docker). Спрячьте за HTTPS.Переменные сервера: LINK_SECRET (обязательно), PUBLIC_BASE, PORT. Сетевой доступ — только к вашему серверу: POST /sessions (создать сессию) + WebSocket (синхронизация). Телеметрии нет.