Grimoire

MIT
Platform
Web Docker Linux macOS
Licence
MIT Open source
Grimoire

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

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.