Deep Research
Ask a real question and a local model plans it, searches the web, reads the sources, and writes a cited Markdown report. The research trail never leaves your machine, and nothing is paid to an external deep-research provider.
Turn on the Deep Research toggle in the Chat composer and send a question. Instead of one answer the model runs a multi-step loop: it drafts, searches to fill the gaps in that draft, folds cited findings back in, then writes a final report. You get a short answer in the chat and the full report in the artifact panel. Everything runs against whatever model the Lab is serving, local or cloud.

How it works
The workflow is draft-centric, following TTD-DR (Test-Time Diffusion Deep Researcher). A naive pipeline searches once and summarizes. This one keeps a working draft and lets the draft drive the search, so each round targets what the report still lacks:
- Plan — the model outlines what a thorough report must cover.
- Noisy draft — a first pass from what the model already knows, with the uncertain parts marked for sourcing.
- Denoise loop — each round turns the draft's gaps into web searches, reads the top results, extracts citable evidence, and folds it back into the draft with inline
[n]citations. Later rounds chase what is still weak or uncorroborated. - Report — the cited draft is polished into a structured report: flowing analytical prose, a comparison table where it helps, and a Bottom line.
- Verify — a final pass grades every cited sentence against its sources and repairs the ones that overreach.
The card in the transcript fills in as this runs — the plan, each source as it is read, the search count, and how many citations the verify pass repaired.

A run on a local Gemma-4 12B: eight sources read, cited [1]–[8], in round two.
Citations you can trust
The hard part of research writing is keeping every claim tied to a source. Deep Research does this in three places rather than hoping the model gets it right:
- Verbatim evidence. When a source is read, extraction records a short quote copied word-for-word from the page alongside each claim, not a paraphrase. The drafter writes against those quotes and cites the one source a claim comes from.
- Verify and repair. After the report is written, each cited sentence is graded against its sources' quotes. A sentence that overreaches is rewritten to state only what the evidence supports; one nothing supports loses its citation.
- A generated reference list. The Sources section is built in code from the sources that were actually read, so the
[n]markers always resolve — even when a small local model would otherwise garble its own list.
On a fair citation-support check (each claim judged against the union of its cited sources, the way ALCE and DeepResearch-Bench measure it), this grounding roughly doubles citation accuracy over a plain draft-and-cite pipeline.
The output: a response and a report
Not every question wants a document. Deep Research always posts a short, direct answer in the chat, then attaches the full cited report to the artifact panel. Open it to read the rendered Markdown; the ↓ .md button downloads the report as a Markdown file. Model-authored HTML pages download the same way as .html.

Running it
- Model. Deep Research uses whatever the Lab is serving. Point Model source at a local
optiq serveor a cloud endpoint (any OpenAI-compatible API, key kept in your browser) exactly as in Chat. A capable local quant handles it; a run typically takes several minutes on-device. - Search. Web search and page-fetch run locally — DuckDuckGo plus a fetcher that prefers a paper's full HTML over its PDF, so arXiv sources read cleanly. No search-API key.
- Budget. Rounds, queries per round, sources per query, and report length default lighter for local models so a run stays in the minutes, and can be tuned per request.
- Stop. The run is cancellable; it stops at the next step boundary.