CodeSeek
A local code-intelligence CLI that gives coding assistants semantic search and call-graph queries.
What does this agent do, and when should you use it?
CodeSeek is a Rust-powered code-intelligence CLI designed for Claude Code and Codex CLI workflows. It parses Rust, Python, JavaScript, TypeScript, Go, C/C++, and Java with Tree-sitter, extracting functions, classes, and methods for a call graph. Its local project index combines LanceDB vectors, a Tantivy BM25 index, and a serialized PetCodeGraph under ~/.codeseek/<project_hash>/. Search can combine dense, sparse, and graph retrieval through RRF, then optionally rerank results with Qwen3-Reranker; if embedding or reranking is unavailable, it falls back to graph-based name search. It has no daemon or HTTP server: commands run as standalone processes, while MCP mode uses stdio JSON-RPC.
With codeseek init, CodeSeek reads source files, parses supported languages through Tree-sitter ASTs, and extracts functions, classes, and methods. It batches 20 texts per embedding API request, caches embeddings in SQLite, stores vectors in LanceDB, builds a Tantivy BM25 index, serializes a PetCodeGraph call graph, and uses MD5 hashes to reprocess only changed files. With codeseek search <query>, it obtains a query vector and runs LanceDB ANN dense search, Tantivy BM25 sparse search, and PetCodeGraph graph search; Reciprocal Rank Fusion combines candidates and Qwen3-Reranker-4B can rerank them. The callers, callees, and callgraph commands return upstream and downstream symbol relationships, while codeseek install writes MCP configuration for Claude Code and Codex.
- A Claude Code user exploring a large Rust or TypeScript repository wants to locate relevant functions from a natural-language question.
- An engineer maintaining a Python, Java, or Go service needs to identify a function’s callers and downstream dependencies before changing it.
- A developer working in a mixed-language repository wants one local index of functions, classes, methods, and call relationships.
- A Codex CLI user wants MCP-accessible code search and call-graph tools for the repository currently being worked on.
- A developer who regularly commits code wants post-commit and post-merge hooks to refresh the local index automatically.
What are this agent's strengths and limitations?
- Combines Tree-sitter structural extraction, PetCodeGraph call graphs, LanceDB vector search, and Tantivy BM25 in one local CLI.
- Its retrieval path can fuse dense, sparse, and graph results with RRF, then apply optional Qwen3-Reranker-4B cross-encoder reranking.
- MD5-based incremental updates, SQLite embedding caching, and Git hooks reduce the need for full reindexing after every change.
- It documents native MCP installation for both Claude Code and Codex CLI, including five code-intelligence tools.
- Semantic retrieval requires an embedding API token, model, and base URL, so it depends on network access and has undocumented API-cost implications.
- The documented Qwen3-Reranker-4B stage adds roughly 1–2 seconds to search-time ranking.
- Packaged npm binaries are documented only for macOS arm64/x64 and Linux x64; support for other platforms is not established.
- The documented language scope is limited to seven languages, and the available material does not establish cross-project querying, access controls, or shared team indexes.
How do you install or deploy this agent?
Install with npm: npm install -g codeseek, then run codeseek for the first-run interactive setup. The wizard configures an embedding API token, model, and base URL; the documented example uses an OpenAI-compatible provider and Qwen/Qwen3-Embedding-4B. Homebrew installation is: brew tap CodeBendKit/codeseek [email protected]:CodeBendKit/codeseek.git && brew install codeseek. For a source build, install protoc, then run git clone https://github.com/CodeBendKit/codeseek.git, cd codeseek, and ./build.sh --release.
How do you use this agent?
From the project directory, run codeseek init to build the index. Run codeseek search main --limit 10 for symbol search, or codeseek search 'how the code embedding work' for a natural-language query. Use codeseek callers <symbol>, codeseek callees <symbol>, or codeseek callgraph <symbol> for call relationships; query commands support --json. Run codeseek install to write MCP configuration to ~/.claude.json or ./.mcp.json and ~/.codex/config.toml. Run codeseek install-hooks to install post-commit and post-merge indexing hooks.