That constraint is the point: the model is told to answer from the retrieved documentation and nothing else, which is what stops it inventing an API that was renamed two releases ago. Run several instances for several crates. The first run per crate and feature set does the embedding work and caches it — do that from a terminal, not from inside your editor, or the first question will look like a hang.
A server that fetches one crate's documentation, embeds it, and answers questions about that crate from the retrieved text. One server instance per crate.
- query_rust_docs — ask a specific question about the crate's API or usage and get an answer built only from its documentation
- Semantic search over the docs using OpenAI's text-embedding-3-small, with the answer summarised by gpt-4o-mini-2024-07-18
- A crate:// resource naming the crate this instance is configured for
- Feature-aware documentation: pass -F or --features for crates that need a feature enabled for cargo doc to succeed
- Caching by crate, version and feature set in the XDG data directory, so later launches skip generation
- Several instances side by side, one per crate, in the same client
An OpenAI API key in OPENAI_API_KEY, and network access. Download the prebuilt binary from the releases page or build with the Rust toolchain. Launch it with a Cargo package ID — a crate name, or a name with a version requirement. Run it once from the command line for a new crate before wiring it into an assistant: first-run embedding takes a while and costs a fraction of a cent for most crates.
