v0.2.0 — CLI-first with MLX reranker
What's new
SeekLink v0.2 is a major architecture refresh: the MCP server is replaced by a CLI + Unix-socket daemon, and an optional cross-encoder reranker brings precision gains on Apple Silicon.
CLI-first architecture
- MCP server removed. All interaction is now via
seeklink search / index / status / daemon. - Daemon mode (
seeklink daemon): keeps the embedding model resident in memory. First query ~2s (model warmup), subsequent queries ~10ms. Auto-spawns on first use, never auto-exits. - Leaner dependencies:
mcp[cli]andwatchfilesremoved. 4 runtime deps instead of 6.
MLX reranker (Apple Silicon)
- Qwen3-Reranker-0.6B via MLX runs on Metal GPU for cross-encoder precision boosting.
- Scores each (query, passage) pair with full cross-attention — more accurate than vector similarity alone.
- ~60ms per pair on M3 Air. Default enabled; disable with
SEEKLINK_RERANKER_MODEL="". - 100+ languages including Chinese and English. Apache 2.0 license.
Improved search fairness
- Title weight 3.0 → 1.5: log entries and journal notes now compete fairly with titled permanent notes in search results. Override per query with
--title-weight.
Freshness checks replace file watcher
- Bidirectional mtime scan on every
search/status: detects new files, modified files, and deleted files. - Warns to stderr instead of silently going stale. No background daemon required.
- Full vault re-index (
seeklink index) now prunes deleted entries from the database.
Security
- Path traversal protection on
seeklink index(rejects../escapes). - Concurrent daemon startup detection prevents orphaned processes.
Breaking changes
seeklink serveis removed. Useseeklink daemonfor resident mode, or invoke CLI commands directly.- Default
title_weightchanged from 3.0 to 1.5. Pass--title-weight 3.0to restore old behavior. mcp[cli]dependency removed. Agents should call seeklink viasubprocessorcli_clientinstead of MCP tools.
Configuration
| Variable | Default | Description |
|---|---|---|
SEEKLINK_VAULT |
. |
Vault root path |
SEEKLINK_EMBEDDER_MODEL |
jinaai/jina-embeddings-v2-base-zh |
Embedding model |
SEEKLINK_RERANKER_MODEL |
mlx-community/Qwen3-Reranker-0.6B-mxfp8 |
Reranker (empty = disabled) |
Stats
- 182 tests passing
- 2 rounds of adversarial code review (Codex), 6 findings, all resolved
- Benchmarked on real bilingual vault (Chinese + English, 50 notes / 505 chunks)