Karpathy LLM Wiki

approved

by Greener-Dalii

This plugin has not been manually reviewed by Obsidian staff. Karpathy's LLM Wiki implementation - multi-page knowledge generation with entity/concept pages and conversational query.

โ˜… 13 starsโ†“ 944 downloadsUpdated 8d agoMIT

llm_wiki_banner

๐Ÿง  Karpathy LLM Wiki Plugin for Obsidian

AI-powered structured knowledge base that ingests your notes and generates a connected Wiki โ€” based on Andrej Karpathy's LLM Wiki concept.

Obsidian official score 94/100 | Native support for 8 languages | Actively maintained, continuously evolving

Ask DeepWiki Version Author License Maintenance Build Status Obsidian Compatibility GitHub Stars Downloads Languages Providers

English | ไธญๆ–‡ๆ–‡ๆกฃ | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด | Deutsch | Franรงais | Espaรฑol | Portuguรชs

Official Site | Feedback & Discussion | ๐Ÿค– Explore Repo with DeepWiki


๐Ÿ’ก What is LLM-Wiki?

You write. AI organizes. You ask. That's it.

๐ŸŽฏ The problem. Your notes are a goldmine โ€” people, concepts, ideas, connections. But right now they're just files in folders. Finding what relates to what means searching, tagging, and hoping you remember the thread.

โœจ The fix. Andrej Karpathy suggested something elegant: treat your notes as raw material, and let an LLM do the architect work. It reads what you write, pulls out entities and concepts, and weaves them into a structured Wiki โ€” complete with [[bidirectional links]], an auto-generated index, and a chat interface that answers questions from your knowledge.

๐Ÿ“š So you don't have to be the librarian. No deciding what deserves a page. No maintaining cross-links. No wondering if something is out of date. Drop notes into sources/ and the LLM reads, extracts, writes, links, and even flags contradictions โ€” while you stay in flow.

๐Ÿค– And it's not another chatbot. ChatGPT knows the internet. LLM-Wiki knows you โ€” or rather, what you've taught it. Every answer carries [[wiki-links]] back into your knowledge graph. Every response is a trailhead, not a dead end.


โšก Why Obsidian + LLM-Wiki?

Obsidian is brilliant at linked thinking. But there's a catch: you're the one doing all the linking.

LLM-Wiki flips that. Instead of you building the graph by hand, the AI grows it with you. Add a note about a new concept โ€” it finds the connections you'd miss. Ask a question โ€” it walks your own knowledge graph and brings back answers with citations.

  • ๐Ÿ”— Your Graph View comes alive. New notes don't just sit there โ€” they sprout links to entities, concepts, and sources. The graph grows organically, and the plugin maintains it: detecting duplicates, fixing dead links, bridging languages with aliases.
  • ๐Ÿ’ฌ Your notes learn to talk back. Search becomes conversation. "What did I write about X?" becomes a dialogue, with streaming responses and [[wiki-links]] as breadcrumbs. Every answer is a path deeper into your own knowledge.
  • ๐Ÿง  Obsidian becomes a thinking partner. It stops being a cabinet for notes and starts being something that helps you think โ€” surfacing hidden connections, flagging contradictions, remembering what you forgot you knew.

๐Ÿš€ Quick Start

๐Ÿ“ฆ Installation

๐ŸŒŸ Recommended โ€” Obsidian Community Plugin Market:

  1. In Obsidian, go to Settings โ†’ Community plugins
  2. Click Browse and search for "Karpathy LLM Wiki"
  3. Click Install, then Enable

๐ŸŒ Or from the Community Plugin website โ€” visit community.obsidian.md/plugins/karpathywiki and click Add to Obsidian to install directly.

โš™๏ธ Manual (alternative):

  1. Download main.js, manifest.json, styles.css from Releases
  2. In Obsidian, go to Settings โ†’ Community plugins. On the Installed plugins tab, click the folder icon to open your plugins directory
  3. Create a folder named karpathywiki, drop the three files inside
  4. Back in Obsidian, click the refresh icon โ€” Karpathy LLM Wiki will appear under Installed plugins
  5. Toggle it on to enable

๐Ÿ”จ Development: git clone, pnpm install, pnpm build.

๐Ÿ”„ Updating

This project evolves rapidly โ€” new features, bug fixes, and improvements are shipped frequently. We recommend keeping up to date:

Option A โ€” Manual update (recommended):

  1. Go to Settings โ†’ Community plugins
  2. Click Check for updates
  3. Find Karpathy LLM Wiki in the list and click Update

Option B โ€” Enable auto-update:

  1. Go to Settings โ†’ Community plugins
  2. Toggle on Automatically check for plugins updates
  3. New versions will be detected automatically; update manually at your convenience

๐Ÿ’ก Why stay updated? Each release may include new features, performance improvements, and important bug fixes. We actively maintain this plugin โ€” missing updates means missing out on a better experience.

๐Ÿ”‘ Configure an LLM Provider

  1. Open Settings โ†’ Karpathy LLM Wiki
  2. Pick a provider from the dropdown (Anthropic, Anthropic Compatible, Google Gemini, OpenAI, DeepSeek, Kimi, GLM, Ollama, OpenRouter, or custom)
  3. Enter your API key (not needed for Ollama)
  4. Click Fetch Models to populate the model dropdown, or type a model name manually
  5. Click Test Connection, then Save Settings

๐Ÿฆ™ Ollama (local, no API key): Install Ollama, pull a model (ollama pull gemma4), select "Ollama (Local)" in the provider dropdown.

See README_CN.md for provider-specific instructions in Chinese.

๐ŸŽฎ Usage

MethodHow
๐Ÿ“ฅ Ingest single sourceCmd+P โ†’ "Ingest single source" โ€” select a note to extract entities and concepts into Wiki pages
๐Ÿ“‚ Ingest from folderCmd+P โ†’ "Ingest from folder" โ€” pick a folder, batch generate Wiki from all notes inside
๐Ÿ” Query wikiCmd+P โ†’ "Query wiki" โ€” ask questions, get streaming answers with [[wiki-links]]
๐Ÿ› ๏ธ Lint wikiCmd+P โ†’ "Lint wiki" โ€” health scan: duplicates, dead links, empty pages, orphans, missing aliases
๐Ÿ“‹ Regenerate indexCmd+P โ†’ "Regenerate index" โ€” rebuild wiki/index.md with current pages and aliases
๐Ÿ’ก Suggest schema updatesCmd+P โ†’ "Suggest schema updates" โ€” LLM analyzes Wiki and proposes schema improvements

Re-ingesting the same source does incremental updates on entity/concept pages (new info merged in). Summary pages are regenerated.

๐Ÿ’ก Smart Batch Skip: When ingesting a folder, the plugin automatically detects already-processed files and skips them to save time and API costs. The batch report shows skipped count.

โš ๏ธ Upgrading from an Older Version?

If you're upgrading from a version before v1.7.11 (or much earlier), your existing Wiki pages were generated without several capabilities added over many releases. Follow these steps after upgrading to bring your Wiki up to date:

1๏ธโƒฃ Rebuild your index Cmd+P โ†’ "Regenerate index" โ€” This rebuilds wiki/index.md with alias entries for every page, enabling alias-aware search (e.g., searching "DSA" finds "DeepSeek-Sparse-Attention"). The old index format only listed page titles.

2๏ธโƒฃ Run Lint wiki Cmd+P โ†’ "Lint wiki" โ€” This scans your entire Wiki and shows:

  • ๐Ÿท๏ธ Missing aliases: Pages without aliases (all pre-v1.7.11 pages). Click "Complete Aliases" โ€” the LLM generates translations, acronyms, and alternate names in bulk. This is critical for duplicate detection.
  • ๐Ÿ”„ Duplicate pages: Pages with overlapping content (e.g., "CoT" vs "ๆ€็ปด้“พ" created by older versions that didn't have alias-aware dedup). Click "Merge Duplicates" to fuse them and preserve all aliases.
  • ๐Ÿ’€ Dead links / Empty pages / Orphans: Standard wiki maintenance issues.

3๏ธโƒฃ Use Smart Fix All Click "Smart Fix All" in the Lint report for a one-click, causality-ordered repair: aliases completed โ†’ duplicates merged โ†’ dead links fixed โ†’ orphans linked โ†’ empty pages expanded. This is the fastest way to clean up a wiki built across many versions.

4๏ธโƒฃ Enable parallel page generation Settings โ†’ Ingestion Acceleration:

  • โšก Page Generation Concurrency: Set to 3 for most providers (was 1/serial by default before v1.7.3). Speeds up ingestion 2โ€“3ร— on sources with 10+ entities.
  • โฑ๏ธ Batch Delay: Start at 300ms. Increase to 500โ€“800ms if you hit rate limits.

5๏ธโƒฃ Review new settings (added since v1.4.0โ€“v1.7.x):

  • ๐ŸŒ Wiki Output Language (v1.6.5): Independent from UI language โ€” your Wiki can be in Chinese while the plugin UI stays in English, or vice versa.
  • ๐Ÿ“Š Extraction Granularity (v1.6.2, expanded in v1.10.0): Five options control how deeply the LLM extracts entities from sources:
    • Fine (~100 items) โ€” Deep analysis, edge-case mentions included. High token cost, best for key sources.
    • Standard (~50 items) โ€” Balanced extraction. Good default for daily notes.
    • Coarse (~10 items) โ€” Quick overview, core entities only. Low cost, fast ingestion.
    • Minimal (~5 items) โ€” Essential items only. Ideal for batch processing 100+ files or testing new sources.
    • Custom (1โ€“300 items) โ€” User-defined entity/concept limits for specialized workflows.

    ๐Ÿ’ก Recommendation: Use Minimal or Coarse for large folders to save time and API costs. Use Fine selectively on key documents that warrant deep analysis.

  • ๐Ÿ”„ Auto-Maintenance (v1.4.0): Optional file watcher, periodic Lint, and startup health check. All default OFF โ€” enable only if you want automatic background processing.

๐Ÿ›ก๏ธ Safety: Parallel generation uses Promise.allSettled โ€” if one page fails, others continue. Failed pages are retried individually with exponential backoff. Smart Batch Skip (v1.7.7) automatically detects already-ingested files to save time and API costs.


โœจ Features

๐Ÿ“Š Knowledge Quality

  • ๐Ÿ” Entity/Concept Extraction โ€” LLM extracts entities (people, orgs, products, events) and concepts (theories, methods, terms) from your notes with flexible extraction granularity (Minimal5 items, Coarse10, Standard50, Fine100, Custom 1โ€“300) to balance analysis depth vs. API cost
  • ๐Ÿท๏ธ Mandatory Page Aliases โ€” Every generated page includes at least 1 alias (translation, acronym, alternate name), enabling cross-language duplicate detection
  • ๐Ÿ”„ Duplicate Detection & Merge โ€” Semantic tiering catches true duplicates (cross-language translations, abbreviations, spelling variants); intelligent LLM merge fuses content and preserves aliases
  • ๐Ÿงฉ Smart Knowledge Fusion โ€” Multi-source updates merge new info without redundancy, contradictions preserved with attribution, reviewed: true pages protected from overwrite
  • ๐Ÿ“ Content Truncation Protection โ€” 8000 max_tokens with automatic stop_reason detection and retry at 2ร— tokens across all providers
  • ๐Ÿ“ Verbatim Source Mentions โ€” Original language quotes preserved with optional translation for traceability

๐Ÿ› ๏ธ Maintenance

  • ๐Ÿ” Lint Health Scan โ€” Detects duplicates, dead links, empty pages, orphans, missing aliases, and contradictions in one comprehensive report
  • ๐ŸŽฏ Semantic-Tier Duplicate Detection โ€” Tier 1 (direct name matches: cross-language, abbreviations, high-similarity titles) always verified; Tier 2 (indirect signals: shared links, moderate similarity) fills token budget
  • โšก Smart Fix All โ€” Causality-ordered batch fix: duplicates merged โ†’ dead links resolved โ†’ orphans linked โ†’ empty pages expanded
  • ๐Ÿท๏ธ Alias Completion โ€” One-click parallel batch generation of missing aliases, improving future duplicate detection
  • ๐Ÿ”„ Auto-Maintenance โ€” Multi-folder file watcher, periodic lint, startup health check (all optional)
  • โš ๏ธ Contradiction State Machine โ€” detected โ†’ review_ok โ†’ resolved (AI fix) or detected โ†’ pending_fix (manual)

๐Ÿ’ฌ Query & Feedback

  • ๐Ÿค– Conversational Query โ€” ChatGPT-style dialog with streaming Markdown and [[wiki-links]], multi-turn history
  • ๐Ÿ“ค Query-to-Wiki Feedback โ€” Save valuable conversations to Wiki with entity/concept extraction, semantic dedup before save
  • ๐Ÿ”’ Duplicate Save Prevention โ€” Hash tracking prevents re-evaluation of unchanged conversations

๐ŸŒ LLM & Language

  • ๐Ÿ”Œ Multi-Provider โ€” Anthropic, Anthropic Compatible (Coding Plan), Gemini, OpenAI, DeepSeek, Kimi, GLM, OpenRouter, Ollama, custom endpoints
  • ๐Ÿ”„ 5xx Retry โ€” Automatic exponential backoff retry (max 2) on HTTP 5xx/429 errors across all clients
  • ๐Ÿ“‹ Dynamic Model List โ€” Real-time fetching from provider APIs
  • ๐ŸŒ Wiki Output Language โ€” 8 languages independent of UI (EN/ZH/JA/KO/DE/FR/ES/PT), with custom input
  • ๐ŸŒ Full UI Internationalization โ€” Plugin UI supports 8 languages (EN/ZH/JA/KO/DE/FR/ES/PT), 269+ UI fields fully translated with natural local expressions
  • โšก Rate Limit Guardian โ€” When parallel generation triggers rate limits, auto-detects and suggests: lower concurrency, increase batch delay, switch provider
  • ๐Ÿฆ™ Web Clipper Compatible โ€” One-click add Obsidian Web Clipper's Clippings/ folder to watch list, auto-ingest web clips into Wiki

๐Ÿ—๏ธ Architecture & Performance

  • โšก Parallel Page Generation โ€” Configurable 1โ€“5 concurrent pages, default 3 (parallel), 2โ€“3ร— faster for large sources, error isolation per page
  • ๐Ÿ“š Iterative Batch Extraction โ€” Adaptive batch sizing eliminates max_tokens bottleneck for long documents
  • ๐Ÿ›๏ธ Three-Layer Architecture โ€” sources/ (read-only) โ†’ wiki/ (LLM-generated) โ†’ schema/ (co-evolved config)
  • ๐Ÿงฉ Modular Codebase โ€” 13 focused modules in src/

โŒจ๏ธ Commands

CommandDescription
๐Ÿ“ฅ Ingest single sourceSelect a note โ†’ generate Wiki pages with entities, concepts, and summary
๐Ÿ“‚ Ingest from folderSelect a folder โ†’ batch generate Wiki from existing notes
๐Ÿ” Query wikiConversational Q&A over your Wiki, streaming responses with [[wiki-links]]
๐Ÿ› ๏ธ Lint wikiFull health scan: duplicates, dead links, empty pages, orphans, missing aliases, contradictions
๐Ÿ“‹ Regenerate indexManually rebuild wiki/index.md
๐Ÿ’ก Suggest schema updatesLLM analyzes Wiki and proposes schema improvements

๐Ÿ“– Example

Input: sources/machine-learning.md

# Machine Learning
Machine learning uses algorithms to learn from data.

## Types
- Supervised learning
- Unsupervised learning
- Reinforcement learning

Output โ€” Entity page: wiki/entities/supervised-learning.md

---
type: entity
created: 2026-05-15
updated: 2026-05-15
sources: ["[[sources/machine-learning]]"]
tags: [method]
aliases: ["็›‘็ฃๅญฆไน ", "Supervised Learning"]
---

# Supervised Learning

## Basic Information
- Type: method
- Source: [[sources/machine-learning]]

## Description
Supervised learning is a machine learning paradigm where models learn
from labeled training data to make predictions on unseen data...

## Related Concepts
- [[concepts/Machine-Learning|Machine Learning]]
- [[concepts/Unsupervised-Learning|Unsupervised Learning]]

## Related Entities
- [[entities/Arthur-Samuel|Arthur Samuel]]

## Mentions in Source
- "Supervised learning uses labeled data to train predictive models..."

๐Ÿค– Model Selection Guide

This plugin follows Karpathy's philosophy: feed the LLM full Wiki context, not chunked RAG retrieval. Long-context models are strongly recommended โ€” the larger your Wiki grows, the more context the LLM needs.

๐Ÿ’ก Why not RAG? Karpathy's original critique argues that RAG fragments knowledge and breaks the LLM's ability to reason across the full knowledge graph.

๐Ÿ’ฐ Value-First Strategy: You don't need flagship models. The following cost-effective alternatives deliver excellent results at lower prices:

TierModelContextWhy
๐ŸŒŸ Value PickDeepSeek V4-Flash1M tokensLowest cost ($0.14/M), 284B MoE, ideal for batch ingestion
๐ŸŒŸ Value PickGemini-3.5-Flash1M tokens4ร— faster output than GPT-5.5, great for agent tasks
๐ŸŒŸ Value PickQwen3.6-Plus1M tokensStrong coding & agentic capabilities, competitive pricing
๐ŸŒŸ Value PickGrok-42M tokens2M context window, excellent for very large wikis
BalancedClaude Sonnet 4.61M tokensGreat quality/cost balance, $3/$15 per million tokens
LightweightClaude Haiku 4.5200K tokensFast and affordable for smaller wikis
BudgetMiMo-V2.5-Flash1M tokensXiaomi's cost-effective option, 309B MoE architecture
FlagshipClaude Opus 4.71M tokensUltimate quality, higher cost โ€” use selectively
FlagshipGPT-5.51M tokensTop reasoning, higher cost โ€” use selectively

For local models (Ollama): context windows are typically smaller (8Kโ€“128K). Consider using a cloud provider for ingestion + local model for query.

๐Ÿ”Œ Anthropic Compatible (Coding Plan): If your provider offers an Anthropic-compatible API endpoint, select "Anthropic Compatible" and enter your provider's Base URL and API Key.

๐Ÿ’ก Subscription plans: Coding Plan, OpenAI Pro, or Anthropic Pro plans are excellent options for cost control with frequent use. This plugin supports these services.


๐Ÿ—๏ธ Architecture

Karpathy's three-layer separation design:

sources/     # ๐Ÿ“„ Your source documents (read-only)
  โ†“ ingest
wiki/        # ๐Ÿง  LLM-generated Wiki pages
  โ†“ query / maintain
schema/      # ๐Ÿ“‹ Wiki structure configuration (naming, templates, categories)

Codebase (src/):

wiki/               # Wiki engine modules
  wiki-engine.ts    # ๐ŸŽฏ Orchestrator
  query-engine.ts   # ๐Ÿ’ฌ Conversational query
  source-analyzer.ts # ๐Ÿ“Š Iterative batch extraction
  page-factory.ts   # ๐Ÿ—๏ธ Entity/concept CRUD + merge
  lint-controller.ts # ๐Ÿ” Lint orchestration
  lint-fixes.ts     # ๐Ÿ› ๏ธ Fix logic for dead links, empty pages, orphans
  lint/             # Lint sub-modules
    duplicate-detection.ts  # ๐Ÿ”„ Programmatic candidate generation
    fix-runners.ts          # โšก Batch fix execution helpers
  contradictions.ts # โš ๏ธ Contradiction detection
  system-prompts.ts # ๐Ÿ—ฃ๏ธ Language directive + section labels
schema/             # Schema co-evolution
  schema-manager.ts # ๐Ÿ“‹ Schema CRUD + suggestions
  auto-maintain.ts  # ๐Ÿ”„ File watcher + periodic lint
ui/                 # User interface
  settings.ts       # โš™๏ธ Settings panel
  modals.ts         # ๐Ÿ“ฆ Lint/Ingest/Query modals
+ shared modules: llm-client.ts, prompts.ts, texts.ts, utils.ts, types.ts

Generated pages:

  • wiki/sources/filename.md โ€” ๐Ÿ“„ Source summary
  • wiki/entities/entity-name.md โ€” ๐Ÿ‘ค Entity pages (people, orgs, projects, etc.)
  • wiki/concepts/concept-name.md โ€” ๐Ÿ’ก Concept pages (theories, methods, terms, etc.)
  • wiki/index.md โ€” ๐Ÿ“‘ Auto-generated index
  • wiki/log.md โ€” ๐Ÿ“ Operation log

โ“ FAQ

Keep your plugin updated. This project ships frequently โ€” new features and fixes land every few days. Run Settings โ†’ Community Plugins โ†’ Check for updates regularly.

For more, see the FAQ Discussion on GitHub.

๐Ÿ’ก General

What does the plugin actually do? You drop notes in, it extracts people, concepts, and theories, then generates an interlinked wiki with [[bidirectional links]]. Ask questions and get answers grounded in your notes โ€” not internet hallucinations.

Minimum requirements? Obsidian v1.6.6+, desktop (Windows/macOS/Linux), an LLM provider API key. Ollama works locally with no API key. See Configure an LLM Provider above.

Which model should I use? See Model Recommendations above. Long-context models work best โ€” the larger your wiki, the more context the LLM needs.

๐Ÿท๏ธ Aliases & Duplicates

Why does Lint show "missing aliases" on almost all my pages? Pages generated before v1.7.11 didn't include aliases. This is harmless โ€” aliases are an enhancement, not a bug. Click Complete Aliases in the Lint report to batch-generate translations, acronyms, and alternate names. Once aliases exist, duplicate detection and alias-aware search become much more effective.

Why do I see duplicate pages like "CoT" and "ๆ€็ปด้“พ"? Pre-v1.7.10 versions lacked alias-aware duplicate detection. Run Lint Wiki โ†’ Merge Duplicates to fuse them. The merged page preserves aliases from both, preventing future duplicates.

How does duplicate detection work? (v1.7.10+) Two-tier semantic detection: Tier 1 (always LLM-verified) catches cross-language matches, abbreviations, high-similarity titles. Tier 2 fills remaining token budget with moderate-similarity candidates. Aliases are critical for Tier 1 โ€” run Complete Aliases if your pages are pre-v1.7.11.

What are "polluted pages"? (v1.9.0) Pages with folder prefixes accidentally baked into filenames โ€” e.g. concepts/conceptsๅธƒๅฑ€ไผ˜ๅŒ–.md. Run Lint Wiki โ†’ ๐Ÿงน Fix Polluted Pages to rename and update all incoming links.

โšก Performance & Cost

How do I speed up ingestion? In Settings โ†’ Ingestion Acceleration: increase Page Generation Concurrency to 3โ€“5 (parallel page creation), lower Batch Delay to 100โ€“300ms (watch for rate limits). Choose "Minimal", "Coarse", or "Standard" Extraction Granularity to reduce page count and save API costs.

Why am I getting HTTP 429 errors? The plugin auto-detects rate-limiting and suggests: lower concurrency to 1โ€“2, increase Batch Delay to 500โ€“800ms, or switch to a higher-limit provider.

How do I control API costs?

  • Auto-Maintenance is OFF by default (enable only if you need background processing)
  • Smart Batch Skip automatically skips already-ingested files
  • "Standard" or "Coarse" granularity = fewer LLM calls
  • Batch Delay > 500ms spaces calls without increasing token usage
  • Lint report shows counts before you run fixes โ€” decide what's worth it

๐Ÿงน Maintenance

What does Smart Fix All do? Runs fixes in causality order (v1.9.0+):

  1. ๐Ÿงน Fix polluted pages โ†’ 2. ๐Ÿท๏ธ Complete aliases โ†’ 3. ๐Ÿ”„ Merge duplicates โ†’ 4. ๐Ÿ”— Fix dead links โ†’ 5. ๐Ÿ”— Link orphans โ†’ 6. ๐Ÿ“ Expand empty pages

Lint freezes on a large Wiki? Upgrade to v1.7.17+ โ€” Lint now yields to Obsidian's UI thread every 50 pages, preventing multi-second freezes even on 1200+ page wikis.

๐Ÿ” Troubleshooting

Query can't find pages I know exist? Three common causes: (1) Index is stale โ†’ Regenerate index. (2) Missing aliases โ†’ Complete Aliases. (3) Try different phrasing โ€” LLM does semantic matching, not keyword search.

Can I manually edit Wiki pages? Yes. Set reviewed: true in frontmatter to protect from overwrite. Manual aliases, tags, and sources are preserved during merges.

Safe upgrade? The plugin never modifies your source files. Backup wiki/ โ†’ update plugin โ†’ Regenerate index โ†’ Lint Wiki โ†’ fix selectively.

How do I get help?


๐Ÿ“œ License

MIT License โ€” see LICENSE.

๐Ÿ™ Acknowledgments

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.