Communitygithub.com

QMD — Lokale Wissensdatenbank-Suche

Eine lokale Vektor- und Stichwortsuchmaschine für Benutzer-Workspaces, die vor dem Beantworten von Fragen eingesetzt wird, um bereits dokumentiertes Wissen zu nutzen.

Was ist QMD — Lokale Wissensdatenbank-Suche?

QMD ist eine leistungsstarke lokale Suchmaschine, die sowohl Vektor- als auch Stichwortsuche (BM25) in den Workspaces eines Benutzers kombiniert. Sie ermöglicht es einem KI-Agenten, vor dem Beantworten von Fragen nach relevanten Dokumenten zu suchen, insbesondere für Kontext zu Personen, Projekten, Entscheidungen und vergangenen Arbeiten. Die Engine unterstützt drei Suchmodi: einfache BM25-Stichwortsuche für exakte Begriffe, hybride Suche mit Reranking für konzeptionelles Abrufen und strukturierte Abfragen mit Feldern wie 'intent', 'lex', 'vec' und 'hyde' für komplexe Suchanfragen. QMD ist in die Agentenökosysteme OpenClaw, Hermes, Claude Code und Codex integriert und verwendet XDG-isolierte Konfigurationen pro Agent. Es wird über die Befehlszeile mit `qmd search`, `qmd query` und `qmd get` gesteuert. Wichtigste Fallstricke sind, sich nicht nur auf Ausschnitte zu verlassen, semantische Suche nicht übermäßig zu nutzen und Indexänderungen nicht leichtfertig vorzunehmen.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add Walliiee/agent-harness

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht QMD — Lokale Wissensdatenbank-Suche?

QMD ist die lokale Vektor-+Stichwort-Suchmaschine über die Workspaces des Benutzers. Verwenden Sie sie bevor Sie Fragen beantworten, die möglicherweise bereits dokumentiert sind — insbesondere für Kontext zu Personen, Projekten, Entscheidungen und vergangenen Arbeiten.

Arbeitsablauf

Der Arbeitsablauf ist immer:

  1. Suchen Sie nach Kandidatendokumenten.
  2. Rufen Sie die vollständige Quelle mit qmd get oder qmd multi-get ab.
  3. Antworten Sie aus dem abgerufenen Text, unter Angabe von Pfaden oder Doc-IDs.

Antworten Sie nicht allein aus Ausschnitten, wenn der Benutzer Fakten, Entscheidungen, Zitate oder Nuancen benötigt. Ausschnitte sind nur Hinweise.

Wenn Sie darüber berichten, was Sie abgerufen haben, reicht eine kurze Notiz; fügen Sie keine ganzen Dateien ein, es sei denn, es ist nötig:

Abgerufen: #abc123 wiki/projects/GenAICategorizer.md, #def432 memory/2026-05-26.md

Wählen Sie den richtigen Suchmodus

ModusBefehlVerwendung
BM25-Stichwortqmd searchExakte Wörter, Titel, Namen, Codesymbole, seltene Phrasen
Hybrid + Rerankingqmd queryIndirekte Formulierung, konzeptionelles Abrufen, beste Qualität
Strukturiertqmd query mit lex:/vec:/hyde:-FeldernSchwierige Suchen, die exakte Anker + semantisches Abrufen benötigen

Einfache Suche:

qmd search "Challenger-Crew-Projektstatus" -n 10
qmd search '"GenAI Categorizer"' -c wiki-main -n 5

Semantische Konzeptsuchen:

qmd query "Entscheidungsqualität hängt davon ab, Annahmen und Kontext offenzulegen" -n 10

Strukturierte Abfrage (schwierige Suchen):

qmd query $'intent: Finden Sie das Konzeptpapier über Metriken als Instrumente, ohne dass OKRs das Urteilsvermögen ersetzen.
lex: Cockpit-Instrumente OKR Goodhart Metriken Urteil
vec: datengestützt nicht metrikgetrieben Produkturteil
hyde: Ein Konzeptpapier sagt, Metriken seien nützlich wie Cockpit-Instrumente, aber Führungskräfte sollten datengestützt und nicht metrikgetrieben bleiben, da OKRs und Dashboards das Produkturteil nach Goodhart verfälschen können.'

Felder strukturierter Abfragen:

  • intent: gibt an, was Sie zu finden versuchen und was vermieden werden soll.
  • lex: exakte Begriffe, Aliase, Titel und seltene Wörter.
  • vec: paraphrasiert die Idee in natürlicher Sprache.
  • hyde: beschreibt das Dokument oder die Antwort, die die Anfrage erfüllen würde.

Quellen abrufen

qmd get "#abc123"                        # nach Doc-ID aus Suchergebnissen
qmd get "wiki/projects/GenAICategorizer.md" --full  # nach Pfad
qmd multi-get "#abc123,#def432" --md     # Stapelverarbeitung nach Doc-IDs
qmd multi-get 'memory/2026-05-*.md' -l 80  # Glob-Stapelverarbeitung

Verwenden Sie multi-get, wenn Sie mehrere Treffer vergleichen oder Kontext über Seiten hinweg sammeln. Verwenden Sie --full, wenn die genaue Quelle wichtig ist.

Sammlungen nach Agent

Jeder Agent hat seinen eigenen QMD-Index mit XDG-isolierter Konfiguration. Die Agentenliste befindet sich unter ${OPENCLAW_HOME}/config/agents.map. Wenn Sie von der CLI aus suchen, verwenden Sie den XDG-Wrapper des Agenten:

# Hauptagent
XDG_CONFIG_HOME=${OPENCLAW_HOME}/agents/main/qmd/xdg-config XDG_CACHE_HOME=${OPENCLAW_HOME}/agents/main/qmd/xdg-cache qmd query "..."
# Dev-Agent und jeder andere Agent — gleiches Muster, Agentennamen austauschen

Sammlungen des Hauptagenten

SammlungInhalt
identity-mainKerndokumente — SOUL, IDENTITY, TOOLS, AGENTS, NETWORK, MEMORY-Index
wiki-mainDauerhafter Wissenskortex. Wiki — Agentenverhalten (agentenübergreifende Regeln), Projekte, Werkzeuge, Konzepte, Personen. Primäres, dauerhaftes Gedächtnis seit 2026-05-28.
memory-mainTägliche Gedächtnisdateien (YYYY-MM-DD.md) — 7-Tage-Erfassungsschicht, die Inhalte in wiki-main befördert
workspace-docs-mainVollständiges Workspace-Markdown (Referenzen, Aufgaben, Übergaben, Erkenntnisse)
skills-mainSkill-Definitionen (SKILL.md-Dateien)
agents-*-identityIdentitäts-/Konfigurationsdokumente anderer Agenten (pro Agent-Workspace)
agents-*-memoryTägliche Gedächtnisdateien anderer Agenten (pro Agent-Workspace)
agents-*-wikiDauerhafte Wikis anderer Agenten (pro Agent-Workspace) — der Hauptagent kann dauerhaftes Fachwissen direkt abfragen.
handoffs-*Übergabedateien pro Agent (Haupt-, Dev- und jeder andere Agent)

Hinweise zu spezialisierten Sammlungen

Die Sammlungsnamen unten stammen aus der eigenen QMD-Konfiguration jedes spezialisierten Agenten. Vom Hauptagenten aus verwenden Sie die agentenübergreifenden Entsprechungen (agents-<agent>-wiki, agents-<agent>-memory).

Wonach Sie suchenAgentWichtige Sammlungen (innerhalb des Agenten)Vom Hauptagenten
Codeprojekte, Build-Konfigurationen, technische Entscheidungendevprojects-dev, identity-dev, wiki-devagents-dev-wiki, agents-dev-memory

Kontext- und Sammlungsbereich

Die Metadaten context: von QMD (gesetzt in index.yml oder über qmd context add) verbessern die Suchrelevanz, indem sie beschreiben, was jede Sammlung enthält. Sie werden zusammen mit den Ergebnissen zurückgegeben.

Grenzen Sie Suchen mit -c ein, wenn breite Abfragen in den falschen Korpus abdriften:

qmd search "Standup-Notizen diese Woche" -c agents-dev-memory -n 10
qmd query "GenAI-Projektstatus" -c wiki-main -c projects-dev -n 10

Lassen Sie -c weg, um in allem zu suchen.

Diagnose

qmd status     # Sammlungszahlen und ausstehende Einbettungen
qmd update     # Neuindizierung (nach Hinzufügen/Bearbeiten von Dateien in indizierten Pfaden verwenden)
qmd embed      # Vektoren generieren/neu erstellen nach einem Update

Wenn qmd query oder qmd vsearch fehlschlagen (Modell/GPU nicht verfügbar), fallen Sie auf qmd search mit stärkeren lexikalischen Begriffen zurück.

Hinweis: Ältere Dokumente verwiesen auf qmd doctor — dieser Unterbefehl ist in der aktuellen CLI-Version nicht vorhanden. Verwenden Sie qmd status für den Gesundheitszustand und qmd update/qmd embed für Reparaturen.

MCP-Werkzeuge

Bei Verwendung von MCP (Standard für OpenClaw-Agenten) bevorzugen Sie strukturierte Abfragen:

{
  "searches": [
    { "type": "lex", "query": "Challenger-Crew-Status" },
    { "type": "vec", "query": "Was ist der aktuelle Stand des Challenger-Crew-Projekts?" }
  ],
  "intent": "Projektstatus finden, keine allgemeinen Konzepte über die Crew.",
  "limit": 10
}

Fallstricke

  • Halten Sie nicht bei Ausschnitten an. Rufen Sie Dokumente ab, bevor Sie Behauptungen aufstellen.
  • Übermäßige semantische Suche vermeiden. Wenn Sie genaue Titel oder Begriffe kennen, ist BM25 schneller und oft besser.
  • Indizes nicht leichtfertig ändern. qmd collection add, qmd update und qmd embed ändern den lokalen Zustand und können teuer sein.
  • Modellgestützte Befehle können umgebungsabhängig sein. Wenn qmd query oder Reranking fehlschlagen, fallen Sie auf qmd search mit stärkeren lexikalischen Begriffen zurück.
  • Mehrdeutige Formulierungen des Benutzers benötigen eine Absicht. Fügen Sie intent: hinzu, anstatt darauf zu hoffen, dass die Abfrageerweiterung die richtige Domäne errät.
  • Sammlungsnamen sind wichtig. Grenzen Sie mit -c ein, wenn die Abfrage mehrere Domänen treffen könnte.
  • Aktualität: QMD bewertet alte Ergebnisse nicht ab. Überprüfen Sie bei zeitkritischen Gedächtnisinhalten die Dateinamen — YYYY-MM-DD näher am heutigen Datum ist aktueller.

Einrichtung und Wartung

Führen Sie diese nur aus, wenn Sie dazu aufgefordert werden. Suchen und Abrufen sind sicher; Indexänderungen sind nicht trivial.

qmd collection add ~/notes --name notes   # CLI-Alternative zum Bearbeiten von index.yml
qmd context add qmd://notes "Beschreibung"  # CLI-Alternative zu context: in index.yml
qmd update                                # Sammlungen neu indizieren
qmd embed                                 # Vektoren generieren/neu erstellen
qmd status                                # Gesundheitscheck nach Änderungen

Verwandte Skills