https://github.com/volter-ai/pumice
🪨 A virtual Obsidian — an Obsidian-compatible, backend-free note system on an in-browser virtual filesystem. Open source.
https://github.com/volter-ai/pumice
knowledge-management markdown notes obsidian offline-first open-source pkm virtual-filesystem
Last synced: 17 days ago
JSON representation
🪨 A virtual Obsidian — an Obsidian-compatible, backend-free note system on an in-browser virtual filesystem. Open source.
- Host: GitHub
- URL: https://github.com/volter-ai/pumice
- Owner: volter-ai
- License: mit
- Created: 2026-06-26T22:56:20.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2026-06-27T11:53:14.000Z (23 days ago)
- Last Synced: 2026-06-27T12:09:28.935Z (23 days ago)
- Topics: knowledge-management, markdown, notes, obsidian, offline-first, open-source, pkm, virtual-filesystem
- Language: JavaScript
- Homepage: https://getpumice.com
- Size: 79.2 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: SUPPORT_POLICY.md
- Roadmap: ROADMAP.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# 🪨 Pumice
**A virtual Obsidian.** Pumice is an open-source, Obsidian-compatible note system that runs entirely on an **in-browser virtual filesystem** — no backend required. It opens existing Obsidian vaults unchanged, aims to run unmodified community plugins and themes, and is built on a storage-agnostic VFS with a first-class agent API.
> Pumice is the same volcanic glass family as obsidian — but light enough to float. Same vault, no server, runs anywhere.
## Why
- **Backend-optional** — the vault lives behind a pluggable virtual filesystem. Browser backends: **in-memory** (ephemeral/demo), **File System Access** (Chromium — opens a real local folder), **OPFS** (persistent, all browsers, no server), and **HTTP** (the bundled server). Host it as static files, or run it server-optional.
- **Obsidian-compatible** — opens existing vaults as-is; targets the documented plugin and theme contracts rather than a fork.
- **Storage-agnostic** — pluggable VFS backends; your notes aren't locked to one provider.
- **Agent-native** — the same REST API the SPA uses is exposed for AI agents, so anything the UI can do, an agent can do headless (see [`AGENTS.md`](./AGENTS.md)).
## Quick start
```bash
npm install
npm run dev # Vite dev server (vault exposed at http://localhost:5173)
npm run build # production build
npm run preview # preview the build
```
## Project layout
| Path | What |
|---|---|
| `src/` | the SPA + virtual filesystem |
| `server/` | optional dev server / REST API |
| `plugins/`, `real-plugins/` | plugin layer and compatibility shims |
| `vault/` | sample vault |
| [`ROADMAP.md`](./ROADMAP.md) | goals, compatibility tiers, capability walls |
| [`AGENTS.md`](./AGENTS.md) | driving the vault headlessly as an AI agent |
| [`COMPAT.json`](./COMPAT.json) | compatibility matrix |
## Status
Early development. Compatibility targets and scope are tracked in [`ROADMAP.md`](./ROADMAP.md).
## License
[MIT](./LICENSE) © Volter AI, Inc. Obsidian is a trademark of Dynalist Inc.; Pumice is an independent, unaffiliated project.