I use LLMs every day for software development, and wanted to have a better experience by reducing the token usage and providing digested information about the codebase to the agent.
So I built Docdex. The idea was simple: a local, persistent layer that preprocesses and structures your project so the model can spend its context window on the actual problem, not on rediscovering what already exists.
It started as a document indexer in Rust, built on Tantivy for proper ranked full-text search.
Then it kept growing. I added code search, AST-based symbol indexing, a directed symbol graph for impact analysis ("what breaks if I change this function?"), repo memory for project-level facts, and agent memory so the LLM can persist preferences across sessions.
One architectural decision I'm particularly happy with: it runs as a single daemon. MCP servers have a habit of getting stuck, each tool call spawning processes, LLMs not cleaning up after themselves, multiple SSE connections fighting over resources. Running everything as one lightweight background service sidesteps most of that. It handles multiple repos, re-indexes on changes, and stays out of the way.
I also added web search, but handled locally. During setup it can install Ollama, pull `nomic-embed-text` for embeddings, and optionally `phi3.5` for lightweight reasoning. Search results get scored and filtered locally before anything hits a paid API. Brave Search works best, but Google/Bing work too with API keys.
There's also job delegation, expensive frontier models can offload simpler subtasks to a local Ollama model, which cuts paid token usage noticeably in practice.
Supported languages for impact graph reasoning: Rust, Python, JS/TS, Go, Java, C++, and more.
You can also use it standalone, as a local search engine for your docs, a plain HTTP server, or a web search and summarization tool. It's not glued to any particular AI workflow.
How to install: npm i -g docdex
Setup: docdex setup
Website: https://docdex.org, Repo: https://github.com/bekirdag/docdex
Fully open source, free to use. API keys for web search are optional.
It's genuinely made my daily dev workflow better, fewer tokens, more consistent answers, less time reexplaining things. I plan to keep developing it and may eventually offer optional paid services (like delegated cloud model jobs via OpenRouter), but the core will stay open.
Would love feedback, especially from people building serious AI dev tooling.