Noureddine RAMDI / obsidian-llm-wiki-local: local-first AI-powered wiki generation with human-in-the-loop feedback

Created Sat, 23 May 2026 20:41:14 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

kytmanov/obsidian-llm-wiki-local

obsidian-llm-wiki-local tackles the challenge of building and maintaining a structured knowledge base entirely on your local machine, powered by large language models (LLMs). It automates the creation of markdown wiki articles for Obsidian by extracting concepts from your notes and incrementally compiling them into a connected knowledge graph. What sets it apart is its human-in-the-loop rejection feedback system that ensures content quality over time.

what obsidian-llm-wiki-local does and its architecture

At its core, obsidian-llm-wiki-local is a Python tool designed to work with Obsidian, the popular markdown note-taking and wiki app. It uses LLMs to analyze your local markdown notes, extract key concepts, and auto-generate interlinked wiki articles. These generated articles are stored as markdown files, maintaining full compatibility with Obsidian’s ecosystem.

The architecture is provider-flexible but defaults to Ollama, a local-first LLM platform, to handle both fast analysis/routing models and heavier, more detailed writing models. The system watches your files and supports incremental compilation, meaning it updates only what has changed rather than rebuilding the entire wiki every time. This design reduces overhead and improves responsiveness during iterative editing.

Under the hood, the tool orchestrates LLM calls to extract entities and concepts from source notes, then generates drafts of wiki pages that link related ideas. It preserves hand-edited content by integrating edits back into the compilation pipeline, avoiding overwrites where users have refined generated text.

the rejection feedback loop: a key technical strength

The standout technical feature is the rejection feedback loop implemented during the incremental compile process. When the tool generates a draft article, users can reject it and provide feedback on what was wrong or missing. This feedback is incorporated into the next prompt sent to the LLM, guiding it to improve subsequent drafts.

If a concept’s article is rejected five times without approval, the system automatically blocks that concept from further attempts, preventing repeated low-quality outputs. This mechanism creates a human-in-the-loop quality control system that makes the LLM “learn” from critique over time rather than blindly regenerating content.

This feedback loop is a practical tradeoff balancing automation with editorial control. It addresses a common pain point in AI-generated knowledge bases — hallucinations, irrelevant tangents, or poor quality — by keeping a user-driven correction mechanism close to the generation process. The architecture supports multiple LLM providers, but the rejection feedback pattern remains central.

The codebase reflects careful modular design to support incremental compilation, file watching, and hand-edit preservation. Though the project is currently in maintenance mode, its design principles remain relevant for anyone building local-first AI knowledge tools.

quick start

1. Install

From PyPI (recommended):

pip install obsidian-llm-wiki

Or with uv:

uv tool install obsidian-llm-wiki

From source (latest development version):

git clone https://github.com/kytmanov/obsidian-llm-wiki-local
cd obsidian-llm-wiki-local
python install.py

install.py detects uv or falls back to pip, verifies the install, and instructs you on the next steps.

2. Install and start Ollama

# Install Ollama: https://ollama.com/download
ollama pull gemma4:e4b      # fast model — analysis and routing
ollama pull qwen2.5:14b     # heavy model — article writing (optional, 7B+ recommended)

Minimal setup: pull only gemma4:e4b and set both fast and heavy to it in the wizard.

3. Run the setup wizard

olw setup

This interactive wizard configures your LLM provider, URLs, API keys if required, selects models, sets a default Obsidian vault, and enables experimental features. It saves settings to your config file.

verdict

obsidian-llm-wiki-local is a solid choice if you want a local-first, privacy-focused AI wiki generation tool integrated with Obsidian. Its rejection feedback loop is a thoughtful approach to improving AI content quality with human oversight, a pattern worth studying for anyone building AI knowledge management.

The project is in maintenance mode and has a successor (Synto), so for new deployments, evaluating the successor’s features is wise. Still, the codebase offers valuable insights into incremental compilation and human-in-the-loop AI workflows.

This repo suits developers comfortable with Python and local LLM tooling who want control over knowledge base generation without relying on cloud APIs. The tradeoff is the complexity of managing local models like Ollama and the manual feedback process, which requires active user engagement but yields higher quality results.


→ GitHub Repo: kytmanov/obsidian-llm-wiki-local ⭐ 635 · Python