From 778764de4d1dadf6630cda4e8bd29e78b43ce3b3 Mon Sep 17 00:00:00 2001 From: Torben Nehmer Date: Wed, 2 Sep 2026 07:55:45 +0200 Subject: [PATCH] update: qmd Sprachangabe korrigiert (TypeScript statt Go/Rust-Vermutung) Files changed: - kb/concepts/Delete Rather Than Anonymize.md - kb/concepts/Dual Licensing by File Plan.md - kb/concepts/Publish-Remote Gate.md - kb/entities/INDEX.md - kb/entities/tools/qmd.md - kb/index.md - kb/log.md - kb/provenance.md - kb/sources/INDEX.md - kb/sources/Source - qmd - GitHub Repository.md - raw/documents/qmd - GitHub Repository.md --- kb/concepts/Delete Rather Than Anonymize.md | 2 +- kb/concepts/Dual Licensing by File Plan.md | 2 +- kb/concepts/Publish-Remote Gate.md | 2 +- kb/entities/INDEX.md | 2 +- kb/entities/tools/qmd.md | 33 ++++-- kb/index.md | 6 +- kb/log.md | 6 ++ kb/provenance.md | 9 +- kb/sources/INDEX.md | 3 +- .../Source - qmd - GitHub Repository.md | 67 ++++++++++++ raw/documents/qmd - GitHub Repository.md | 101 ++++++++++++++++++ 11 files changed, 212 insertions(+), 21 deletions(-) create mode 100644 kb/sources/Source - qmd - GitHub Repository.md create mode 100644 raw/documents/qmd - GitHub Repository.md diff --git a/kb/concepts/Delete Rather Than Anonymize.md b/kb/concepts/Delete Rather Than Anonymize.md index da37d0e..806d36b 100644 --- a/kb/concepts/Delete Rather Than Anonymize.md +++ b/kb/concepts/Delete Rather Than Anonymize.md @@ -6,7 +6,7 @@ created: 2026-09-01 modified: 2026-09-01 related: [Chemenu] sources: ['Source - Public Release, Corpus Purge and History Squash Session 2026-09-01', Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01] -confidence: 0.90 +confidence: 0.70 confidence_base: 0.70 provenance: sourced summary: 'Private Korpusinhalte per Loeschung entfernen statt zu anonymisieren: ein Seitentitel ist der einzige Identifier eines Wikis, Umbenennen ist die volle page-lifecycle-Prozedur je Seite, Loeschen ist ein unterstuetztes Kommando.' diff --git a/kb/concepts/Dual Licensing by File Plan.md b/kb/concepts/Dual Licensing by File Plan.md index 3a30020..624df16 100644 --- a/kb/concepts/Dual Licensing by File Plan.md +++ b/kb/concepts/Dual Licensing by File Plan.md @@ -6,7 +6,7 @@ created: 2026-09-01 modified: 2026-09-01 related: [Chemenu] sources: ['Source - Public Release, Corpus Purge and History Squash Session 2026-09-01'] -confidence: 0.50 +confidence: 0.70 confidence_base: 0.70 provenance: sourced summary: Ein Repo mit Code- und Inhaltsanteil erhaelt zwei Lizenzen; die Grenze zwischen ihnen ist kein zweiter, gepflegter Pfadkatalog, sondern der ohnehin vorhandene Dateiplan des Distributionswerkzeugs. diff --git a/kb/concepts/Publish-Remote Gate.md b/kb/concepts/Publish-Remote Gate.md index c7101a3..9675eed 100644 --- a/kb/concepts/Publish-Remote Gate.md +++ b/kb/concepts/Publish-Remote Gate.md @@ -6,7 +6,7 @@ created: 2026-09-01 modified: 2026-09-02 related: [Mass-Update Gate, Chemenu, MCP-Leseserver] sources: [Source - Publish-Remote Gate and Issue Triage Session 2026-09-01, Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01, Source - MCP Read Server Implementation Session 2026-09-02] -confidence: 0.50 +confidence: 0.70 confidence_base: 0.70 provenance: sourced summary: 'Drittes, im Code durchgesetztes Gate: publish bricht mit Exit 42 ab, wenn die aufgeloeste Push-URL nicht in einer optionalen, gitignoreten Allowlist steht; doctor benennt seit 2026-09-02 den Gate-Zustand statt nur die Dateiexistenz' diff --git a/kb/entities/INDEX.md b/kb/entities/INDEX.md index f10288d..efca298 100644 --- a/kb/entities/INDEX.md +++ b/kb/entities/INDEX.md @@ -96,7 +96,7 @@ | [[pascalandy schema]] | tool | Von der Community beigesteuertes Wiki Schema (Global) aus pascalandys Kommentar in Farzas Gist, mit alternativer Tag-Taxonomie (area/kind/topic/status/pty) | 2026-08-29 | | [[Pi]] | tool | Assistenz-Agent von Inflection AI; kann das LLM-Wiki-Muster wie andere LLM-Agenten umsetzen. | 2026-08-29 | | [[Proton]] | tool | Wine-basierte Kompatibilitätsschicht von Valve; lässt Windows-Spiele über Steam unter Linux laufen, mit optimierter DirectX-Übersetzung. | 2026-08-29 | -| [[qmd]] | tool | Lokale Suchmaschine für Markdown-Dateien mit hybrider BM25-Vektor-Suche und LLM-Reranking. | 2026-08-29 | +| [[qmd]] | tool | Lokale Suchmaschine fuer Markdown-Dateien: TypeScript/Node.js/Bun, SQLite-FTS5-BM25 plus sqlite-vec-Vektorsuche plus node-llama-cpp-LLM-Reranking. | 2026-09-02 | | [[Steam]] | tool | Valves Plattform für digitalen Spielevertrieb und Spielebibliothek auf dem PC. | 2026-08-29 | | [[wikitool]] | tool | Deterministisches CLI fuer alle mechanischen Wiki-Operationen; seit 2.0.0 im Paket chemenu, seit 2.4.0 zusaetzlich als MCP-Leseserver erreichbar | 2026-09-02 | | [[Wine]] | tool | Kompatibilitätsschicht, die Windows-API-Aufrufe nach POSIX übersetzt und Windows-Anwendungen unter Linux, BSD und macOS ohne Virtualisierung oder Emulation ausführt. | 2026-08-29 | diff --git a/kb/entities/tools/qmd.md b/kb/entities/tools/qmd.md index 58ac831..4c0c9ac 100644 --- a/kb/entities/tools/qmd.md +++ b/kb/entities/tools/qmd.md @@ -3,13 +3,13 @@ type: types/entity.md entity_type: tool tags: [search, markdown, cli, local] created: 2026-07-26 -modified: 2026-08-29 +modified: 2026-09-02 related: [Obsidian, LLM Wiki Pattern] -sources: [Source - LLM Wiki Pattern] -confidence: 0.85 -confidence_base: 0.85 +sources: [Source - LLM Wiki Pattern, Source - qmd - GitHub Repository] +confidence: 0.80 +confidence_base: 0.80 provenance: sourced -summary: Lokale Suchmaschine für Markdown-Dateien mit hybrider BM25-Vektor-Suche und LLM-Reranking. +summary: 'Lokale Suchmaschine fuer Markdown-Dateien: TypeScript/Node.js/Bun, SQLite-FTS5-BM25 plus sqlite-vec-Vektorsuche plus node-llama-cpp-LLM-Reranking.' --- # qmd @@ -22,11 +22,12 @@ qmd ist eine lokale Suchmaschine, die speziell für Markdown-Dateien ausgelegt i ## Kerndaten - **Typ:** CLI-Tool -- **Sprache:** Nicht angegeben (wahrscheinlich Go oder Rust) -- **Such-Typen:** Hybrid (BM25 + Vector) -- **Neu-Ranking:** LLM-basiert +- **Sprache:** TypeScript, Laufzeit Node.js oder Bun +- **Such-Typen:** Hybrid (SQLite-FTS5-BM25 + `sqlite-vec`-Vektorsuche) +- **Neu-Ranking:** LLM-basiert über `node-llama-cpp` (lokale GGUF-Modelle) - **Bereitstellung:** On-device/lokal - **Repository:** https://github.com/tobi/qmd +- **Installation:** `npm install -g @tobilu/qmd` oder `bun install -g @tobilu/qmd` ## Beziehungen @@ -50,11 +51,13 @@ qmd ist eine lokale Suchmaschine, die speziell für Markdown-Dateien ausgelegt i ## Installation und Verwendung ```bash -# Installation (hypothetisch, siehe aktuelles Repo für Details) -go install github.com/tobi/qmd@latest +# Installation (Node oder Bun) +npm install -g @tobilu/qmd +# oder +bun install -g @tobilu/qmd # Suche von CLI -qmd search "knowledge management" +qmd query "knowledge management" # Als MCP-Server für LLM-Integration verwenden qmd server @@ -74,9 +77,17 @@ qmd server ## Historie +- [2026-09-02] - Sprachangabe korrigiert. Die Seite trug seit ihrer Erstellung "Nicht angegeben + (wahrscheinlich Go oder Rust)" bei `confidence: 0.85` - eine Vermutung mit einer Konfidenz, die + für eine Vermutung zu hoch war. Direkt gegen das Repository geprüft: TypeScript, Laufzeit + Node.js/Bun, SQLite-FTS5-BM25 + `sqlite-vec` + `node-llama-cpp`.[^s-qmd-github-repository] - [2026-07-26] - Entity-Seite während der Aufnahme des LLM-Wiki-Pattern-Artikels erstellt ## Siehe auch - [[LLM Wiki Pattern]] - [[Obsidian]] + +## Fußnoten + +[^s-qmd-github-repository]: [[Source - qmd - GitHub Repository]] diff --git a/kb/index.md b/kb/index.md index 3f9bae9..335abe1 100644 --- a/kb/index.md +++ b/kb/index.md @@ -13,11 +13,11 @@ The page tables live in a generated `INDEX.md` inside each collection, linked be ## Statistics -- **Total Pages:** 178 +- **Total Pages:** 179 - **Comparisons:** 1 - **Concepts:** 80 - **Entities:** 72 -- **Sources:** 25 +- **Sources:** 26 - **Last Updated:** 2026-09-02 --- @@ -29,7 +29,7 @@ The page tables live in a generated `INDEX.md` inside each collection, linked be | `comparisons/` | 1 | [comparisons/INDEX.md](comparisons/INDEX.md) | | `concepts/` | 80 | [concepts/INDEX.md](concepts/INDEX.md) | | `entities/` | 72 | [entities/INDEX.md](entities/INDEX.md) | -| `sources/` | 25 | [sources/INDEX.md](sources/INDEX.md) | +| `sources/` | 26 | [sources/INDEX.md](sources/INDEX.md) | ### entities/ diff --git a/kb/log.md b/kb/log.md index 1b98e18..3e64845 100644 --- a/kb/log.md +++ b/kb/log.md @@ -79,3 +79,9 @@ Source-Seite angelegt, Publish-Remote-Gate-Seite um die gemessene Merge-Semantik Source-Seite und neues Concept MCP-Leseserver angelegt; wikitool, Chemenu, Publish-Remote Gate und Iteration and Cost Limits aktualisiert. Deckt Issue #36s Sequenz (#34/#33/#31/#19), INSTALL-MCP.md und Issue #37 ab. --- + +## [2026-09-02] update | qmd - Sprachangabe korrigiert + +Direkt gegen tobi/qmd auf GitHub geprueft: TypeScript statt der geratenen 'Go oder Rust'-Angabe. Neue Quelle Source - qmd - GitHub Repository (raw/documents/), confidence_base 0.85 -> 0.80 neu begruendet, Installationsbeispiel korrigiert. + +--- diff --git a/kb/provenance.md b/kb/provenance.md index b0e981b..962298b 100644 --- a/kb/provenance.md +++ b/kb/provenance.md @@ -8,8 +8,8 @@ inline `[^cite-id]` footnote). ## Coverage Summary -- **Total raw files:** 25 -- **Covered:** 25 +- **Total raw files:** 26 +- **Covered:** 26 - **Uncovered:** 0 --- @@ -31,6 +31,11 @@ inline `[^cite-id]` footnote). - Covered by: [[Source - LLM Wiki Pattern]] - Cited by: [[Andrej Karpathy]], [[ChatGPT]], [[Claude Code]], [[Dataview]], [[Knowledge Compounding]], [[LLM Wiki Pattern]], [[Marp]], [[Memex]], [[NotebookLM]], [[Obsidian]], [[Obsidian Web Clipper]], [[OpenAI Codex]], [[OpenCode]], [[Pi]], [[RAG]], [[Three-Layer Architecture]], [[Tolkien Gateway]], [[Vannevar Bush]], [[qmd]] +### `raw/documents/qmd - GitHub Repository.md` + +- Covered by: [[Source - qmd - GitHub Repository]] + - Cited by: [[qmd]] + ### `raw/notes/Arch Linux Cheat Sheet.md` - Covered by: [[Source - Arch Linux Cheat Sheet]] diff --git a/kb/sources/INDEX.md b/kb/sources/INDEX.md index be3f616..ea0cbc0 100644 --- a/kb/sources/INDEX.md +++ b/kb/sources/INDEX.md @@ -2,7 +2,7 @@ # kb/sources/ - Index -25 page(s). Regenerated by `wikitool index rebuild`. +26 page(s). Regenerated by `wikitool index rebuild`. ## All @@ -32,5 +32,6 @@ | [[Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01]] | notes | Sitzung, die eine ungeprueft niedergeschriebene Merge-Behauptung in private-instance.md durch einen empirischen Test widerlegt, die Prozedur korrigiert (2.2.1) und Issue #30 mit einem getesteten Skript sowie zwei Architekturvorschlaegen anlegt. | 2026-09-01 | | [[Source - Public Release, Corpus Purge and History Squash Session 2026-09-01]] | notes | Sitzung, die den Chemenu-Stack von einer privaten Testinstanz in ein oeffentliches Repo ueberfuehrt: Korpus geloescht statt anonymisiert, Git-History auf einen Commit gesquashed, AGPL-3.0/CC-BY-4.0-Dual-Lizenz gewaehlt, dist export um einen Leak-Canary gehaertet. | 2026-09-01 | | [[Source - Publish-Remote Gate and Issue Triage Session 2026-09-01]] | notes | Sitzung, die ein drittes, Token-loses Gate fuer publish baut, instructions/private-instance.md schreibt, sechs Gitea-Issues auf den Rename und die neue Architektur nachzieht und die Actions-Run-Historie entfernen laesst. | 2026-09-01 | +| [[Source - qmd - GitHub Repository]] | document | GitHub-API-Metadaten, package.json und README-Auszuege von tobi/qmd: TypeScript/Node/Bun statt Go oder Rust, BM25 (SQLite FTS5) plus Vektor-Suche (sqlite-vec) plus LLM-Reranking ueber node-llama-cpp. | 2026-09-02 | | [[Source - Wine]] | notes | Wine-Konfiguration für Arch Linux: pacman-NoExtract-Einstellungen und Bottles-Runtime-Optionen einschließlich Proton- und Lutris-Varianten. | 2026-08-01 | diff --git a/kb/sources/Source - qmd - GitHub Repository.md b/kb/sources/Source - qmd - GitHub Repository.md new file mode 100644 index 0000000..4e62762 --- /dev/null +++ b/kb/sources/Source - qmd - GitHub Repository.md @@ -0,0 +1,67 @@ +--- +type: types/source.md +source_type: document +author: Torben +raw_files: [raw/documents/qmd - GitHub Repository.md] +source_url: https://github.com/tobi/qmd +source_language: en +date: 2026-09-02 +tags: [] +entities: [qmd] +concepts: [] +summary: 'GitHub-API-Metadaten, package.json und README-Auszuege von tobi/qmd: TypeScript/Node/Bun statt Go oder Rust, BM25 (SQLite FTS5) plus Vektor-Suche (sqlite-vec) plus LLM-Reranking ueber node-llama-cpp.' +--- +# Source: qmd - GitHub Repository + +**Autor:** Torben +**Datum:** 2026-09-02 +**Raw-Dateien:** raw/documents/qmd - GitHub Repository.md +**Typ:** Document + +## Zusammenfassung + +Direkter Abruf von `tobi/qmd` auf GitHub (Repo-Metadaten über die GitHub-API, `package.json`, +README-Auszüge), um eine bestehende, unsichere Behauptung auf der Entity-Seite [[qmd]] zu +prüfen. Die Seite trug seit ihrer Erstellung `Sprache: Nicht angegeben (wahrscheinlich Go oder +Rust)` bei `confidence: 0.85` - eine geratene Angabe mit einer Konfidenz, die für eine Vermutung +zu hoch war. Die GitHub-API meldet `"language": "TypeScript"`, mit einem byte-gewichteten +Sprach-Split von 1.597.168 B TypeScript gegenüber 200.880 B Python, 26.136 B Shell, +23.132 B JavaScript und weniger als 6 KB restlicher Sprachen - kein Go, kein Rust im Repository. + +Das npm-Paket heißt `@tobilu/qmd`, installiert per `npm install -g` oder `bun install -g`, +ausgeführt per `npx`/`bunx` - keine Go-typische `go install`-Zeile, wie die alte Seite +behauptete. `package.json` listet `node-llama-cpp` (LLM-Inferenz), `sqlite-vec` (Vektorindex) +und `better-sqlite3` (SQLite-Bindung) als direkte Abhängigkeiten; das README bestätigt das +Zusammenspiel explizit: „QMD combines BM25 full-text search, vector semantic search, and LLM +re-ranking—all running locally via node-llama-cpp with GGUF models." Die Scoring-Tabelle des +Architektur-Abschnitts benennt zusätzlich `SQLite FTS5 BM25` als konkreten Volltext-Mechanismus, +nicht nur „BM25" allgemein. + +## Kernaussagen + +- Sprache: TypeScript (GitHub-API `language`-Feld, bestätigt durch die Byte-Gewichtung). +- Runtime: Node.js oder Bun, nicht Go/Rust - Installationsbefehle im README belegen das direkt. +- Such-Stack: SQLite FTS5 (BM25) + `sqlite-vec` (Vektor-Ähnlichkeit) + `node-llama-cpp` + (LLM-Reranking mit GGUF-Modellen) - deckungsgleich mit dem, was die alte Seite unter + „Such-Capabilities" bereits beschrieb, nur ohne konkrete Technologienamen. +- Enthält einen `@modelcontextprotocol/server`-Abhängigkeit, deckungsgleich mit der bereits auf + der Seite genannten MCP-Server-Funktion. + +## Aufgaben + +- [x] `kb/entities/tools/qmd.md`s Sprachangabe korrigiert und mit dieser Quelle belegt + +## Nicht übernommen + +- Der vollständige Funktionsumfang (Library-API, MCP-Server-Details, Tree-Sitter-basiertes + Code-Chunking, Konfigurationsdatei-Referenz, CLI-Unterbefehle) - nur das zur Korrektur der + Sprach-/Stack-Angabe Nötige wurde übernommen. Eine künftige Erweiterung der `qmd`-Seite um + diese Themen bräuchte einen neuen Abruf, nicht diese Quelle. + +## Verwandte Entities + +- [[qmd]] + +## Verwandte Concepts + +- None identified diff --git a/raw/documents/qmd - GitHub Repository.md b/raw/documents/qmd - GitHub Repository.md new file mode 100644 index 0000000..a829681 --- /dev/null +++ b/raw/documents/qmd - GitHub Repository.md @@ -0,0 +1,101 @@ +# qmd - GitHub Repository (tobi/qmd) + +> Source: https://github.com/tobi/qmd +> Retrieved: 2026-09-02, via `https://api.github.com/repos/tobi/qmd`, +> `https://api.github.com/repos/tobi/qmd/languages`, and the raw README/`package.json` at the +> `main` branch HEAD (`pushed_at: 2026-08-18T14:26:31Z` at retrieval time). +> Fidelity: the API JSON fields are quoted verbatim; the README/package.json excerpts below are +> quoted verbatim from the fetched files, trimmed to what backs the corrected claims on +> `kb/entities/tools/qmd.md` - not a full copy of either file. + +## Repository metadata (GitHub API) + +```json +{ + "full_name": "tobi/qmd", + "description": "mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local", + "language": "TypeScript", + "html_url": "https://github.com/tobi/qmd", + "license": {"key": "mit", "name": "MIT License", "spdx_id": "MIT"} +} +``` + +Byte-weighted language breakdown (`/languages` endpoint): + +```json +{ + "TypeScript": 1597168, + "Python": 200880, + "Shell": 26136, + "JavaScript": 23132, + "Nix": 5984, + "Just": 1081, + "Dockerfile": 1074 +} +``` + +## `package.json` dependencies + +```json +{ + "name": "@tobilu/qmd", + "dependencies": { + "@modelcontextprotocol/server": "2.0.0", + "better-sqlite3": "^13.0.3", + "fast-glob": "3.3.3", + "node-llama-cpp": "3.20.0", + "picomatch": "4.0.5", + "sqlite-vec": "0.1.9", + "tree-sitter-go": "0.25.0", + "tree-sitter-python": "0.25.0", + "tree-sitter-rust": "0.24.0", + "tree-sitter-typescript": "0.23.2", + "web-tree-sitter": "0.26.12", + "yaml": "2.9.0", + "zod": "4.2.1" + } +} +``` + +## README excerpts + +Opening description (README.md, line 5): + +> QMD combines BM25 full-text search, vector semantic search, and LLM re-ranking—all running +> locally via node-llama-cpp with GGUF models. + +Install ("Quick Start" section): + +```sh +# Install globally (Node or Bun) +npm install -g @tobilu/qmd +# or +bun install -g @tobilu/qmd + +# Or run directly +npx @tobilu/qmd ... +bunx @tobilu/qmd ... +``` + +Scoring table (architecture section): + +| Stage | Method | Formula | Range | +|---|---|---|---| +| FTS (BM25) | SQLite FTS5 BM25 | `Math.abs(score)` | 0 to ~25+ | +| Vector | Cosine distance | `1 / (1 + distance)` | 0.0 to 1.0 | +| Reranker | LLM 0-10 rating | `score / 10` | 0.0 to 1.0 | + +Diagnostic command comment, confirming `sqlite-vec` is the vector index used at runtime, not +only a listed dependency: + +``` +# Diagnose the install (runtime, sqlite-vec, embedding fingerprints, GPU probe) +``` + +## Not extracted + +The full README (1301 lines: library API, MCP server usage, tree-sitter code-chunking options, +config file reference, CLI subcommand reference) - only the excerpts backing the corrected +`qmd.md` claims (language, runtime, install method, search/rerank stack) were pulled. A future +qmd page expansion covering its library API or MCP server would need a fresh fetch, not a reuse +of this file's `## Not extracted` judgment.