AI Search
Semantic search for VS Code / VSCodium. Index your codebase, or just a folder of
Markdown/text files, into a vector database and search it by meaning instead of by
keyword, from the editor sidebar.
Started from zilliztech/claude-context,
an independent project, not a fork.
Features
- Semantic search from the activity-bar sidebar
- AST-aware chunking: js/ts, python, java, c/c++, go, rust, c#, scala, php, ruby
- Markdown-aware chunking via a real Markdown AST, splitting by headings and
---.
The Markdown parser is bundled, so installed copies need no additional npm packages.
- Embeddings: OpenAI, OpenRouter, VoyageAI, Ollama, Gemini
- Vector databases: Local FAISS + SQLite by default, Milvus / Zilliz Cloud and Qdrant
- Re-ranking on demand via OpenRouter Cohere rerank models
Usage
- Open the AI Search view from the activity bar.
- Configure an embedding provider and a vector database (Settings button, or VS Code Settings →
search
aiSearch).
- Index your codebase, then search.
The default embedding provider is OpenRouter, using voyageai/voyage-4-large
when the model field is empty. This choice prioritizes retrieval quality for text and documentation.
Optional reranking defaults to voyageai/rerank-2.5 and runs on demand after you
enable it. Existing explicit model settings take precedence. Reindex your codebase
when changing embedding models.
Both default models are paid and require an OpenRouter API key. See pricing for
voyage-4-large and
rerank-2.5.
Local search is the default
Local (FAISS + SQLite) stores the search index on your computer. No database
account or server is required. The default data directory is
~/.ai-search/local-db; Settings shows the resolved path.
On first use, open AI Search → Settings → Install local search components.
The extension downloads the compiled modules for the computer running the extension
host. You do not need Node.js, npm, a compiler or Docker. The download is approximately
4.5 MiB for Apple Silicon Mac, 5.1 MiB for Intel Mac, 13.8 MiB for Windows x64 and
15 MiB for Linux x64 with glibc. The components are reused offline until their version
changes. For remote workspaces, installation and index storage happen on the remote host.
A local database does not make external embedding services local. Select an Ollama
model running on your own computer to keep embedding processing local too. Optional
external reranking also sends candidate text to the configured provider.
Other database choices:
- Milvus / Zilliz: enter the server address and token. Existing configured users
retain their database choice when upgrading.
- Qdrant: enter the Qdrant Cloud or self hosted server URL and API key. A local
server can use
http://localhost:6333. This integration supports vector search,
file filters and optional reranking. It requires Qdrant 1.10 or newer and does not
add keyword search to Qdrant.
Changing the database or its storage location requires indexing the project at the
new destination. The previous database is not deleted. The new local format stores
documents and vectors together in documents-v2.db; old documents.db and .faiss
files are preserved and require a fresh index. FAISS search indexes are rebuilt in
memory from SQLite, including after restart. Large indexes consume RAM and rebuilding
them after changes takes longer than a cached search.
LanceDB is no longer supported. Existing LanceDB files are preserved; select a
supported database and index the project again.
The sidebar Settings page contains every aiSearch.* setting available in VS Code:
embeddings, database selection and connection details, reranking, automatic
synchronization, and code splitting. Expand the relevant section to edit advanced fields.
Choose User or Workspace scope. Reset removes the override in that scope;
changes made in VS Code Settings also appear in the sidebar. Unsaved edits are preserved
when another settings editor makes changes.
See the repository README for build and
local-development instructions.
License
MIT
Credits
Search icon by Icons8