For developers building AI applications
Build Agents that work
Accurate context for your agents.
No Complex Infrastructure and Costs
Fully open source.
pip install ctxdHow it works
From your data to your agents.
01ctxd tracker
02Stored in ctxfs
03Read by your agents
Why ctxd
Instant updates
Track changes automatically. Skip the re-embedding job.
Low query latency
Search your data directly, without waiting on a model.
No embedding bill
No embedding or reranking model to pay for or run.
Simple infrastructure
One store to search and read. No vector database to manage.
No tuning required
Choose your folders. No chunk sizes or retrieval models to tune.
Answers with evidence
Give your agent the source text and path behind each result.
Common questions
Why not let my agent read files directly?
For a small script, that may be enough. ctxd handles ongoing tracking. Your application gets one interface to discover paths, search contents and read source passages. You choose the folders; the tracker keeps them current.
How does search work without embeddings?
Your agent searches text and paths, then reads around the matches. It can refine its search as it learns more. This works well with filenames, error codes and other concrete terms. Unknown vocabulary can take more searches; ctxfs does not rank by semantic similarity.
Can I use my own model and agent framework?
Yes. ctxd supplies data access, not the model or agent loop. Connect your application to the ctxfs API. Your agent decides what to search, what to read and how to use the results.
What happens when a file changes or is deleted?
The running tracker checks your selected folders and publishes edits and removals to ctxfs. Changes become searchable after a successful pass. There is no re-embedding job to wait for.
Where does my data go?
In the local setup, ctxfs stores tracked content on your machine. Your original files stay in place. Any agent you connect has its own data handling, including what it sends to a model.
What do I pay for?
ctxd is open source. Running it uses your storage and compute. Model calls are separate. There is no required embedding API or embedding model to pay for.
How do I try it today?
Start with the local tracker bundle in the quickstart. The pip command above is the intended setup for the upcoming local package. The current PyPI release is the earlier hosted SDK.