Skip to main content

kortix-semantic-search

Full semantic search over Desktop files, agent memory, and knowledge. Use when the agent needs to find relevant files or search knowledge semantically.

معلومات المصدر

المستودع
kortix-ai/lss
آخر نشاط في المصدر
٢١ مارس ٢٠٢٦ في ١٣:٢٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٢
التفرعات
٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
kortix-semantic-search
description
Full semantic search over Desktop files, agent memory, and knowledge. Use when the agent needs to find relevant files or search knowledge semantically.
# Semantic Search You have a **full semantic search engine** running on this machine, powered by [lss](https://github.com/kortix-ai/lss) (Local Semantic Search). It indexes text files, code, PDFs, DOCX, XLSX, PPTX, HTML, EML, JSON, CSV — virtually everything. A background file-watcher daemon (`lss-sync`) detects file changes in real time via FSEvents/inotify and re-indexes within seconds. ## How It Works lss combines **BM25 full-text search** (keyword matching with custom re-scoring) and **embedding similarity** (semantic meaning via OpenAI or local fastembed) using Reciprocal Rank Fusion. Queries can be natural language — you don't need exact keywords. The database lives at `/config/.lss/lss.db`. ## What's Indexed | Source | Path | Content | |--------|------|---------| | **Desktop files** | `/config/Desktop` | Code, docs, PDFs, DOCX, XLSX, PPTX, HTML, JSON, CSV — all text-like files recursively | | **Agent memory** | `/config/workspace/.kortix/` | mem/*.md (observations), journal/*.md, memory/*.md, knowledge/*.md | Indexed formats: ~80 known extensions (code, markup, config, documents). Unknown extensions are skipped. `.gitignore` patterns are respected. ## Quick Reference ```bash # Search EVERYTHING indexed lss "your natural language query" -p /config/Desktop -k 10 --json # Search only agent memory + knowledge lss "user deployment preferences" -p /config/workspace/.kortix/ -k 5 --json # Search a specific project directory lss "database migration strategy" -p /config/Desktop/myproject/ -k 5 --json # Search without triggering re-indexing (faster, uses existing index) lss "query" -p /config/Desktop --no-index -k 10 --json # Filter by file type lss "auth logic" -p /config/Desktop -e .py -e .ts -k 10 --json # Exclude file types lss "config" -p /config/Desktop -E .json -E .yaml -k 10 --json # Exclude content patterns lss "user data" -p /config/Desktop -x '\d{4}-\d{2}-\d{2}' -k 10 --json # Force re-index a path immediately lss index /config/Desktop/important-file.md # List all indexed files lss ls # Check index stats and configuration lss status ``` ## Search Filters Narrow results at query time without re-indexing. | Flag | Meaning | Applied | Example | |------|---------|---------|---------| | `-e EXT` / `--ext` | Include only these extensions (repeatable) | In SQL, pre-scoring | `-e .py -e .ts` | | `-E EXT` / `--exclude-ext` | Exclude these extensions (repeatable) | In SQL, pre-scoring | `-E .json -E .yaml` | | `-x REGEX` / `--exclude-pattern` | Exclude chunks matching regex (repeatable) | Post-scoring | `-x 'test_' -x 'TODO'` | ### Filter Strategy for Agents **Narrow first, then broaden.** Start with tight extension filters, then remove them if results are insufficient: ```bash # 1. Try narrow: only Python source files lss "authentication flow" -p /config/Desktop/project -e .py -k 10 --json # 2. If too few results, broaden to all code lss "authentication flow" -p /config/Desktop/project -e .py -e .ts -e .go -e .rs -k 10 --json # 3. If still insufficient, search everything lss "authentication flow" -p /config/Desktop/project -k 10 --json ``` **Exclude noise, not signal:** ```bash # Exclude generated/test code when looking for implementations lss "rate limiting" -e .py -x "test_" -x "mock_" -x "fixture" --json -k 10 # Exclude logs and config when looking for code lss "database connection" -E .log -E .yaml -E .json -E .toml --json -k 10 # Exclude dates/timestamps from data searches lss "customer report" -x '\d{4}-\d{2}-\d{2}' --json -k 10 ``` ## JSON Output Format **Always use `--json` for programmatic parsing.** ```bash lss "query" -p /config/Desktop --json -k 10 ``` Returns an array of result arrays (one per query): ```json [ { "query": "authentication flow", "hits": [ { "file_path": "/config/Desktop/project/auth.py", "score": 0.0345, "snippet": "def authenticate(user, password):\n \"\"\"Authenticate user with JWT...", "rank_stage": "S3_MMR", "indexed_at": 1738900000.0 } ] } ] ``` Key fields: - `file_path` — Full path to the source file - `score` — Relevance score (higher is better) - `snippet` — Best-matching text excerpt (~280 chars) - `rank_stage` — S1=BM25 only, S3=fusion, S3_MMR=fusion+diversity ## Multi-Query Decomposition For complex questions, **decompose into multiple specific queries**: ```bash # BAD: single vague query lss "how does the system work" --json -k 10 # GOOD: decomposed into specific queries lss "system architecture overview" "API endpoint design" "database schema" "authentication flow" --json -k 5 ``` Or use a query file: ```bash echo "system architecture overview" > /tmp/queries.txt echo "API endpoint design" >> /tmp/queries.txt echo "database schema" >> /tmp/queries.txt lss -Q /tmp/queries.txt -p /config/Desktop/project --json -k 5 ``` ## When to Use lss vs grep | Use lss | Use grep | |---------|----------| | Conceptual queries ("how to handle errors") | Exact string ("ERROR_CODE_429") | | Fuzzy matching ("something like the email template") | Specific variable name (`userSessionToken`) | | Cross-file discovery ("files about API design") | Known file + line search | | Natural language ("what's the deploy process") | Regex pattern matching | ## Iterative Search Strategy For large codebases, use an iterative approach: ```bash # Step 1: Broad discovery — find relevant areas lss "payment processing" -p /config/Desktop/project -k 20 --json # Step 2: Narrow by extension — focus on implementation lss "payment processing" -p /config/Desktop/project -e .py -k 10 --json # Step 3: Narrow by path — focus on specific module lss "payment processing" -p /config/Desktop/project/src/payments/ -k 10 --json # Step 4: Read the actual files for full context cat /config/Desktop/project/src/payments/processor.py ``` ## Indexing ```bash # Index a directory (auto-triggered on first search) lss index /config/Desktop/project/ # Index a single file lss index /config/Desktop/important.pdf # The daemon handles real-time updates automatically # Use manual indexing only for immediate needs ``` ## Maintenance ```bash # Sweep stale entries (files deleted from disk) lss sweep --retention-days 90 # Clear all embeddings (forces re-embedding on next search) lss sweep --clear-embeddings 0 # Full reset lss sweep --clear-all ``` ## Rules 1. **Always use `--json` flag** when searching programmatically. Parse the JSON output. 2. **Always use `-p <path>`** to scope searches. Never search without a path scope. 3. **Use `-k` to control result count.** `-k 5` for focused, `-k 20` for broad exploration. 4. **Decompose complex queries.** Multiple specific queries beat one vague query. 5. **Read source files for full context.** Snippets are excerpts — always read the full file after finding a match. 6. **Narrow with filters first.** Use `-e` to target file types before broadening. 7. **Don't grep when lss is better.** Conceptual, fuzzy, and cross-file queries belong in lss. 8. **The index auto-updates.** Only use `lss index` for immediate needs. The daemon handles the rest.
عرض على GitHub