qmd-extended

v2026.09.24

Extended QMD knowledge base with multi-backend embedding (Google AI Studio / Ollama / local). Use when managing QMD embeddings, switching backends, testing embedding quality, re-indexing, or troubleshooting QMD vector search. Triggers on "qmd embed", "embedding backend", "切换embedding", "embedding测试", "re-embed", "知识库embedding", "qmd扩展". For general QMD queries and knowledge retrieval, use memory-router skill instead.

GitHub
Install command
npx skhub add aaaaqwq/qmd-extended
Markdown
SKILL.md

QMD Extended — Multi-Backend Embedding Manager

Architecture

QMD's llm.js is patched (v2) to support three embedding backends:

QMD_EMBED_BACKEND=google|ollama|local

google  → Google AI Studio gemini-embedding-001 (3072-dim, free)
ollama  → Mac Studio Ollama qwen3-embedding:8b (4096-dim, LAN)
local   → node-llama-cpp embeddinggemma-300M (768-dim, CPU)

Auto-detect priority: google → ollama → local

Quick Commands

Test current backend

bash ~/clawd/skills/qmd-extended/scripts/embed-test.sh        # test current
bash ~/clawd/skills/qmd-extended/scripts/embed-test.sh all     # test all backends
bash ~/clawd/skills/qmd-extended/scripts/embed-test.sh google "自定义文本"

Switch backend

bash ~/clawd/skills/qmd-extended/scripts/embed-switch.sh google   # switch to Google
bash ~/clawd/skills/qmd-extended/scripts/embed-switch.sh ollama   # switch to Ollama
# ⚠️ After switching: qmd embed -f  (required — dimensions change)

Check status

bash ~/clawd/skills/qmd-extended/scripts/embed-status.sh

Environment Variables

VarDefaultPurpose
QMD_EMBED_BACKENDautoForce backend: google/ollama/local
QMD_GOOGLE_EMBED_KEYvia passGoogle API key (auto-read from pass store)
QMD_GOOGLE_EMBED_MODELgemini-embedding-001Google model name
QMD_OLLAMA_EMBED_URL—Ollama host (e.g. http://100.65.110.126:11434)
QMD_OLLAMA_EMBED_MODELqwen3-embedding:8bOllama model name

Patch Location

/home/aa/.npm-global/lib/node_modules/@tobilu/qmd/dist/llm.js
Backup: llm.js.bak (original pre-patch)

⚠️ npm update @tobilu/qmd will overwrite the patch. Re-apply from backup or re-run the patch script.

Backend Details

See references/backends.md for API docs, dimensions, rate limits, and comparison table.

Re-Embedding Workflow

When switching backends or after fresh install:

# 1. Switch backend
export QMD_EMBED_BACKEND=google

# 2. Force re-embed all collections
qmd embed -f

# 3. Verify
qmd status
bash ~/clawd/skills/qmd-extended/scripts/embed-status.sh

Troubleshooting

IssueFix
qmd embed hangs at compileFirst run builds node-llama-cpp. Wait ~10 min. Only affects local backend.
Google embed error: 429Rate limit hit. Wait 60s or reduce batch size.
Ollama embed: offlineMac Studio sleeping. Wake it or switch to google.
Dimension mismatch in searchBackend changed without re-embed. Run qmd embed -f.
pass: api/google-ai-studio not foundSet QMD_GOOGLE_EMBED_KEY env var directly instead.
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/qmd-extended

Default branch

main

Latest commit

b996aac

Tree SHA

07e787b