Skip to content

bffl24/UDKI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UDKI

██╗   ██╗██████╗ ██╗  ██╗██╗
██║   ██║██╔══██╗██║ ██╔╝██║
██║   ██║██║  ██║█████╔╝ ██║
██║   ██║██║  ██║██╔═██╗ ██║
╚██████╔╝██████╔╝██║  ██╗██║
 ╚═════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝

Actuals :

Screenshot 2026-05-08 at 5 25 56 PM

UDKI is a CLI-first experiment for building a personal LLM-maintained wiki.

Think of it like this:

  • You bring the documents.
  • UDKI keeps the raw sources untouched.
  • The LLM reads them, writes markdown pages, links ideas together, and keeps a log.
  • You browse the result like a living knowledge base.

It is not trying to be another “upload docs, ask one question, forget everything” RAG demo. The whole point is compounding knowledge: every ingest should make the wiki richer for the next question.

What It Does

UDKI maintains three layers:

  • raw/: immutable source files you add.
  • wiki/: LLM-written Obsidian-compatible markdown.
  • config/AGENTS.md: the operating rules for how the wiki should be maintained.

The generated wiki can contain:

  • source summaries
  • concept pages
  • entity pages
  • syntheses
  • cross-links
  • citations
  • index.md
  • log.md

Why This Exists

Most document chat apps rediscover knowledge from scratch every time you ask a question.

UDKI takes a different path: it asks the LLM to build and maintain a persistent markdown wiki. That means useful answers can become durable pages, contradictions can be tracked, and concepts can accumulate instead of disappearing into chat history.

Obsidian is the reading surface. The CLI is the engine room.

Quick Start

From this repo:

/Users/udayanpanda/.local/bin/uv sync
cp .env.example .env

Add your OpenAI key to .env:

OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4.1-mini

Start the interactive CLI:

/Users/udayanpanda/.local/bin/uv run llm-wiki init

You will get the UDKI banner and a numbered menu:

1  Ingest a source file
2  Ask a question
3  Lint / health-check the wiki
4  Exit

Commands

Initialize:

/Users/udayanpanda/.local/bin/uv run llm-wiki init

Ingest a file:

/Users/udayanpanda/.local/bin/uv run llm-wiki ingest path/to/source.pdf

Ask a question:

/Users/udayanpanda/.local/bin/uv run llm-wiki query "What are the key ideas so far?"

Health-check the wiki:

/Users/udayanpanda/.local/bin/uv run llm-wiki lint

Supported Sources

UDKI uses markitdown for document conversion, with direct fallback support for markdown and text.

The POC is intended to support:

  • .md
  • .txt
  • .pdf
  • .docx
  • .pptx
  • .xls
  • .xlsx
  • other formats supported by markitdown

Project Layout

UDKI/
  config/
    AGENTS.md
  examples/
    sample-source.md
  llm_wiki/
    cli.py
    extract.py
    llm.py
    wiki.py
  pyproject.toml

Runtime folders are ignored by git:

raw/
wiki/
.env
.venv/

Current Status

This is a working POC, not a finished product.

Done:

  • colorful UDKI terminal welcome
  • interactive CLI menu
  • source ingestion
  • OpenAI-backed wiki synthesis
  • markdown wiki writes
  • index/log maintenance
  • query flow with cited pages
  • lint command scaffold

Next good improvements:

  • local/free embeddings for larger wiki search
  • better Obsidian link validation
  • batch ingest
  • human review mode before file writes
  • richer source metadata
  • web UI after the CLI proves the workflow

Philosophy

The source files are the ground truth.

The wiki is the working memory.

The LLM is the maintainer.

You stay in charge of taste, direction, and what deserves attention.

About

CLI-first LLM-maintained markdown wiki POC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages