Obsidian plugin · v0.6.0
Your knowledge base stays plain Markdown in your own vault.
Co Platform makes a knowledge base you can ask questions of. This plugin is the part that keeps it honest.
Every page of the knowledge base lands in your vault as an ordinary Markdown file. Wikilinks resolve, the graph draws, backlinks work — natively, because they are just notes. The knowledge base is queryable in the cloud, and if you walk away tomorrow the files are already on your disk and readable without any of my software.
What this actually is
Co Platform is a hosted knowledge base with a chat layer over it. You put documents and notes in, it files them into linked pages, and then you — or people you share the link with — can ask it questions and get answers with citations. It lives on a server, which is what makes it answerable from a phone, or by someone who isn't you.
Twins KB Sync is the sync client for that. The order matters: you create a knowledge base on the site first, then point the plugin at it. From then on it mirrors that knowledge base into your vault and keeps both sides current — pull brings cloud changes down, push sends your local edits up.
So this is not a standalone Obsidian plugin, and I would rather you knew that now than after installing. It is a sync client, and it does nothing without an account on the server it syncs against.
What keeps working in your vault
-
Plain files, plain folders.
Pages arrive as Markdown files on disk.
sources/is organized into topic folders that mirror the web knowledge base's own grouping — and dragging a file between those folders locally regroups it on the web too, without renaming the underlying page or breaking a single link into it. - Wikilinks, graph, backlinks. They are ordinary notes, so Obsidian's own machinery works on them. No proprietary block, no custom view, nothing to un-pick later.
-
It doesn't have to take over the vault.
Set
Settings → Sync folderbefore the first sync and everything — pages, the plugin's.kb/state, its.kbignore— lives under that one folder. A note anywhere outside it is never read, never touched, never counted. -
Your edit is never quietly eaten.
The cloud wins on pull, but your conflicting version is copied to
.kb/bak/first, and the Activity panel gives you a Restore button for it. On push, a page changed on both sides is reported as a conflict and your file and the sync journal are left exactly as they were. Push never deletes cloud pages. -
Nothing gets published by accident.
A Markdown file whose frontmatter has no
visibility:key is skipped by push by default, because the server would otherwise default it to guest — publicly visible. You addvisibility: ownerorvisibility: guestdeliberately, or flip an advanced setting if you really want it pushed as-is. -
Ambient, with real off-switches.
Pull runs on an interval (default 5 minutes), and push fires quietly about 45 seconds after you stop typing. Set
Auto-syncto 0 to stop the pull; turn offAuto-push local editsto stop the push. The two switches are independent, and a routine ambient push never interrupts you — it reports into the status bar and the Activity panel instead of a toast. -
Your token is in the OS keychain.
It lives in Obsidian's
secretStorage, never in the vault — so obsidian-git or Obsidian Sync never carry it off somewhere. Only the non-secret settings (server, slug, interval) sit indata.json. - No telemetry. The plugin talks to exactly one host: the server URL you set in Settings. No analytics, no crash reporting, no CDN fetches, no third parties.
And if you want out: the vault copy is already the whole thing in plain Markdown, and Export / Delete on the site downloads every page as a zip with the folder structure intact.
Installing it today
It is not in the Obsidian community plugin store yet — that submission is in progress. Until it lands, BRAT is the way in.
- Install Obsidian42 - BRAT from Settings → Community plugins → Browse, and enable it.
-
BRAT settings → Add beta plugin → enter the release mirror:
wjl2002323/digital-twins-kb-obsidian-plugin
- Settings → Community plugins → enable Twins KB Sync. BRAT installs from the latest version-tagged release in that repo, and future releases arrive the same way.
- Open the plugin's settings, set the server and your twin slug, sign in, then run Sync now once to bring the knowledge base in.
Prefer not to add BRAT? Download main.js and manifest.json from the latest release in the same repo and drop them into your vault:
Requires Obsidian 1.11.4 or newer, for the OS-keychain secretStorage API. Works on desktop and mobile.
Where this honestly is
I am one person, the plugin is at 0.6.0, and it is new — very few people have run it yet. You should weigh that before pointing it at a vault you care about, and set a sync folder on your first run if you have any doubt.
The plugin's complete source, including the sync engine it bundles, is public in the release mirror repo — read it before you install it. The server side is a hosted service and its source is not public. Bugs and feature requests go in that repo's Issues; I read them.
Start with the knowledge base
The plugin needs something to sync, so the knowledge base comes first. Create one, put a few documents in, then install the plugin and watch it land in your vault as notes.
Free to start. Plans and limits · Plugin source and releases