FAQ · 22 questions
Frequently asked questions.
Honest answers to what people actually ask about doks: how the LLM integration works, what it costs, what data goes where, and how to get it running.
The basics
What is doks?
doks is a free, open-source documentation framework you run on your own server. You write your docs in Markdown, doks turns them into a site, and visitors can ask questions in plain English and get answers from your content. It is built on Next.js and MDX and is licensed under MIT.
What does the name "doks" stand for?
doks is "docs" typed quickly. The lower-case spelling is intentional. There is no acronym hiding in there.
Is doks really free?
The doks framework is free and licensed under MIT. There is no subscription to doks itself and no account to create. The only costs you may incur are the API charges your chosen embedding and chat providers bill you directly (typically a few cents per million tokens).
Who built doks?
doks is built and maintained by datadistill.co. The repository lives at github.com/getdoks/doks. Contributions are welcome.
LLMs and chat
What is RAG, and why does doks use it?
RAG stands for retrieval-augmented generation. Instead of asking an LLM a question and trusting whatever it remembers, doks first retrieves the most relevant chunks of your documentation, then passes them to the LLM as context with the visitor's question. The LLM's answer is grounded in your actual docs, not its general training data, which dramatically reduces hallucinations and lets you cite the source chunks.
Which LLMs can I use with doks?
Out of the box: Anthropic (Claude), DeepSeek, Google Gemini, Mistral, OpenAI (GPT models), and z.ai (GLM). Voyage AI is the reference embedding provider. The chat adapter is a single async function, so adding any other OpenAI-compatible provider is a few lines of code.
Do I need an account with OpenAI, Anthropic, or another provider?
Yes. doks does not act as a reseller. You create an account with whichever embedding and chat provider you choose, generate an API key, and put both keys in a .env file. Costs go directly from the provider to you.
Can I switch LLMs without rewriting my docs?
Yes. Switching providers means changing two environment variables (URL and API key) and one model identifier. Your docs, your embeddings, and the rest of the site stay exactly as they were.
Are my docs sent to the LLM provider?
Only the chunks that the retriever selects as relevant to a given question are sent to the chat provider, along with the question itself. Your full doc tree is embedded once, locally, into a SQLite file at
data/docs.db. The embedding step also sends doc text to your embedding provider once at build time.Are my visitors' questions sent to the LLM provider?
Yes. To answer, doks must send the visitor's question (plus the retrieved chunks) to the chat provider you configured. How that provider logs, retains, or trains on the question is governed by their privacy policy. As an operator you should disclose this to your visitors.
How accurate are the answers?
Answers are as good as your docs and as good as the model. Because the LLM is given the actual source text, hallucinations are rare; the failure mode is more often "I don't have enough information" or a partial answer. Use the citations to verify.
What if a visitor asks something not covered in my docs?
The system prompt instructs the LLM to say so. The default behaviour is to admit uncertainty rather than make something up. You can edit the system prompt in
lib/chat.ts if you want different behaviour (e.g. fall back to general knowledge with a warning).Can I see exactly which doc chunks the LLM used to answer?
Yes. Every answer in the chat panel includes citations linking back to the exact chunks the model was shown. You can also inspect the request/response in the browser network tab.
Can I customize the system prompt or behaviour?
Yes. The full system prompt is in
lib/chat.ts as a template literal. Edit it to change tone, add safety constraints, change the citation format, restrict to certain topics, or anything else.Does doks support function or tool calling?
Not in v0.1. The chat panel is read-only retrieval. Tool use is on the roadmap, primarily for navigating the doc tree, scheduling demos, or running code samples. Track progress on the about page.
Does doks support multiple LLMs in the same site?
Not directly. v0.1 wires one chat provider per deployment. You can fork the adapter to fan out across providers (e.g. cheap model first, escalate to a stronger model on complex queries) — the code is small enough that this is a few-hour change rather than an architectural lift.
Setup, cost, and operations
What does it cost to run a doks site?
The framework is free. Hosting is whatever your existing static / serverless host charges. Embeddings cost roughly $0.02 per 1M tokens with Voyage AI (a typical docs site fits comfortably in the free tier). Chat answers cost roughly $0.002 per question on a frontier model and less on smaller ones. There is no fixed monthly cost.
How do I install doks?
Clone the repo (
git clone https://github.com/getdoks/doks), npm install, write your docs in content/docs/, run VOYAGE_API_KEY=... npm run ingest, then npm run build && npm start. The Get started page walks through every step.How does the index get updated when I change docs?
Re-run
npm run ingest. The script is idempotent and only re-embeds chunks whose text has changed. In CI, run it as part of the build pipeline.Where does the embeddings database live?
In a single file at
data/docs.db inside your repo, using sqlite-vec. There is no remote vector database and no managed service.Can I deploy doks to Vercel, Netlify, or Cloudflare?
Yes. doks is a standard Next.js project. Vercel auto-detects it. Netlify and Cloudflare Pages need the chat route to run on a serverless function, which both support out of the box.
Privacy and trust
Does doks send any data to its maintainers?
No. There is no telemetry endpoint, no update check that pings us, no licence callback. The maintainers cannot see your traffic, your visitors, your queries, or your keys. See the privacy notice for the full list.
Does this marketing site (doks.dev) collect any data about me?
No analytics, no cookies, no tag managers, no fingerprinting, no email capture. The hosting provider keeps short-term server access logs for up to 30 days. The site loads fonts from Google Fonts, which sends your IP to Google; we are evaluating self-hosting the fonts to remove that.
Can I use doks for private or internal documentation?
Yes. doks is designed for self-hosting, so you can put it behind your existing auth (SSO, basic auth, IP allow-listing). Your embedding and chat providers will see the chunks and questions, but no third party including the doks maintainers ever does.