
In developmentgannet is being built in the open and is not released yet.
An open-source deep research agent, built to cite every claim
gannet is an open-source deep research agent being built in C# by DBHQ. It is designed to take a question, plan the research, search the web, weigh each source and write a report in which every claim is cited to a page it actually read.
The rules gannet is built to keep
Every citation points at a page the run fetched
Sources are to get an ID the moment they are fetched. The writer may cite only those IDs, and the merged citation checker removes anything else.
No search result text is written to disk
By design, page text lives in memory for one run. Run records keep the plan, the report and the source list: URL, title and score.
Your model, your search service
A cloud model or a local one, and a choice of search service, picked per run. Ollama with self-hosted SearXNG is planned as the path with no keys.
Four stages, one workflow
gannet is designed to run a question through four stages on Microsoft Agent Framework Workflows, the shape it takes from deep-research-agent (external site). This is what the workflow is being built to do.
- 01
Plan
The main model breaks the question into the searches that would answer it.
- 02
Search
A search agent runs the plan through the search service chosen for the run, and readers fetch each page, falling back to the next reader when a page blocks one.
- 03
Weigh
Each source gets a credibility score from its domain and path, and a fast model pulls the findings out of each page.
- 04
Write
The main model writes the report from the findings, citing source IDs. Unknown IDs are removed, the rest are numbered, and the reference list is set in APA, MLA, Chicago or IEEE.

Already in the code
Citations it cannot make up
A model asked to cite its sources will sometimes cite one it never read. So gannet is designed never to ask the model to number anything. Each source is to get an ID the moment a tool fetches it, S1, S2 and on, and the writer cites those IDs. Then CitationChecker removes any ID the run never fetched, and CitationNumberer turns the rest into numbers and a reference list.
Those two are merged and tested, in src/Gannet.Core/Citations/, with the four reference styles: APA, MLA, Chicago and IEEE. So is the credibility scoring each source will get, in src/Gannet.Core/Credibility/.
Your model, your search service
Keys stay in configuration and the choice is made per run. These are the providers gannet is being built to support. Ollama with a SearXNG instance you host is the path with no keys at all.
Models
- Ollama
- vLLM
- llama.cpp
- OpenAI
- Azure OpenAI
- Anthropic
- Gemini
Search services
- SearXNG
- Tavily
- Brave
- Serper
- Exa
- Firecrawl
- Parallel
- Bright Data
Where the build stands
gannet is built in the open, one reviewed pull request at a time. Nothing here is a promise of a date.
Merged
- The repository, CI and the hosting check
- Citation checking and numbering, in four reference styles
- Credibility scoring, with rules a user can extend
- Report export to Markdown, HTML and text, and run storage
Still to build
- Model and search providers
- The research workflow on Microsoft Agent Framework
- A command line, a REST API and an MCP server
- The web UI, and the guide to hosting it yourself
Guides
Written to be useful whether or not you ever use gannet.
Open-source deep research
The open deep research agents compared: what each searches, what it runs on and how it cites.
Perplexity alternatives
Hosted and self-hosted answer engines, and how to tell whether one is a real replacement.
Source credibility
What makes a source credible, and the methods fact-checkers actually use to judge one.
SearXNG API
Run SearXNG in Docker, turn on its JSON API and use it as a free search API for an agent.
Questions
- Is gannet released?
- Not yet. gannet is being built in the open on GitHub, and this page says what it is being built to do. The core pieces are merged: citation checking, credibility scoring, report export and storage. The search providers, the research workflow and the interfaces come next.
- Is gannet free?
- Yes. gannet is open source under the MIT licence. It is being built to run on your own machine with your own keys, or with no keys at all on a local model through Ollama and a SearXNG instance you host.
- How is it different from ChatGPT or Gemini deep research?
- Those are hosted services that use their own model and their own search. gannet is built to run where you choose, with the model and search service you choose, and to cite only pages the run actually fetched. Anything else is removed before the report is numbered.
- What is gannet built with?
- C# on .NET 10 and Microsoft Agent Framework Workflows, with a Blazor web UI. Models are reached through Microsoft.Extensions.AI, so the provider is configuration rather than code.
- Where does gannet come from?
- It is a rewrite of deep-research-agent by Tarun Sai Goddu, a Python project on LangGraph published under the MIT licence. The four-stage shape and the idea of scoring sources for credibility come from there.