--state-dir.
Files in .semsearch
index.db
The local search index. This is a rebuildable cache artifact, not durable user data.
It stores immutable snapshots for each provider/model pair. Embedding vectors are kept in dimension-specific vector tables, so a 768-dimension local model and a 1536-dimension OpenRouter model can coexist without replacing each other.
manifest.json
Tracks local state metadata, schema versioning, and optional remote binding.
filehashes.db
Stores file-hash state used to skip unchanged files on warm reindex runs.
file_weights.json
Local path weighting configuration used during ranking.
yzma/
Local runtime libraries used for embedding inference.
State-dir vs db-path
The CLI now treats the state directory as the primary unit:--state-diris the preferred flag--dbis a deprecated compatibility alias
index.db is only one piece of the full local state.
Provider and model snapshots
Each provider/model pair has its own active snapshot. Examples:- rebuilding
llama.cpp/embeddinggemmadoes not replacellama.cpp/qwen3 - rebuilding
openrouter/openai/text-embedding-3-smalldoes not replacellama.cpp/embeddinggemma - switching provider or model requires indexing once with that same provider/model before searching
index.db schema changes may reset old cache data automatically. If local search fails after an upgrade, rebuild with unch index --root ..
Remote-published state
Remote CI publishes:index.dbmanifest.jsonfilehashes.db