Observed since 21 Oct, 11:07 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Local-first, multimodal knowledge ingestion engine that transforms heterogeneous data into structured, evidence-backed knowledge and portable second-brain vaults.
Local-first, multimodal knowledge ingestion and extraction framework.
The engine walks a directory of source files, extracts structured artifacts (PDF, DOCX, PPTX, XLSX, CSV, JSON, HTML, Markdown, plain text, images, audio, video), runs knowledge extraction with a local LLM, deduplicates and detects contradictions, and writes the result as a Markdown vault (Obsidian-compatible) plus a JSON dump.
Domain lives in profiles — the same engine powers a personal archive, a
software repository, or a research corpus. v0.1 ships generic,
personal, software, and research profiles.
ProviderNotConfiguredError — they never silently fabricate output.Requires Python 3.11+.
python -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
Optional OCR / vision / transcription dependencies are NOT bundled:
# OCR
brew install tesseract # macOS
pip install pytesseract
# Vision
pip install clip-onnx # future provider; v0.1 ships null only
# Transcription
pip install faster-whisper
# 1. Initialize a project skeleton
knowledge-engineer init ./my-project
# 2. Scan a directory into the SQLite inventory
knowledge-engineer scan ./my-project/sample-data --db ./my-project/data/knowledge.db
# 3. Run the pipeline (discovery -> classify -> extract -> knowledge -> vault)
knowledge-engineer process \
--db ./my-project/data/knowledge.db \
--profile generic \
--vault ./my-project/vault \
--output-format markdown
# 4. Inspect
knowledge-engineer status --db ./my-project/data/knowledge.db
knowledge-engineer review --db ./my-project/data/knowledge.db
# 5. Export
knowledge-engineer export \
--db ./my-project/data/knowledge.db \
--vault ./my-project/vault \
--format obsidian # or markdown | json
The pipeline runs these stages per source file:
Each stage records its outcome in processing(source_id, stage) so the
pipeline is resumable and auditable.
Each capability has an interface:
| Capability | Interface | v0.1 default | To enable |
|---|---|---|---|
| LLM | providers.llm.LLMProvider | Ollama (real) | pip install ollama + start daemon |
| OCR | providers.ocr.OCRProvider | NullProvider | pip install pytesseract + brew install tesseract |
| Vision | providers.vision.VisionProvider | NullProvider | future: clip-onnx, ollama-vision |
| Transcription | providers.transcription.Transcription | NullProvider | pip install faster-whisper + model |
| Embeddings | providers.embeddings.Embeddings | NullProvider | future: sentence-transformers |
Null providers raise ProviderNotConfiguredError when asked to do work.
This is the framework's honesty contract.
MIT. See LICENSE.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 3 Sept 2026 | 28 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 11:07 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:217989f7eef1d92b757155b87fc1cdadc080458a487489b507b10061284ec5bb