Grimoire
MIT
- Platform
- Web Docker Linux macOS
- Licence
- MIT Open source
Grimoire is a local-first bookmark manager for people who hoard technical reading and then cannot find it again. Save a link and it keeps a searchable copy of the page, ranks it by keyword or by meaning, and leaves your library in a SQLite file on your own machine. Version 1.3.1 is a full rewrite of the old SvelteKit app, built as a two-part system: a React/TypeScript interface and a Bun daemon that does the fetching, extraction and indexing.
What it does with a saved link
- Saving a URL enqueues a durable job in SQLite, fetches the page, extracts readable text and metadata, and only then enriches the bookmark with an optional AI summary, tags and category — the bookmark is usable the moment it is saved, and a failed step is retried or reprocessed without losing the entry.
- Extraction handles ordinary web pages, PDFs, GitHub repositories and issues, StackOverflow and StackExchange answers, and YouTube metadata or transcripts where they are available.
- Search runs three ways: SQLite FTS5 keyword search, embedding-based semantic search, or a hybrid ranking that mixes the two.
Organising the library
- Categories, domains and tags are generated from what was captured, and the sidebar filters by any of them with counts.
- Archive, trash, read state, read-later flags, pinning, per-bookmark notes and a timeline view cover the housekeeping.
- Import browser bookmarks in bulk, export the library, and snapshot it with checksummed backups — optionally encrypted packages — plus a verify and restore path that writes a rollback copy first.
- A review queue surfaces bookmarks that are saved but not yet processed, so the library does not quietly fill with half-ingested links.
AI is optional, and local if you want it
- Grimoire runs with no AI provider at all: keyword search and manual tagging work out of the box.
- When enabled, providers include OpenAI, Anthropic, OpenRouter, DeepSeek, Ollama (fully local) and any custom OpenAI-compatible chat or embeddings endpoint, with API keys redacted from settings exports and diagnostics.
- A local Model Context Protocol server exposes the library to MCP clients, and a browser bookmarklet captures the page in front of you.
Running it
- Docker is the short path:
docker compose up -d serves both the built frontend and the daemon API from one port bound to 127.0.0.1:3210.
- macOS users can install through Homebrew (
brew install goniszewski/grimoire/grimoire), and Linux users can run the native installer in daemon/, which builds the frontend, registers a user service and puts the grimoire CLI in ~/.local/bin.
- The design is deliberately loopback-first: the daemon binds localhost, capture endpoints require local integration tokens, and the authors list public network exposure as unsupported — remote access is expected to go through a VPN, tunnel or authenticated reverse proxy you control.
- A hosted static demo of the interface, running on synthetic fixtures with an in-memory API, is available if you want to look before installing.
Alternatives
- Zotero — reference manager for citations, PDFs and research libraries
- Joplin — Markdown notes with web clipper, sync and end-to-end encryption
- Memos — lightweight self-hosted notes and snippets
- Trilium Notes — hierarchical knowledge base with scripting and a web clipper
Views: 1