Backend: olw (obsidian-llm-wiki)

olw ingests bundles from raw/ and compiles interlinked concept pages into wiki/, running a local model through Ollama. It is the default backend and the one this project has run in production.

Install: uv tool install obsidian-llm-wiki

Configuration

confidential = false
backend      = "olw"

[backends.olw]
invocation = "cli"
locality   = "local"
bin        = "~/.local/bin/olw"
config     = "wiki.toml"
state_dir  = ".olw"
drafts_dir = "wiki/.drafts"
timeout    = 1800
timeout_approve = 120
timeout_reject  = 120
ingest  = "{bin} ingest {file} --vault {vault}"
compile = "{bin} compile --vault {vault}"
approve = "{bin} approve {draft} --vault {vault}"
reject  = "{bin} reject {draft} --vault {vault}[ --feedback {feedback}]"

On a confidential vault, add:

force_args = "--provider ollama --provider-url http://localhost:11434"

Backend-owned configuration

wiki.toml in your vault root is olw's own configuration file, not ResearchVault's. Models, context window, and pipeline switches live there. wiki-backend.toml only points at it.

This boundary is strict: the contract describes how the backend is invoked, never what it is tuned with. Until August 2026 wiki-backend.toml also carried a model key that was injected as --fast-model during ingest. It duplicated wiki.toml's fast value and applied to ingest only — the compile template never referenced it — so a half-finished model change silently left the two stages on different models. A model name is also backend-specific: another backend may have no notion of a "fast model" at all. The key was removed; set the model in wiki.toml alone.

Vaults created before this change may still carry model plus a {model} placeholder. Those keep working — the placeholder is still resolved — but new vaults no longer get one.

Workflow

olw review is the human quality gate: drafts land in wiki/.drafts/, you approve or reject, and approved pages publish to wiki/ with cross-links.

What a compiled draft contains

For papers, olw compile produces a draft page with:

  • YAML frontmatter (title, authors, year, journal, citation key, tags, status)
  • Core question and main argument
  • Key findings (3–5 points)
  • Methodological notes
  • Relevant quotes (original language)
  • Links to related pages

For video and podcast sources, the structure is the same except:

  • Frontmatter carries a Zotero deep link instead of journal metadata
  • A TLDR replaces the core question
  • There is no quotes section — timestamps are unreliable without a verifiable source

Both variants get the same key findings, methodological notes, and links to related pages.

After a compile session

After each session, check whether:

  • New pages are linked to related existing pages ([[double brackets]]) — olw proposes cross-links during compilation, but confirm them during olw review
  • Relevant syntheses in wiki/syntheses/ need updating. This check exists because the two folders hold different things: wiki/syntheses/ is where cross-cutting thematic synthesis lives, while the synthesised knowledge from any single newly compiled source now lives in olw's concept pages under wiki/concepts/ — a synthesis page doesn't automatically pick up what just landed there, so it's worth a look whenever a new draft on that theme is published.