← Grimoire

Getting started

Grimoire is a local-first desktop notes app (source).

Notes and indexes live in a vault folder you choose. The assistant talks to Ollama on your machine (http://localhost:11434). There is no vendor-hosted LLM for that path.

Install

Installers and release builds: Check Download for the latest packaged builds for your OS. When installers are not yet published for a platform, treat from source (below) as the supported path and follow the upstream README for prerequisites.

From source (always available):

git clone https://github.com/wimpal/Grimoire.git
cd Grimoire
npm install
npm run tauri dev

You need Node.js, Rust, and the Tauri prerequisites for your OS.

See the Development page for tests and optional tooling.

First launch: vault

On first launch you pick a vault directory.

The app stores note data and settings-backed configuration there (including paths recorded in SQLite).

Rust code treats vault_path as the absolute vault directory. For example, the file scanner refuses to register paths inside the vault as external “scanned” sources, because vault files are indexed separately. See config.rs / file_scanner.rs.

Indexes used for search and embeddings (including LanceDB) live alongside that vault layout as implemented in the app.

More detail: Vault & data and Privacy & security.

First note walkthrough

Follow these steps once the app is running and a vault is open.

  1. Create a note — Press Ctrl+N (⌘N on macOS) or use the New note action in the UI. A new tab opens in the editor.
  2. Title — Set the note title in the header field (exact control depends on build; it is the primary title shown in lists and the Quick Switcher).
  3. Write something — Add a short body in Markdown, for example a heading and a bullet list.
  4. Save — Press Ctrl+S. Grimoire writes the note to your vault, then updates search and embeddings for that note so Ctrl+F search and the assistant’s Use notes retrieval see what you just saved. On a very large note the toolbar may show Indexing… for a moment while embeddings finish.
  5. Find it again — In the folder sidebar, locate the folder where the note was created (often Unfiled for new notes). Click the note to reopen it.
  6. Search — Press Ctrl+F to open the Search panel, type a distinctive word from the body, and open the hit to confirm indexing.

Optional: press Ctrl+P to open the Quick Switcher and jump back by title substring.

For every major surface (tabs, graph, calendar, and so on), see Views & surfaces.

First LLM interaction walkthrough

Grimoire never sends chat to a hosted Grimoire cloud — it talks to Ollama on localhost. Complete the Install section and ensure Ollama is installed.

  1. Hardware gate (if shown) — Open Settings → Hardware. If the app rates your machine as embedding-only or insufficient but you still want chat, read the copy and consider Force enable LLM features (optional, may be slow). Otherwise, proceed when capability shows Full LLM support.
  2. Models — Open Settings → LLM. Pick a chat model you have pulled in Ollama (ollama pull <model>). Confirm the embedding model exists too — semantic search and RAG need it. See AI assistant.
  3. Start Ollama — Run ollama serve if your setup does not already keep Ollama running as a service.
  4. Open chat — Open the Chat / assistant panel from the main shell (see Views — Chat).
  5. Send a message — Type a short question and press Enter to send. You should see streaming tokens as the model responds. If you are asking about a note you just wrote, save it first so the latest version is indexed for Use notes.
  6. Context toggles (one line each) — In the chat toolbar, Use notes pulls vault content via RAG; Use Wikipedia needs Wikipedia installed and enabled in Settings; Use files includes File Scanner paths; Use view sends a snapshot of the current board/table view; Feature guide injects the same markdown cheat sheet bundled in the app (AI assistant — Context toggles).

If something fails, start with Troubleshooting and the Common errors table.

Optional: Ollama details

  1. Install Ollama and ensure it is serving (e.g. ollama serve if you run it manually).

  2. Pull at least one chat model and ensure the embedding model configured in Settings exists. Defaults are defined in app settings / Rust AppConfig. The codebase uses http://localhost:11434 for /api/chat, /api/embeddings, and related endpoints.

If Ollama is down, the UI surfaces errors such as OllamaUnavailable and EmbeddingFailed, with hints to run ollama serve or ollama pull <model>.

Wikipedia and network (optional)

When Wikipedia-related features are enabled, the app may use the network for bundles or catalogues.

Core note editing and local Ollama chat do not require that.

Details stay in app Settings and the upstream README sections on benchmarking. See Development and Settings — Wikipedia.

Next steps

For a short FAQ, see grimoireapp.dev/help/.