npx claudepluginhub itsmostafa/qiLocal knowledge search CLI — index documents and search them using BM25 full-text search, vector embeddings, and LLM-powered Q&A, all running locally with no external dependencies.
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
Curated collection of 141 specialized Claude Code subagents organized into 10 focused categories
Share bugs, ideas, or general feedback.
A local-first knowledge search CLI for macOS and Linux. Index and search anything — codebases, documentation, research papers, notes, wikis, datasets, logs, contracts, books — using BM25 full-text search, vector embeddings, and LLM-powered Q&A. Choose your own models via Ollama, LM Studio, llama.cpp, MLX or using OpenAI's cloud models.
brew tap itsmostafa/qi
brew install qi
Or via go install:
go install github.com/itsmostafa/qi@latest
qi is available as a Claude Code plugin. Add the marketplace and install with:
# Add the marketplace
/plugin marketplace add itsmostafa/qi
# Install the plugin
/plugin install qi
# Initialize config and database
qi init
# Index current directory
qi index
# Or index a specific path
qi index ~/notes
# Save a directory as a named collection
qi index ~/notes --name notes
# Re-index it later by name
qi index notes
# Search
qi search "my query"
# Search a specific collection
qi search "my query" -c notes
# Hybrid search (BM25 + vector, requires embedding provider)
qi query "my query" --mode hybrid
# Hybrid search a specific collection
qi query "my query" --mode hybrid -c notes
# Ask a question (requires generation provider)
qi ask "how does X work?"
# Ask a question to a specific collection
qi ask "how does X work?" -c notes
# List all named collections
qi list
# Delete a named collection and all its indexed data
qi delete notes
# Health check
qi doctor
| Command | Description |
|---|---|
qi init | Create config and database |
qi index [path|collection] | Index directory (current dir by default) or named collection |
qi search <query> | BM25 full-text search |
qi query <query> | Hybrid search (BM25 + vector) |
qi ask <question> | RAG-powered answer with citations |
qi get <id> | Retrieve document by 6-char hash ID |
qi list | List all named collections |
qi delete <collection> | Delete a named collection and all its indexed data |
qi stats | Show index statistics |
qi doctor | Health check |
qi version | Print version |
qi query supports three modes via --mode:
lexical: BM25 full-text search onlyhybrid (default): BM25 + vector search fused with Reciprocal Rank Fusion (RRF)deep: hybrid + optional rerankingUse --explain to see scoring breakdown:
qi query "chunking algorithm" --mode hybrid --explain
Full documentation is in the docs/ directory:
docs/architecture.md — system architecture, data flows, and design decisionsdocs/configuration.md — all config options with explanationsdocs/config.example.yaml — fully annotated example configdocs/named-collections.md — named collections guideThe config lives at ~/.config/qi/config.yaml. See docs/configuration.md for all options or docs/config.example.yaml for a fully annotated example.
database_path: ~/.local/share/qi/qi.db
collections:
- name: notes
path: ~/notes
extensions: [.md, .txt]
providers:
# Local (Ollama / llama.cpp)
embedding:
name: ollama
base_url: http://localhost:11434
model: nomic-embed-text
dimension: 768
generation:
name: ollama
base_url: http://localhost:11434
model: llama3.2